This commit was manufactured by cvs2svn to create tag 'v20080326-1300'.

Sprout from master 2008-03-26 16:11:24 UTC Chris Aniszczyk <caniszczyk> 'https://bugs.eclipse.org/bugs/show_bug.cgi?id=224133'
Cherrypick from master 2008-01-02 15:56:24 UTC Chris Aniszczyk <caniszczyk> 'updated coding conventions and applied formatting rules':
    ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/RequiredPluginsClasspathContainer.java
Delete:
    apitools/org.eclipse.pde.api.tools.tests/.classpath
    apitools/org.eclipse.pde.api.tools.tests/.project
    apitools/org.eclipse.pde.api.tools.tests/.settings/org.eclipse.jdt.core.prefs
    apitools/org.eclipse.pde.api.tools.tests/.settings/org.eclipse.pde.api.tools.prefs
    apitools/org.eclipse.pde.api.tools.tests/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/about.html
    apitools/org.eclipse.pde.api.tools.tests/build.properties
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/ApiBuilderTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/ApiProblem.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/ApiTestingEnvironment.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/AllDeltaTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/AnnotationDeltaTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/BundlesDeltaTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/ClassDeltaTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/DeltaTestSetup.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/EnumDeltaTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/FieldDeltaTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/InterfaceDeltaTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/MethodDeltaTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/MixedTypesDeltaTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/RestrictionsDeltaTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiDescriptionTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiFilterStoreTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiProfileTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ClassFileContainerTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ClassFileScannerTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ComponentManifestTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ElementDescriptorTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ExportComponentTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/StubComponentTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/TagScannerTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/TestSuiteHelper.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/problems/tests/ApiProblemFactoryTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/problems/tests/ApiProblemTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/ClassFileStubTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/DiscouragedAccessTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/SearchEngineTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/SearchScopeTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/AbstractApiTest.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/AllTestSuite.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/ApiToolsPluginTestSuite.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/ApiToolsTestSuite.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/util/FileUtils.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/util/ProjectUtils.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/util/Util.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/AbstractApiEventWaiter.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/ApiDescriptionProcessorTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/ApiProfileManagerTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/JavaModelEventWaiter.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/PluginModelEventWaiter.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/PreferencesTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/ProjectCreationTests.java
    apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/UtilTests.java
    apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/DefA.class
    apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/DefB.class
    apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/ClassA.class
    apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/ClassB$InsideB.class
    apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/ClassB.class
    apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/b/c/ClassC.class
    apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/b/c/ClassD.class
    apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/b/c/InterfaceC.class
    apitools/org.eclipse.pde.api.tools.tests/test-classes/a/b/c/TestMethod10.class
    apitools/org.eclipse.pde.api.tools.tests/test-jars/sample.jar
    apitools/org.eclipse.pde.api.tools.tests/test-manifests/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/test-manifests/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/test-nested-jars/component.a_1.0.0.jar
    apitools/org.eclipse.pde.api.tools.tests/test-plugins/component.a_1.0.0.jar
    apitools/org.eclipse.pde.api.tools.tests/test-plugins/component.b_1.0.0.jar
    apitools/org.eclipse.pde.api.tools.tests/test-plugins/component_c_1.0.0.jar
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass1.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass2.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass3.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass4.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass5.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass6.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass7.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField1.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField2.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField3.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField4.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField5.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField6.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField7.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField8.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField9.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestInterface1.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestInterface2.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestInterface3.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestInterface4.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod1.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod10.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod11.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod12.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod13.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod14.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod15.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod16.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod17.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod18.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod19.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod2.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod20.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod3.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod4.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod5.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod6.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod7.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod8.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod9.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test1.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test10.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test11.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test12.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test13.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test13A.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test2.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test3.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test4.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test5.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test6.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test7.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test8.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test9.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass1.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass2.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass3.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass4.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass5.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass6.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass7.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass8.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/component.jar
    apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/component.xml
    apitools/org.eclipse.pde.api.tools.tests/test-source/x/C1.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/x/C2.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/x/y/C3.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/x/y/z/C4.java
    apitools/org.eclipse.pde.api.tools.tests/test-source/x/y/z/C5.java
    apitools/org.eclipse.pde.api.tools.tests/test-stubs/component.a_1.0.0.jar
    apitools/org.eclipse.pde.api.tools.tests/test-stubs/sample.jar
    apitools/org.eclipse.pde.api.tools.tests/test-xml/.api_description
    apitools/org.eclipse.pde.api.tools.tests/test-xml/.api_filters
    apitools/org.eclipse.pde.api.tools.tests/test-xml/Dummy.class
    apitools/org.eclipse.pde.api.tools.tests/test-xml/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/test-xml/a/b/c/Dummy.class
    apitools/org.eclipse.pde.api.tools.tests/test-xml/a/b/c/internal/Dummy.class
    apitools/org.eclipse.pde.api.tools.tests/test-xml/a/b/c/spi/Dummy.class
    apitools/org.eclipse.pde.api.tools.tests/test.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test1/after/Annot.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test1/before/Annot.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test2/after/Annot.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test2/before/Annot.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test3/after/Annot.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test3/before/Annot.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test4/after/Annot.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test4/before/Annot.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test5/after/Annot.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test5/before/Annot.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test6/after/Annot.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test6/before/Annot.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test7/after/Annot.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test7/before/Annot.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test8/after/Annot.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test8/before/Annot.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test1/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test1/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test1/resources/after/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test1/resources/before/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test2/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test2/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test2/resources/after/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test2/resources/before/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test3/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test3/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test3/resources/after/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test3/resources/before/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test4/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test4/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test4/resources/after/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test4/resources/before/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test5/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test5/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test5/resources/after/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test5/resources/before/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test6/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test6/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test6/resources/after/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test6/resources/before/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test7/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test7/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test7/resources/after/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test7/resources/before/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test8/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test8/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test8/resources/after/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test8/resources/before/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test9/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test9/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test9/resources/after/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test9/resources/before/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test1/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test1/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test10/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test10/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test100/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test100/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test100/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/resources/after/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/resources/after/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/resources/before/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/resources/after/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/resources/after/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/resources/before/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/resources/before/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/resources/after/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/resources/after/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/resources/before/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test104/after/p/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test104/before/p/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test104/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test105/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test105/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test105/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test106/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test106/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test106/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test107/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test107/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test107/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test108/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test108/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test108/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test109/after/p/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test109/before/p/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test109/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test11/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test11/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test110/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test110/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test110/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test111/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test111/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test111/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test112/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test112/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test112/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test12/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test12/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test13/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test13/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test14/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test14/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test15/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test15/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test16/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test16/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test17/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test17/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test18/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test18/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test19/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test19/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test2/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test2/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test20/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test20/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test21/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test21/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test22/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test22/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test23/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test23/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test24/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test24/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test25/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test25/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test26/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test26/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test27/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test27/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test28/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test28/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test29/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test29/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test3/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test3/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test30/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test30/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test31/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test31/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test32/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test32/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test33/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test33/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test34/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test34/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test35/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test35/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test36/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test36/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test37/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test37/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test38/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test38/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test39/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test39/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test4/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test4/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test40/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test40/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test41/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test41/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test42/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test42/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test43/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test43/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test44/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test44/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test45/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test45/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test46/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test46/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test47/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test47/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test48/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test48/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test49/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test49/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test5/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test5/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/after/p/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/after/p/Y.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/after/p/Z.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/before/p/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/before/p/Y.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/before/p/Z.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/after/p/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/after/p/Y.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/after/p/Z.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/before/p/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/before/p/Y.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/before/p/Z.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test52/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test52/after/J.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test52/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test52/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test52/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test53/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test53/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test54/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test54/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test55/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test55/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test56/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test56/after/Y.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test56/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test56/before/Y.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test57/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test57/after/Y.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test57/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test57/before/Y.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test58/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test58/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test59/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test59/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test6/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test6/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test60/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test60/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test61/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test61/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test62/after/p/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test62/before/p/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test62/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test63/after/p/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test63/before/p/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test63/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test64/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test64/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test65/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test65/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test66/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test66/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test67/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test67/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test68/after/p/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test68/before/p/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test68/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test69/after/p/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test69/before/p/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test69/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test7/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test7/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test70/after/p/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test70/before/p/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test71/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test71/after/Y.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test71/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test71/before/Y.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test72/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test72/after/Y.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test72/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test72/before/Y.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test73/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test73/after/Y.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test73/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test73/before/Y.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test73/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test74/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test74/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test74/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test75/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test75/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test75/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test76/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test76/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test77/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test77/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test78/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test78/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/after/Y.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/after/Z.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/before/Y.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/before/Z.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test8/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test8/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/after/Y.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/after/Z.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/before/Y.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/before/Z.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test81/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test81/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test82/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test82/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test83/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test83/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test84/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test84/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test85/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test85/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test86/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test86/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test87/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test87/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test88/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test88/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test89/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test89/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test9/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test9/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test90/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test90/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test91/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test91/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test91/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test92/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test92/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test92/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test93/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test93/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test93/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test94/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test94/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test94/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test95/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test95/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test95/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test96/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test96/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test96/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test97/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test97/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test97/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test97/before/J.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test97/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test98/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test98/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test98/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test98/before/J.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test98/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/after/Y.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/after/Z.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/before/Y.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/before/Z.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test1/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test1/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test2/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test2/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test3/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test3/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test4/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test4/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test5/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test5/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test6/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test6/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test7/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test7/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test8/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test8/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test1/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test1/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test10/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test10/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test11/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test11/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test12/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test12/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test13/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test13/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test14/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test14/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test15/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test15/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test16/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test16/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test17/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test17/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test18/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test18/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test19/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test19/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test2/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test2/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test20/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test20/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test21/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test21/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test22/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test22/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test23/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test23/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test24/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test24/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test25/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test25/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test26/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test26/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test27/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test27/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test28/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test28/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test28/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test29/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test29/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test3/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test3/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test30/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test30/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test31/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test31/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test32/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test32/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test33/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test33/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test34/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test34/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test35/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test35/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test36/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test36/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test36/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test37/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test37/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test4/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test4/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test5/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test5/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test6/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test6/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test7/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test7/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test8/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test8/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test9/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test9/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test1/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test1/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test10/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test10/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test11/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test11/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test12/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test12/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test13/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test13/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test14/after/p/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test14/before/p/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test14/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test15/after/p/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test15/before/p/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test15/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test16/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test16/after/J.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test16/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test16/before/J.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test16/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test17/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test17/after/J.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test17/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test17/before/J.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test17/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test18/after/p/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test18/before/p/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test18/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test19/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test19/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test19/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test2/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test2/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test20/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test20/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test20/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test21/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test21/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test21/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test22/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test22/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test22/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test23/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test23/after/J.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test23/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test23/before/J.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test3/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test3/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test4/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test4/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test5/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test5/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test6/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test6/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test7/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test7/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test8/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test8/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test9/after/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test9/before/I.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test1/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test1/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test10/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test10/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test11/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test11/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test12/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test12/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test13/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test13/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test14/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test14/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test15/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test15/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test16/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test16/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test17/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test17/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test18/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test18/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test19/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test19/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test2/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test2/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test20/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test20/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test21/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test21/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test22/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test22/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test23/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test23/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test24/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test24/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test25/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test25/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test26/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test26/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test27/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test27/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test28/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test28/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test29/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test29/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test3/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test3/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test30/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test30/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test31/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test31/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test32/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test32/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test33/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test33/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test34/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test34/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test35/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test35/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test36/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test36/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test37/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test37/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test38/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test38/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test39/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test39/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test4/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test4/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test40/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test40/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test41/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test41/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test42/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test42/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test43/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test43/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test44/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test44/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test45/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test45/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test46/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test46/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test46/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test47/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test47/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test48/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test48/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test49/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test49/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test5/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test5/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test50/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test50/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test50/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test51/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test51/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test51/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test52/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test52/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test52/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test53/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test53/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test53/resources/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test54/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test54/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test6/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test6/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test7/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test7/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test8/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test8/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test9/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test9/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test1/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test1/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test10/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test10/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test11/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test11/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test12/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test12/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test2/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test2/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test3/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test3/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test4/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test4/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test5/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test5/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test6/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test6/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test7/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test7/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test8/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test8/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test9/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test9/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/resources/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/restrictions/test1/after/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/restrictions/test1/before/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/restrictions/test1/resources/after/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/restrictions/test1/resources/before/component.xml
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test1/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test1/X2.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test2/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test2/X2.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test3/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test3/X2.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test4/X.java
    apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test4/X2.java
    apitools/org.eclipse.pde.api.tools.ui/.classpath
    apitools/org.eclipse.pde.api.tools.ui/.project
    apitools/org.eclipse.pde.api.tools.ui/.settings/org.eclipse.jdt.core.prefs
    apitools/org.eclipse.pde.api.tools.ui/.settings/org.eclipse.pde.prefs
    apitools/org.eclipse.pde.api.tools.ui/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools.ui/about.html
    apitools/org.eclipse.pde.api.tools.ui/build.properties
    apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/api_tools.gif
    apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/bundleversion.gif
    apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/category_menu.gif
    apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/collect_apis.gif
    apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/collect_references.gif
    apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/collect_users.gif
    apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/compare_apis.gif
    apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/eclipse_profile.gif
    apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/extract_references.gif
    apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/frgmt_obj.gif
    apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/library_obj.gif
    apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/plugin_obj.gif
    apitools/org.eclipse.pde.api.tools.ui/icons/full/ovr16/error_ovr.gif
    apitools/org.eclipse.pde.api.tools.ui/icons/full/ovr16/success_ovr.gif
    apitools/org.eclipse.pde.api.tools.ui/icons/full/wizban/profile_wiz.png
    apitools/org.eclipse.pde.api.tools.ui/plugin.properties
    apitools/org.eclipse.pde.api.tools.ui/plugin.xml
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/ApiImageDescriptor.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/ApiToolsLabelProvider.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/ApiUIPlugin.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/IApiToolsConstants.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/IApiToolsHelpContextIds.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/Messages.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/PixelConverter.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/SWTFactory.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/actions/ActionMessages.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/actions/ApiToolingSetupObjectContribution.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/actions/actionmessages.properties
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/completion/APIToolsJavadocCompletionProposal.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/completion/APIToolsJavadocCompletionProposalComputer.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/ApiMarkerResolutionGenerator.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/CreateApiFilterOperation.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/DefaultApiProfileResolution.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/FilterProblemResolution.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/MarkerMessages.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/SinceTagResolution.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/UpdateBundleVersionOperation.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/UpdateSinceTagOperation.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/VersionNumberingResolution.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/markermessages.properties
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/messages.properties
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiErrorsWarningsConfigurationBlock.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiErrorsWarningsPreferencePage.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiProfilesConfigurationBlock.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiProfilesPreferencePage.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/PreferenceMessages.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ProjectSelectionDialog.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/preferencemessages.properties
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/properties/ApiErrorsWarningsPropertyPage.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/properties/ApiFiltersPropertyPage.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/properties/PropertiesMessages.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/properties/propertiesmessages.properties
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/stubs/ConverterUI.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/stubs/Messages.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/stubs/messages.properties
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiProfileWizard.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiProfileWizardPage.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiToolingSetupRefactoring.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiToolingSetupWizard.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiToolingSetupWizardPage.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ProjectUpdateChange.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/WizardMessages.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/AnalyzeCompatibilityAction.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/CompatibilityResultsPage.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/CompatibleVersionsWizard.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/Messages.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/SelectBundlesPage.java
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/messages.properties
    apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/wizardmessages.properties
    apitools/org.eclipse.pde.api.tools/.classpath
    apitools/org.eclipse.pde.api.tools/.cvsignore
    apitools/org.eclipse.pde.api.tools/.options
    apitools/org.eclipse.pde.api.tools/.project
    apitools/org.eclipse.pde.api.tools/.settings/org.eclipse.jdt.core.prefs
    apitools/org.eclipse.pde.api.tools/META-INF/MANIFEST.MF
    apitools/org.eclipse.pde.api.tools/about.html
    apitools/org.eclipse.pde.api.tools/build.properties
    apitools/org.eclipse.pde.api.tools/buildnotes_api_tools.html
    apitools/org.eclipse.pde.api.tools/doc/readme.txt
    apitools/org.eclipse.pde.api.tools/doc/references.dtd
    apitools/org.eclipse.pde.api.tools/plugin.properties
    apitools/org.eclipse.pde.api.tools/plugin.xml
    apitools/org.eclipse.pde.api.tools/report/format.xslt
    apitools/org.eclipse.pde.api.tools/report/style.css
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/AbstractApiComponent.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/AbstractClassFile.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/AbstractClassFileContainer.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/AnyValue.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiAnnotations.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiDescription.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiDescriptionManager.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiFilterStore.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiJavadocTag.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiPluginPreferenceInitializer.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiProfile.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiProfileManager.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiSettingsXmlVisitor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ArchiveClassFileContainer.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/BundleApiComponent.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/BundleVersionRange.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/CompilationUnit.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ComponentManifest.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/CompositeApiDescription.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/CompositeClassFileContainer.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/CoreMessages.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/DirectoryClassFileContainer.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/IApiCoreConstants.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/IApiXmlConstants.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/JavadocTagManager.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/PluginProjectApiComponent.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ProjectApiDescription.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/RequiredComponentDescription.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ResourceClassFile.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/SourceFolderClassFileContainer.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/SystemLibraryApiComponent.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiAnalysisBuilder.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiProblemReporter.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiUseAnalyzer.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/BuilderMessages.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/SinceTagChecker.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/buildermessages.properties
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/ClassFileComparator.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/ClassFileDescriptorBuilder.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/Delta.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/DeltaXmlVisitor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/ElementDescriptor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/FieldDescriptor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/MemberTypeDescriptor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/MethodDescriptor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/SignatureDecoder.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/SignatureDescriptor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/TypeDescriptor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/TypeParameterDescriptor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/coremessages.properties
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/ArrayDescriptorImpl.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/ElementDescriptorImpl.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/FieldDescriptorImpl.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/MemberDescriptorImpl.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/MethodDescriptorImpl.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/NamedElementDescriptorImpl.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/PackageDescriptorImpl.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/PrimitiveDescriptorImpl.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/ReferenceTypeDescriptorImpl.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/ResourceDescriptorImpl.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/natures/ApiToolProjectNature.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/problems/ApiProblem.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/problems/ApiProblemFactory.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/problems/ApiProblemFilter.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/problems/problemmessages.properties
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/ApiDescriptionVisitor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/ApiPlugin.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/ClassFileContainerVisitor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/Factory.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiAnnotations.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiComponent.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiDescription.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiFilterStore.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiJavadocTag.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiMarkerConstants.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiProfile.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiProfileManager.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IClassFile.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IClassFileContainer.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IRequiredComponentDescription.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IVersionRange.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/RestrictionModifiers.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/VisibilityModifiers.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/builder/IApiProblemReporter.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/ApiComparator.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/Compare.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/DeltaProcessor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/DeltaVisitor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/IDelta.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IArrayTypeDescriptor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IElementDescriptor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IFieldDescriptor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IMemberDescriptor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IMethodDescriptor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IPackageDescriptor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IPrimitiveTypeDescriptor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IReferenceTypeDescriptor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IResourceDescriptor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/ITypeDescriptor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/problems/IApiProblem.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/problems/IApiProblemFilter.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/problems/IApiProblemTypes.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/ApiDescriptionProcessor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/ScannerMessages.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/ScannerMessages.properties
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/TagScanner.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/IApiSearchCriteria.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/IApiSearchEngine.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/IApiSearchResult.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/IApiSearchScope.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/ILocation.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/IReference.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/ReferenceModifiers.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/stubs/Converter.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/ApiSearchResult.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/ClassFileScanner.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/ClassFileVisitor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/LRUMap.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/Location.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/MethodExtractor.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/Reference.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/ScopedClassFileContainer.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/SearchCriteria.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/SearchEngine.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/SearchMessages.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/SearchScope.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/TypeScope.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/XMLFactory.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/searchmessages.properties
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/tools/ApiExtractorAdapter.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/tools/JREApiCollector.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/tools/Messages.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/tools/messages.properties
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/ClassVisitorAdapter.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/HashtableOfInt.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/SDKTesterCreator.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/SinceTagVersion.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/SourceDefaultHandler.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/Util.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/UtilMessages.java
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/CDC-1.0_Foundation-1.0.profile
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/CDC-1.1_Foundation-1.1.profile
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/J2SE-1.2.profile
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/J2SE-1.3.profile
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/J2SE-1.4.profile
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/J2SE-1.5.profile
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/JRE-1.1.profile
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/JavaSE-1.6.profile
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/OSGi_Minimum-1.0.profile
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/OSGi_Minimum-1.1.profile
    apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/utilmessages.properties
    apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/ApiFileGeneratorTask.java
    apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/CompareProfilesTask.java
    apitools/org.eclipse.pde.api.tools/xml/api_description.xsd
    apitools/org.eclipse.pde.api.tools/xml/api_filters.xsd
    apitools/org.eclipse.pde.api.tools/xml/api_profile.xsd
    ds/org.eclipse.pde.ds.core/.classpath
    ds/org.eclipse.pde.ds.core/.project
    ds/org.eclipse.pde.ds.core/.settings/org.eclipse.jdt.core.prefs
    ds/org.eclipse.pde.ds.core/.settings/org.eclipse.pde.prefs
    ds/org.eclipse.pde.ds.core/META-INF/MANIFEST.MF
    ds/org.eclipse.pde.ds.core/build.properties
    ds/org.eclipse.pde.ds.core/plugin.properties
    ds/org.eclipse.pde.ds.core/plugin.xml
    ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/Activator.java
    ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/IDSConstants.java
    ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSDocumentFactory.java
    ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSDocumentHandler.java
    ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSImplementation.java
    ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSModel.java
    ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSObject.java
    ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSProperties.java
    ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSProperty.java
    ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSProvide.java
    ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSReference.java
    ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSRoot.java
    ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSService.java
    ds/org.eclipse.pde.ds.tests/.classpath
    ds/org.eclipse.pde.ds.tests/.project
    ds/org.eclipse.pde.ds.tests/.settings/org.eclipse.jdt.core.prefs
    ds/org.eclipse.pde.ds.tests/META-INF/MANIFEST.MF
    ds/org.eclipse.pde.ds.tests/build.properties
    ds/org.eclipse.pde.ds.tests/plugin.properties
    ds/org.eclipse.pde.ds.tests/src/org/eclipse/pde/internal/ds/tests/AbstractDSModelTestCase.java
    ds/org.eclipse.pde.ds.tests/src/org/eclipse/pde/internal/ds/tests/Activator.java
    ds/org.eclipse.pde.ds.tests/src/org/eclipse/pde/internal/ds/tests/AllDSModelTests.java
    ds/org.eclipse.pde.ds.tests/src/org/eclipse/pde/internal/ds/tests/DSRootTestCase.java
    ds/org.eclipse.pde.ds.tests/src/org/eclipse/pde/internal/ds/tests/DSServiceTestCase.java
    ds/org.eclipse.pde.ds.ui/.classpath
    ds/org.eclipse.pde.ds.ui/.project
    ds/org.eclipse.pde.ds.ui/.settings/org.eclipse.jdt.core.prefs
    ds/org.eclipse.pde.ds.ui/META-INF/MANIFEST.MF
    ds/org.eclipse.pde.ds.ui/build.properties
    ds/org.eclipse.pde.ds.ui/src/org/eclipse/pde/ds/ui/Activator.java
    ui/org.eclipse.pde.junit.runtime/.classpath
    ui/org.eclipse.pde.junit.runtime/.cvsignore
    ui/org.eclipse.pde.junit.runtime/.project
    ui/org.eclipse.pde.junit.runtime/.settings/org.eclipse.jdt.core.prefs
    ui/org.eclipse.pde.junit.runtime/.settings/org.eclipse.jdt.ui.prefs
    ui/org.eclipse.pde.junit.runtime/.settings/org.eclipse.pde.prefs
    ui/org.eclipse.pde.junit.runtime/META-INF/MANIFEST.MF
    ui/org.eclipse.pde.junit.runtime/about.html
    ui/org.eclipse.pde.junit.runtime/build.properties
    ui/org.eclipse.pde.junit.runtime/plugin.properties
    ui/org.eclipse.pde.junit.runtime/plugin.xml
    ui/org.eclipse.pde.junit.runtime/src/org/eclipse/pde/internal/junit/runtime/CoreTestApplication.java
    ui/org.eclipse.pde.junit.runtime/src/org/eclipse/pde/internal/junit/runtime/LegacyUITestApplication.java
    ui/org.eclipse.pde.junit.runtime/src/org/eclipse/pde/internal/junit/runtime/RemotePluginTestRunner.java
    ui/org.eclipse.pde.junit.runtime/src/org/eclipse/pde/internal/junit/runtime/UITestApplication.java
    ui/org.eclipse.pde.runtime/.classpath
    ui/org.eclipse.pde.runtime/.cvsignore
    ui/org.eclipse.pde.runtime/.project
    ui/org.eclipse.pde.runtime/.settings/org.eclipse.core.resources.prefs
    ui/org.eclipse.pde.runtime/.settings/org.eclipse.jdt.core.prefs
    ui/org.eclipse.pde.runtime/.settings/org.eclipse.jdt.ui.prefs
    ui/org.eclipse.pde.runtime/.settings/org.eclipse.pde.prefs
    ui/org.eclipse.pde.runtime/META-INF/MANIFEST.MF
    ui/org.eclipse.pde.runtime/about.html
    ui/org.eclipse.pde.runtime/build.properties
    ui/org.eclipse.pde.runtime/icons/dlcl16/refresh.gif
    ui/org.eclipse.pde.runtime/icons/elcl16/collapseall.gif
    ui/org.eclipse.pde.runtime/icons/elcl16/cpyqual_menu.gif
    ui/org.eclipse.pde.runtime/icons/elcl16/refresh.gif
    ui/org.eclipse.pde.runtime/icons/eview16/horizontal_view.gif
    ui/org.eclipse.pde.runtime/icons/eview16/registry.gif
    ui/org.eclipse.pde.runtime/icons/eview16/vertical_view.gif
    ui/org.eclipse.pde.runtime/icons/obj16/attr_xml_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/bundle-exporter.gif
    ui/org.eclipse.pde.runtime/icons/obj16/bundle-importer-exporter.gif
    ui/org.eclipse.pde.runtime/icons/obj16/bundle-importer.gif
    ui/org.eclipse.pde.runtime/icons/obj16/class_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/contextid_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/error_st_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/error_stack.gif
    ui/org.eclipse.pde.runtime/icons/obj16/ext_point_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/ext_points_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/extension_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/extensions_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/generic_xml_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/info_st_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/int_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/java_lib_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/location_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/menu_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/menuspy_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/ok_st_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/pdespy_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/plugin_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/req_plugin_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/req_plugins_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/runtime_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/save_image_as_obj.gif
    ui/org.eclipse.pde.runtime/icons/obj16/warning_st_obj.gif
    ui/org.eclipse.pde.runtime/icons/ovr16/error_co.gif
    ui/org.eclipse.pde.runtime/icons/ovr16/export_co.gif
    ui/org.eclipse.pde.runtime/icons/ovr16/run_co.gif
    ui/org.eclipse.pde.runtime/plugin.properties
    ui/org.eclipse.pde.runtime/plugin.xml
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/IHelpContextIds.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/MessageHelper.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/OverlayIcon.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/PDERuntimeMessages.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/PDERuntimePlugin.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/PDERuntimePluginImages.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/pderuntimeresources.properties
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/ConfigurationAttributeAdapter.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/ConfigurationElementAdapter.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/DiagnosticsDialog.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/ExtensionAdapter.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/ExtensionPointAdapter.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/IBundleFolder.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/IBundleLibrary.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/IBundlePrerequisite.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/IConfigurationAttribute.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/ParentAdapter.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/PluginObjectAdapter.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowser.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserContentProvider.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserLabelProvider.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserListener.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryFilteredTree.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/SpyFormToolkit.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/SpyIDEUtil.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/dialogs/SpyDialog.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/handlers/SpyHandler.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActiveDialogPageSection.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActiveHelpSection.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActivePartSection.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActiveSelectionSection.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActiveShellSection.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActiveWizardSection.java
    ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ISpySection.java
    ui/org.eclipse.pde.ui.templates/.classpath
    ui/org.eclipse.pde.ui.templates/.cvsignore
    ui/org.eclipse.pde.ui.templates/.project
    ui/org.eclipse.pde.ui.templates/.settings/org.eclipse.core.resources.prefs
    ui/org.eclipse.pde.ui.templates/.settings/org.eclipse.jdt.core.prefs
    ui/org.eclipse.pde.ui.templates/.settings/org.eclipse.jdt.ui.prefs
    ui/org.eclipse.pde.ui.templates/.settings/org.eclipse.pde.prefs
    ui/org.eclipse.pde.ui.templates/META-INF/MANIFEST.MF
    ui/org.eclipse.pde.ui.templates/about.html
    ui/org.eclipse.pde.ui.templates/branding/bin/splash.bmp
    ui/org.eclipse.pde.ui.templates/build.properties
    ui/org.eclipse.pde.ui.templates/icons/etool16/newex_wiz.gif
    ui/org.eclipse.pde.ui.templates/icons/etool16/newexprj_wiz.gif
    ui/org.eclipse.pde.ui.templates/plugin.properties
    ui/org.eclipse.pde.ui.templates/plugin.xml
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/Activator.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/IHelpContextIds.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/PDETemplateMessages.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/PDETemplateSection.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/BaseEditorTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/BuilderNewWizard.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/BuilderTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/DecoratorTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/EditorNewWizard.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/EditorTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelloWorldCmdNewWizard.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelloWorldCmdTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelloWorldNewWizard.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelloWorldTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelpNewWizard.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelpTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/ImportWizardTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/MultiPageEditorNewWizard.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/MultiPageEditorTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/NewWizardTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PerspectiveTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PopupMenuNewWizard.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PopupMenuTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PreferencePageTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PropertyPageNewWizard.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PropertyPageTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/SplashHandlersTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/UniversalWelcomeTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/ViewNewWizard.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/ViewTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/HelloOSGiNewWizard.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/HelloOSGiServiceNewWizard.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/HelloOSGiServiceTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/HelloOSGiTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/OSGiPreferencesServiceNewWizard.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/OSGiPreferencesServiceTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/OSGiSimpleLogServiceNewWizard.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/OSGiSimpleLogServiceTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/pderesources.properties
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/HelloNonUIRCPNewWizard.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/HelloNonUIRCPTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/HelloRCPNewWizard.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/HelloRCPTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/IntroNewWizard.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/IntroTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/MailNewWizard.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/MailTemplate.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/ViewRCPNewWizard.java
    ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/ViewRCPTemplate.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/OSGiPreferencesService/java/$activator$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/OSGiSimpleLogService/java/$activator$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/OSGiSimpleLogService/java/SimpleLogService.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/OSGiSimpleLogService/java/SimpleLogServiceImpl.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/builder/java/$builderClassName$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/builder/java/$natureClassName$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/builder/java/ToggleNatureAction.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/decorator/bin/icons/read_only.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/decorator/bin/icons/sample_decorator.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/decorator/java/$decoratorClassName$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/editor/bin/icons/sample.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/$editorClass$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/ColorManager.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/IXMLColorConstants.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/NonRuleBasedDamagerRepairer.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/TagRule.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLConfiguration.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLDocumentProvider.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLDoubleClickStrategy.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLPartitionScanner.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLScanner.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLTagScanner.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLWhitespaceDetector.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/helloNonUIRCP/java/$applicationClass$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/helloOSGi/java/$activator$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/helloOSGiService/java/$activator$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/helloOSGiService/java/HelloService.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/helloOSGiService/java/HelloServiceImpl.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/helloRCP/bin/icons/alt_window_16.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/helloRCP/bin/icons/alt_window_32.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/helloRCP/java/$applicationClass$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/helloRCP/java/ApplicationWorkbenchAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/helloRCP/java/Perspective.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/helloWorld/bin/icons/sample.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/helloWorld/java/$className$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/concepts/maintopic.html
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/concepts/subtopic.html
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/concepts/subtopic2.html
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/gettingstarted/maintopic.html
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/gettingstarted/subtopic.html
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/gettingstarted/subtopic2.html
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/maintopic.html
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/reference/maintopic.html
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/reference/subtopic.html
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/reference/subtopic2.html
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/samples/maintopic.html
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/samples/subtopic.html
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/samples/subtopic2.html
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/subtopic.html
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/tasks/maintopic.html
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/tasks/subtopic.html
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/tasks/subtopic2.html
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/toc.html
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/tocconcepts.xml
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/tocgettingstarted.xml
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/tocreference.xml
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/tocsamples.xml
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/toctasks.xml
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/testToc.xml
    ui/org.eclipse.pde.ui.templates/templates_3.0/help/toc.xml
    ui/org.eclipse.pde.ui.templates/templates_3.0/importWizard/bin/icons/sample.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/importWizard/java/$wizardClassName$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/importWizard/java/$wizardPageClassName$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/intro/bin/content/link_obj.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/intro/bin/content/titlebanner.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/intro/bin/icons/alt_window_16.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/intro/bin/icons/alt_window_32.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/intro/content/root.css
    ui/org.eclipse.pde.ui.templates/templates_3.0/intro/content/shared.css
    ui/org.eclipse.pde.ui.templates/templates_3.0/intro/ext.xml
    ui/org.eclipse.pde.ui.templates/templates_3.0/intro/introContent.xml
    ui/org.eclipse.pde.ui.templates/templates_3.0/intro/java/Application.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/intro/java/ApplicationWorkbenchAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/intro/java/DynamicContentProvider.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/intro/java/Perspective.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/icons/mail.ico
    ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/icons/sample.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/icons/sample.icns
    ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/icons/sample2.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/icons/sample3.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/product_lg.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/$applicationClass$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/ApplicationWorkbenchAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/ICommandIds.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/MessagePopupAction.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/NavigationView.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/OpenViewAction.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/Perspective.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/View.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/multiPageEditor/bin/icons/sample.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/multiPageEditor/java/$contributorClassName$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/multiPageEditor/java/$editorClassName$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/newWizard/bin/icons/sample.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/newWizard/java/$wizardClassName$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/newWizard/java/$wizardPageClassName$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/perspective/bin/icons/releng_gears.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/perspective/java/$perspectiveClassName$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/popupMenus/java/$actionClass$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/preferences/java/$pageClassName$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/preferences/java/PreferenceConstants.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/preferences/java/PreferenceInitializer.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/propertyPages/java/$className$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/view/bin/icons/sample.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/view/contexts.xml
    ui/org.eclipse.pde.ui.templates/templates_3.0/view/java/$className$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/bin/icons/alt_window_16.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/bin/icons/alt_window_32.gif
    ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/java/$applicationClass$.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/java/ApplicationWorkbenchAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/java/Perspective.java
    ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/java/View.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/editor/bin/icons/sample.gif
    ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/$editorClass$.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/ColorManager.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/IXMLColorConstants.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/NonRuleBasedDamagerRepairer.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/TagRule.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLConfiguration.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLDocumentProvider.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLDoubleClickStrategy.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLPartitionScanner.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLScanner.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLTagScanner.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLWhitespaceDetector.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_about.gif
    ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_launcher.icns
    ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_launcher.ico
    ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_launcher.xpm
    ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_window_16.gif
    ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_window_32.gif
    ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/java/$applicationClass$.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/java/ApplicationActionBarAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/java/ApplicationWorkbenchAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/java/ApplicationWorkbenchWindowAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/java/Perspective.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/intro/bin/content/link_obj.gif
    ui/org.eclipse.pde.ui.templates/templates_3.1/intro/bin/content/titlebanner.gif
    ui/org.eclipse.pde.ui.templates/templates_3.1/intro/bin/icons/alt_window_16.gif
    ui/org.eclipse.pde.ui.templates/templates_3.1/intro/bin/icons/alt_window_32.gif
    ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/concept1.xhtml
    ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/concept2.xhtml
    ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/concept3.xhtml
    ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/extContent.xhtml
    ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/root.css
    ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/root.xhtml
    ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/shared.css
    ui/org.eclipse.pde.ui.templates/templates_3.1/intro/ext.xml
    ui/org.eclipse.pde.ui.templates/templates_3.1/intro/introContent.xml
    ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/Application.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/ApplicationActionBarAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/ApplicationWorkbenchAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/ApplicationWorkbenchWindowAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/DynamicContentProvider.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/Perspective.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/icons/mail.ico
    ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/icons/sample.gif
    ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/icons/sample.icns
    ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/icons/sample2.gif
    ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/icons/sample3.gif
    ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/product_lg.gif
    ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/$applicationClass$.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/ApplicationActionBarAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/ApplicationWorkbenchAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/ApplicationWorkbenchWindowAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/ICommandIds.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/MessagePopupAction.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/NavigationView.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/OpenViewAction.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/Perspective.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/View.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/bin/icons/alt_window_16.gif
    ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/bin/icons/alt_window_32.gif
    ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/$applicationClass$.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/ApplicationActionBarAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/ApplicationWorkbenchAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/ApplicationWorkbenchWindowAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/Perspective.java
    ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/View.java
    ui/org.eclipse.pde.ui.templates/templates_3.2/universalWelcome/$introDir$/css/sample.css
    ui/org.eclipse.pde.ui.templates/templates_3.2/universalWelcome/$introDir$/sample.xml
    ui/org.eclipse.pde.ui.templates/templates_3.2/universalWelcome/bin/$introDir$/css/graphics/sample.gif
    ui/org.eclipse.pde.ui.templates/templates_3.2/universalWelcome/bin/$introDir$/css/graphics/sample_hov.gif
    ui/org.eclipse.pde.ui.templates/templates_3.3/helloNonUIRCP/java/$applicationClass$.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_about.gif
    ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_launcher.icns
    ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_launcher.ico
    ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_launcher.xpm
    ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_window_16.gif
    ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_window_32.gif
    ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/$applicationClass$.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/ApplicationActionBarAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/ApplicationWorkbenchAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/ApplicationWorkbenchWindowAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/Perspective.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/helloWorldCmd/bin/icons/sample.gif
    ui/org.eclipse.pde.ui.templates/templates_3.3/helloWorldCmd/java/$className$.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/intro/bin/content/link_obj.gif
    ui/org.eclipse.pde.ui.templates/templates_3.3/intro/bin/content/titlebanner.gif
    ui/org.eclipse.pde.ui.templates/templates_3.3/intro/bin/icons/alt_window_16.gif
    ui/org.eclipse.pde.ui.templates/templates_3.3/intro/bin/icons/alt_window_32.gif
    ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/concept1.xhtml
    ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/concept2.xhtml
    ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/concept3.xhtml
    ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/extContent.xhtml
    ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/root.css
    ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/root.xhtml
    ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/shared.css
    ui/org.eclipse.pde.ui.templates/templates_3.3/intro/ext.xml
    ui/org.eclipse.pde.ui.templates/templates_3.3/intro/introContent.xml
    ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/Application.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/ApplicationActionBarAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/ApplicationWorkbenchAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/ApplicationWorkbenchWindowAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/DynamicContentProvider.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/Perspective.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/icons/mail.ico
    ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/icons/sample.gif
    ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/icons/sample.icns
    ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/icons/sample2.gif
    ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/icons/sample3.gif
    ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/product_lg.gif
    ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/$applicationClass$.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/ApplicationActionBarAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/ApplicationWorkbenchAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/ApplicationWorkbenchWindowAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/ICommandIds.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/MessagePopupAction.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/NavigationView.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/OpenViewAction.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/Perspective.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/View.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/bin/icons/af.png
    ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/bin/icons/embedded.png
    ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/bin/icons/enterprise.png
    ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/bin/icons/languages.png
    ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/bin/icons/rcp.png
    ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/java/BrowserSplashHandler.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/java/ExtensibleSplashHandler.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/java/InteractiveSplashHandler.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/schema/splashExtension.exsd
    ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/bin/icons/alt_window_16.gif
    ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/bin/icons/alt_window_32.gif
    ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/$applicationClass$.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/ApplicationActionBarAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/ApplicationWorkbenchAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/ApplicationWorkbenchWindowAdvisor.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/Perspective.java
    ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/View.java
    ui/org.eclipse.pde.ui.tests/.classpath
    ui/org.eclipse.pde.ui.tests/.cvsignore
    ui/org.eclipse.pde.ui.tests/.project
    ui/org.eclipse.pde.ui.tests/.settings/org.eclipse.jdt.core.prefs
    ui/org.eclipse.pde.ui.tests/.settings/org.eclipse.jdt.ui.prefs
    ui/org.eclipse.pde.ui.tests/.settings/org.eclipse.pde.prefs
    ui/org.eclipse.pde.ui.tests/META-INF/MANIFEST.MF
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/AbstractStructuredCommand.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/BooleanSelectionCommand.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/CheckCommand.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/ChoiceSelectionCommand.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/CommandTarget.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/EditorCommandTarget.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/ExpansionCommand.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/FocusCommand.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/IIndexHandler.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/IPlayable.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/IRecorderListener.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/IWidgetResolver.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/IWritable.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/KeyCommand.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/Macro.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroCommand.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroCommandShell.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroIndex.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroInstruction.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroManager.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroPlugin.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroUtil.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/ModifyCommand.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/StructuredSelectionCommand.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/ToggleStructuredCommand.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/ViewCommandTarget.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/WaitCommand.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/WidgetIdentifier.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/WindowCommandTarget.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/WizardCommandTarget.java
    ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/XMLDefaultHandler.java
    ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/DefaultIndexHandler.java
    ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/DefaultWidgetResolver.java
    ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/IndexAction.java
    ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/IndexPage.java
    ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/IndexWizard.java
    ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/NewMacroWizard.java
    ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/PlaybackAction.java
    ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/RecordAction.java
    ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/RecordBlock.java
    ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/StopAction.java
    ui/org.eclipse.pde.ui.tests/about.html
    ui/org.eclipse.pde.ui.tests/build.properties
    ui/org.eclipse.pde.ui.tests/icons/external_tools.gif
    ui/org.eclipse.pde.ui.tests/icons/run_exc.gif
    ui/org.eclipse.pde.ui.tests/icons/sample.gif
    ui/org.eclipse.pde.ui.tests/icons/suspend_co.gif
    ui/org.eclipse.pde.ui.tests/icons/terminate_co.gif
    ui/org.eclipse.pde.ui.tests/plugin.xml
    ui/org.eclipse.pde.ui.tests/schema/macroSupport.exsd
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/AllPDETests.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/NewProjectTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/PDETestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/AllImportTests.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/BaseImportTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/ImportAsBinaryTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/ImportAsSourceTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/ImportFeatureProjectsTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/ImportWithLinksTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/AllBundleModelTests.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleActivatorTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleClasspathTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleLocalizationTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleModelTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleNameTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleSymbolicNameTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleVendorTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleVersionTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/ExecutionEnvironmentTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/ExportPackageTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/FragmentHostTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/ImportPackageTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/LazyStartTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/MultiLineHeaderTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/PackageHeaderTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/RequireBundleTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/cheatsheet/AbstractCheatSheetModelTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/cheatsheet/AllCheatSheetModelTests.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/cheatsheet/SimpleCSIntroTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/schema/AllSchemaModelTests.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/AllXMLModelTests.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/BasicXMLTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/ExtensionAttributeTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/ExtensionElementTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/ExtensionTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/StructureXMLModelTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/SwapXMLModelTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/XMLModelTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/PDEPerformanceTests.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/parts/AbstractSchemaPerfTest.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/parts/InitializeModelsPerfTest.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/parts/OpenManifestEditorPerfTest.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/parts/SchemaLoaderPerfTest.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/parts/SchemaTraversePerfTest.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/AllTargetTests.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/TargetEnvironmentTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/util/xml/ALLXMLUtilTests.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/util/xml/ParserWrapperTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/wizards/AllNewProjectTests.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/wizards/ConvertProjectToPluginTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/wizards/NewFeatureProjectTestCase.java
    ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/wizards/NewSiteProjectTestCase.java
    ui/org.eclipse.pde.ui.tests/test.xml
    ui/org.eclipse.pde.ui.tests/tests/performance/manifest/org.eclipse.jdt.ui/MANIFEST.MF
    ui/org.eclipse.pde.ui.tests/tests/performance/plugin/org.eclipse.jdt.ui/plugin.xml
    ui/org.eclipse.pde.ui.tests/tests/performance/schema/navigatorContent.exsd
    ui/org.eclipse.ui.views.log/.classpath
    ui/org.eclipse.ui.views.log/.project
    ui/org.eclipse.ui.views.log/.settings/org.eclipse.core.resources.prefs
    ui/org.eclipse.ui.views.log/.settings/org.eclipse.jdt.core.prefs
    ui/org.eclipse.ui.views.log/.settings/org.eclipse.jdt.ui.prefs
    ui/org.eclipse.ui.views.log/.settings/org.eclipse.pde.prefs
    ui/org.eclipse.ui.views.log/META-INF/MANIFEST.MF
    ui/org.eclipse.ui.views.log/about.html
    ui/org.eclipse.ui.views.log/build.properties
    ui/org.eclipse.ui.views.log/icons/dlcl16/clear.gif
    ui/org.eclipse.ui.views.log/icons/dlcl16/collapseall.gif
    ui/org.eclipse.ui.views.log/icons/dlcl16/export_log.gif
    ui/org.eclipse.ui.views.log/icons/dlcl16/filter_ps.gif
    ui/org.eclipse.ui.views.log/icons/dlcl16/find_obj.gif
    ui/org.eclipse.ui.views.log/icons/dlcl16/import_log.gif
    ui/org.eclipse.ui.views.log/icons/dlcl16/open_log.gif
    ui/org.eclipse.ui.views.log/icons/dlcl16/properties.gif
    ui/org.eclipse.ui.views.log/icons/dlcl16/refresh.gif
    ui/org.eclipse.ui.views.log/icons/dlcl16/remove.gif
    ui/org.eclipse.ui.views.log/icons/dlcl16/restore_log.gif
    ui/org.eclipse.ui.views.log/icons/elcl16/clear.gif
    ui/org.eclipse.ui.views.log/icons/elcl16/collapseall.gif
    ui/org.eclipse.ui.views.log/icons/elcl16/export_log.gif
    ui/org.eclipse.ui.views.log/icons/elcl16/filter_ps.gif
    ui/org.eclipse.ui.views.log/icons/elcl16/find_obj.gif
    ui/org.eclipse.ui.views.log/icons/elcl16/import_log.gif
    ui/org.eclipse.ui.views.log/icons/elcl16/open_log.gif
    ui/org.eclipse.ui.views.log/icons/elcl16/properties.gif
    ui/org.eclipse.ui.views.log/icons/elcl16/refresh.gif
    ui/org.eclipse.ui.views.log/icons/elcl16/remove.gif
    ui/org.eclipse.ui.views.log/icons/elcl16/restore_log.gif
    ui/org.eclipse.ui.views.log/icons/eview16/error_log.gif
    ui/org.eclipse.ui.views.log/icons/eview16/event_next.gif
    ui/org.eclipse.ui.views.log/icons/eview16/event_prev.gif
    ui/org.eclipse.ui.views.log/icons/obj16/error_st_obj.gif
    ui/org.eclipse.ui.views.log/icons/obj16/error_stack.gif
    ui/org.eclipse.ui.views.log/icons/obj16/hierarchical.gif
    ui/org.eclipse.ui.views.log/icons/obj16/info_st_obj.gif
    ui/org.eclipse.ui.views.log/icons/obj16/ok_st_obj.gif
    ui/org.eclipse.ui.views.log/icons/obj16/warning_st_obj.gif
    ui/org.eclipse.ui.views.log/plugin.properties
    ui/org.eclipse.ui.views.log/plugin.xml
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/AbstractEntry.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/Activator.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/EventDetailsDialog.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/EventDetailsDialogAction.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/FilterDialog.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/Group.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/IHelpContextIds.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/ILogFileProvider.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/ImportLogAction.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogEntry.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogFilesManager.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogReader.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogSession.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogView.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogViewContentProvider.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogViewLabelProvider.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/Messages.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/OpenIDELogFileAction.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/OpenLogDialog.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/SharedImages.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/TailInputStream.java
    ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/messages.properties
diff --git a/apitools/org.eclipse.pde.api.tools.tests/.classpath b/apitools/org.eclipse.pde.api.tools.tests/.classpath
deleted file mode 100644
index 304e861..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/apitools/org.eclipse.pde.api.tools.tests/.project b/apitools/org.eclipse.pde.api.tools.tests/.project
deleted file mode 100644
index 76a6b4e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.pde.api.tools.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/apitools/org.eclipse.pde.api.tools.tests/.settings/org.eclipse.jdt.core.prefs b/apitools/org.eclipse.pde.api.tools.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 93a540f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Mon Mar 24 10:44:09 CDT 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/apitools/org.eclipse.pde.api.tools.tests/.settings/org.eclipse.pde.api.tools.prefs b/apitools/org.eclipse.pde.api.tools.tests/.settings/org.eclipse.pde.api.tools.prefs
deleted file mode 100644
index cfbe8ed..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/.settings/org.eclipse.pde.api.tools.prefs
+++ /dev/null
@@ -1,147 +0,0 @@
-#Thu Mar 20 12:23:58 CDT 2008
-ANNOTATION_ELEMENT_TYPE_ADDED_CLASS_BOUND=Ignore
-ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Ignore
-ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Ignore
-ANNOTATION_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Ignore
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD=Ignore
-ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Ignore
-ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Ignore
-ANNOTATION_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Ignore
-ANNOTATION_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Ignore
-ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Ignore
-ANNOTATION_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Ignore
-ANNOTATION_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Ignore
-ANNOTATION_ELEMENT_TYPE_CHANGED_TO_CLASS=Ignore
-ANNOTATION_ELEMENT_TYPE_CHANGED_TO_ENUM=Ignore
-ANNOTATION_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Ignore
-ANNOTATION_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Ignore
-ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Ignore
-ANNOTATION_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Ignore
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITHOUT_DEFAULT_VALUE=Ignore
-ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD_WITH_DEFAULT_VALUE=Ignore
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Ignore
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Ignore
-ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Ignore
-API_COMPONENT_ELEMENT_TYPE_CHANGED_EXECUTION_ENVIRONMENT=Ignore
-API_COMPONENT_ELEMENT_TYPE_REMOVED_EXECUTION_ENVIRONMENT=Ignore
-API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Ignore
-API_LEAK=Ignore
-API_PROFILE_ELEMENT_TYPE_REMOVED_API_COMPONENT=Ignore
-CLASS_ELEMENT_TYPE_ADDED_CLASS_BOUND=Ignore
-CLASS_ELEMENT_TYPE_ADDED_FIELD=Ignore
-CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Ignore
-CLASS_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Ignore
-CLASS_ELEMENT_TYPE_ADDED_METHOD=Ignore
-CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Ignore
-CLASS_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Ignore
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERCLASS_SET=Ignore
-CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Ignore
-CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Ignore
-CLASS_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Ignore
-CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Ignore
-CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Ignore
-CLASS_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Ignore
-CLASS_ELEMENT_TYPE_CHANGED_SUPERCLASS=Ignore
-CLASS_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Ignore
-CLASS_ELEMENT_TYPE_CHANGED_TO_ENUM=Ignore
-CLASS_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Ignore
-CLASS_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Ignore
-CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Ignore
-CLASS_ELEMENT_TYPE_REMOVED_FIELD=Ignore
-CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Ignore
-CLASS_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Ignore
-CLASS_ELEMENT_TYPE_REMOVED_METHOD=Ignore
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Ignore
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Ignore
-CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Ignore
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_CLASS_BOUND=Ignore
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Ignore
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Ignore
-CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Ignore
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Ignore
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Ignore
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Ignore
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Ignore
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Ignore
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Ignore
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Ignore
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Ignore
-CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Ignore
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Ignore
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Ignore
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Ignore
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Ignore
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Ignore
-CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Ignore
-ENUM_ELEMENT_TYPE_ADDED_FIELD=Ignore
-ENUM_ELEMENT_TYPE_ADDED_METHOD=Ignore
-ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Ignore
-ENUM_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Ignore
-ENUM_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Ignore
-ENUM_ELEMENT_TYPE_CHANGED_TO_CLASS=Ignore
-ENUM_ELEMENT_TYPE_CHANGED_TO_INTERFACE=Ignore
-ENUM_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Ignore
-ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Ignore
-ENUM_ELEMENT_TYPE_REMOVED_FIELD=Ignore
-ENUM_ELEMENT_TYPE_REMOVED_METHOD=Ignore
-ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Ignore
-FIELD_ELEMENT_TYPE_ADDED_VALUE=Ignore
-FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Ignore
-FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Ignore
-FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Ignore
-FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Ignore
-FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Ignore
-FIELD_ELEMENT_TYPE_CHANGED_TYPE=Ignore
-FIELD_ELEMENT_TYPE_CHANGED_VALUE=Ignore
-FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENTS=Ignore
-FIELD_ELEMENT_TYPE_REMOVED_VALUE=Ignore
-ILLEGAL_EXTEND=Ignore
-ILLEGAL_IMPLEMENT=Ignore
-ILLEGAL_INSTANTIATE=Ignore
-ILLEGAL_OVERRIDE=Ignore
-ILLEGAL_REFERENCE=Ignore
-INTERFACE_ELEMENT_TYPE_ADDED_CLASS_BOUND=Ignore
-INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Ignore
-INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Ignore
-INTERFACE_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Ignore
-INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Ignore
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_MEMBER=Ignore
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Ignore
-INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETERS=Ignore
-INTERFACE_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Ignore
-INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Ignore
-INTERFACE_ELEMENT_TYPE_CHANGED_INTERFACE_BOUNDS=Ignore
-INTERFACE_ELEMENT_TYPE_CHANGED_RESTRICTIONS=Ignore
-INTERFACE_ELEMENT_TYPE_CHANGED_TO_ANNOTATION=Ignore
-INTERFACE_ELEMENT_TYPE_CHANGED_TO_CLASS=Ignore
-INTERFACE_ELEMENT_TYPE_CHANGED_TO_ENUM=Ignore
-INTERFACE_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Ignore
-INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Ignore
-INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Ignore
-INTERFACE_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Ignore
-INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Ignore
-INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Ignore
-METHOD_ELEMENT_TYPE_ADDED_CLASS_BOUND=Ignore
-METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Ignore
-METHOD_ELEMENT_TYPE_ADDED_INTERFACE_BOUNDS=Ignore
-METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Ignore
-METHOD_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Ignore
-METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Ignore
-METHOD_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Ignore
-METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Ignore
-METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Ignore
-METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Ignore
-METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Ignore
-METHOD_ELEMENT_TYPE_CHANGED_TYPE_PARAMETER=Ignore
-METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Ignore
-METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Ignore
-METHOD_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Ignore
-METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Ignore
-METHOD_ELEMENT_TYPE_REMOVED_INTERFACE_BOUNDS=Ignore
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Ignore
-METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETERS=Ignore
-eclipse.preferences.version=1
-incompatible_api_component_version=Ignore
-invalid_since_tag_version=Ignore
-malformed_since_tag=Ignore
-missing_since_tag=Ignore
diff --git a/apitools/org.eclipse.pde.api.tools.tests/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index a4464da..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,31 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: API Tooling Tests (Incubation)
-Bundle-SymbolicName: org.eclipse.pde.api.tools.tests
-Bundle-Version: 0.1.0.qualifier
-Bundle-Vendor: Eclipse.org
-Require-Bundle: org.eclipse.core.runtime,
- org.junit,
- org.eclipse.pde.api.tools,
- org.eclipse.core.resources,
- com.ibm.icu,
- org.eclipse.jdt.launching,
- org.eclipse.debug.core,
- org.eclipse.jdt.core,
- org.eclipse.pde.api.tools.ui,
- org.eclipse.ui.ide,
- org.eclipse.text,
- org.eclipse.pde.ui;bundle-version="3.4.0",
- org.eclipse.core.filebuffers;bundle-version="3.3.100",
- org.eclipse.ltk.core.refactoring;bundle-version="3.4.0",
- org.eclipse.test.performance;bundle-version="3.3.0",
- org.eclipse.jdt.core.tests.builder;bundle-version="3.3.100",
- org.eclipse.jdt.core.tests.compiler;bundle-version="3.3.100"
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.pde.api.tools.builder.tests,
- org.eclipse.pde.api.tools.comparator.tests,
- org.eclipse.pde.api.tools.model.tests;uses:="junit.framework,org.eclipse.pde.api.tools.model.component",
- org.eclipse.pde.api.tools.reference.tests,
- org.eclipse.pde.api.tools.tests,
- org.eclipse.pde.api.tools.tests.util,
- org.eclipse.pde.api.tools.util.tests;uses:="junit.framework"
diff --git a/apitools/org.eclipse.pde.api.tools.tests/about.html b/apitools/org.eclipse.pde.api.tools.tests/about.html
deleted file mode 100644
index 7298d49..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>February 15, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/build.properties b/apitools/org.eclipse.pde.api.tools.tests/build.properties
deleted file mode 100644
index 3c8b136..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               test-classes/,\
-               test-bin-dir/,\
-               test-jars/,\
-               test-manifests/,\
-               test-nested-jars/,\
-               test-plugins/,\
-               test-source/,\
-               test-stubs/,\
-               test-xml/,\
-               test.xml,\
-               tests-deltas/,\
-               about.html
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/ApiBuilderTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/ApiBuilderTests.java
deleted file mode 100644
index c4de39f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/ApiBuilderTests.java
+++ /dev/null
@@ -1,405 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.builder.tests;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.tests.builder.AbstractMethodTests;
-import org.eclipse.jdt.core.tests.builder.BasicBuildTests;
-import org.eclipse.jdt.core.tests.builder.BuilderTests;
-import org.eclipse.jdt.core.tests.builder.BuildpathTests;
-import org.eclipse.jdt.core.tests.builder.CopyResourceTests;
-import org.eclipse.jdt.core.tests.builder.DependencyTests;
-import org.eclipse.jdt.core.tests.builder.EfficiencyTests;
-import org.eclipse.jdt.core.tests.builder.ErrorsTests;
-import org.eclipse.jdt.core.tests.builder.ExecutionTests;
-import org.eclipse.jdt.core.tests.builder.GetResourcesTests;
-import org.eclipse.jdt.core.tests.builder.IncrementalTests;
-import org.eclipse.jdt.core.tests.builder.MultiProjectTests;
-import org.eclipse.jdt.core.tests.builder.MultiSourceFolderAndOutputFolderTests;
-import org.eclipse.jdt.core.tests.builder.OutputFolderTests;
-import org.eclipse.jdt.core.tests.builder.PackageTests;
-import org.eclipse.jdt.core.tests.builder.StaticFinalTests;
-import org.eclipse.jdt.core.tests.junit.extension.TestCase;
-import org.eclipse.pde.api.tools.internal.provisional.IApiMarkerConstants;
-
-/**
- * Base class for API builder tests
- */
-public class ApiBuilderTests extends BuilderTests {
-	/**
-	 * Debug flag
-	 */
-	protected static boolean DEBUG = false;
-	
-	/**
-	 * Constructor
-	 * @param name
-	 */
-	public ApiBuilderTests(String name) {
-		super(name);
-	}
-	
-	/**
-	 * @return the testing environment cast the the one we want
-	 */
-	protected ApiTestingEnvironment getEnv() {
-		return (ApiTestingEnvironment) env;
-	}
-	
-	/** 
-	 * Verifies that the workspace has no problems.
-	 */
-	protected void expectingNoProblems() {
-		expectingNoProblemsFor(getEnv().getWorkspaceRootPath());
-	}
-
-	/** 
-	 * Verifies that the given element has no problems.
-	 */
-	protected void expectingNoProblemsFor(IPath root) {
-		expectingNoProblemsFor(new IPath[] { root });
-	}
-
-	/** 
-	 * Verifies that the given elements have no problems.
-	 */
-	protected void expectingNoProblemsFor(IPath[] roots) {
-		StringBuffer buffer = new StringBuffer();
-		ApiProblem[] problems = allSortedProblems(roots);
-		if (problems != null) {
-			for (int i = 0, length = problems.length; i<length; i++) {
-				buffer.append(problems[i]+"\n");
-			}
-		}
-		String actual = buffer.toString();
-		assumeEquals("Unexpected problem(s)!!!", "", actual); //$NON-NLS-1$
-	}
-
-	/** 
-	 * Verifies that the given element has problems and
-	 * only the given element.
-	 */
-	protected void expectingOnlyProblemsFor(IPath expected) {
-		expectingOnlyProblemsFor(new IPath[] { expected });
-	}
-
-	/** 
-	 * Verifies that the given elements have problems and
-	 * only the given elements.
-	 */
-	protected void expectingOnlyProblemsFor(IPath[] expected) {
-		if (DEBUG) {
-			printProblems();
-		}
-		IMarker[] rootProblems = getEnv().getMarkers();
-		Hashtable actual = new Hashtable(rootProblems.length * 2 + 1);
-		for (int i = 0; i < rootProblems.length; i++) {
-			IPath culprit = rootProblems[i].getResource().getFullPath();
-			actual.put(culprit, culprit);
-		}
-
-		for (int i = 0; i < expected.length; i++)
-			if (!actual.containsKey(expected[i]))
-				assertTrue("missing expected problem with " + expected[i].toString(), false); //$NON-NLS-1$
-
-		if (actual.size() > expected.length) {
-			for (Enumeration e = actual.elements(); e.hasMoreElements();) {
-				IPath path = (IPath) e.nextElement();
-				boolean found = false;
-				for (int i = 0; i < expected.length; ++i) {
-					if (path.equals(expected[i])) {
-						found = true;
-						break;
-					}
-				}
-				if (!found)
-					assertTrue("unexpected problem(s) with " + path.toString(), false); //$NON-NLS-1$
-			}
-		}
-	}
-
-	/** 
-	 * Verifies that the given element has a specific problem and
-	 * only the given problem.
-	 */
-	protected void expectingOnlySpecificProblemFor(IPath root, int problemid) {
-		expectingOnlySpecificProblemsFor(root, new int[] { problemid });
-	}
-
-	/**
-	 * Returns the problem id from the marker
-	 * @param marker
-	 * @return the problem id from the marker or -1 if there isn't one set on the marker
-	 */
-	protected int getProblemId(IMarker marker) {
-		return marker.getAttribute(IApiMarkerConstants.MARKER_ATTR_PROBLEM_ID, -1);
-	}
-	
-	/** 
-	 * Verifies that the given element has specifics problems and
-	 * only the given problems.
-	 */
-	protected void expectingOnlySpecificProblemsFor(final IPath root, final int[] problemids) {
-		if (DEBUG) {
-			printProblemsFor(root);
-		}
-		IMarker[] markers = getEnv().getMarkersFor(root);
-		for (int i = 0; i < problemids.length; i++) {
-			boolean found = false;
-			for (int j = 0; j < markers.length; j++) {
-				if(getProblemId(markers[j]) == problemids[i]) {
-					found = true;
-					markers[j] = null;
-					break;
-				}
-			}
-			if (!found) {
-				printProblemsFor(root);
-			}
-			assertTrue("problem not found: " + problemids[i], found); //$NON-NLS-1$
-		}
-		for (int i = 0; i < markers.length; i++) {
-			if(markers[i] != null) {
-				printProblemsFor(root);
-				assertTrue("unexpected problem: " + markers[i].toString(), false); //$NON-NLS-1$
-			}
-		}
-	}
-
-	/** 
-	 * Verifies that the given element has problems.
-	 */
-	protected void expectingProblemsFor(IPath root, String expected) {
-		expectingProblemsFor(new IPath[] { root }, expected);
-	}
-
-	/** 
-	 * Verifies that the given elements have problems.
-	 */
-	protected void expectingProblemsFor(IPath[] roots, String expected) {
-		ApiProblem[] problems = allSortedProblems(roots);
-		assumeEquals("Invalid problem(s)!!!", expected, arrayToString(problems)); //$NON-NLS-1$
-	}
-
-	/**
-	 * Verifies that the given element has the expected problems.
-	 */
-	protected void expectingProblemsFor(IPath root, List expected) {
-		expectingProblemsFor(new IPath[] { root }, expected);
-	}
-
-	/**
-	 * Verifies that the given elements have the expected problems.
-	 */
-	protected void expectingProblemsFor(IPath[] roots, List expected) {
-		ApiProblem[] problems = allSortedProblems(roots);
-		assumeEquals("Invalid problem(s)!!!", arrayToString(expected.toArray()), arrayToString(problems));
-	}
-
-	/**
-	 * Concatenate and sort all problems for given root paths.
-	 *
-	 * @param roots The path to get the problems
-	 * @return All sorted problems of all given path
-	 */
-	protected ApiProblem[] allSortedProblems(IPath[] roots) {
-		ApiProblem[] allProblems = null;
-		ApiProblem[] problems = null;
-		for (int i = 0, max=roots.length; i<max; i++) {
-			problems = (ApiProblem[]) getEnv().getProblemsFor(roots[i]);
-			int length = problems.length;
-			if (problems.length != 0) {
-				if (allProblems == null) {
-					allProblems = problems;
-				} else {
-					int all = allProblems.length;
-					System.arraycopy(allProblems, 0, allProblems = new ApiProblem[all+length], 0, all);
-					System.arraycopy(problems, 0, allProblems , all, length);
-				}
-			}
-		}
-		if (allProblems != null) {
-			Arrays.sort(allProblems);
-		}
-		return allProblems;
-	}
-	
-	/** 
-	 * Verifies that the given element has a specific problem.
-	 */
-	protected void expectingSpecificProblemFor(IPath root, int problemid) {
-		expectingSpecificProblemsFor(root, new int[] { problemid });
-	}
-
-	/** 
-	 * Verifies that the given element has specific problems.
-	 */
-	protected void expectingSpecificProblemsFor(IPath root, int[] problemids) {
-		if (DEBUG) {
-			printProblemsFor(root);
-		}
-		IMarker[] markers = getEnv().getMarkersFor(root);
-		IMarker marker = null;
-		next : for (int i = 0; i < problemids.length; i++) {
-			for (int j = 0; j < markers.length; j++) {
-				marker = markers[j];
-				if (marker != null) {
-					if (problemids[i] == getProblemId(marker)) {
-						markers[j] = null;
-						continue next;
-					}
-				}
-			}
-			System.out.println("--------------------------------------------------------------------------------");
-			System.out.println("Missing problem while running test "+getName()+":");
-			System.out.println("	- expected : " + problemids[i]);
-			System.out.println("	- current: " + arrayToString(markers));
-			assumeTrue("missing expected problem: " + problemids[i], false);
-		}
-	}
-
-	/**
-	 * Prints all of the problems in the current test workspace
-	 */
-	protected void printProblems() {
-		printProblemsFor(getEnv().getWorkspaceRootPath());
-	}
-
-	/**
-	 * Prints all of the problems from the current root to infinite children
-	 * @param root
-	 */
-	protected void printProblemsFor(IPath root) {
-		printProblemsFor(new IPath[] { root });
-	}
-
-	/**
-	 * Prints all of the problems from each of the roots to infinite children
-	 * @param roots
-	 */
-	protected void printProblemsFor(IPath[] roots) {
-		for (int i = 0; i < roots.length; i++) {
-			/* get the leaf problems for this type */
-			System.out.println(arrayToString(getEnv().getProblemsFor(roots[i])));
-			System.out.println();
-		}
-	}
-
-	/**
-	 * Takes each element of the array and calls toString on it to put an array together as a string
-	 * @param array
-	 * @return
-	 */
-	protected String arrayToString(Object[] array) {
-		StringBuffer buffer = new StringBuffer();
-		int length = array == null ? 0 : array.length;
-		for (int i = 0; i < length; i++) {
-			if (array[i] != null) {
-				if (i > 0) buffer.append('\n');
-				buffer.append(array[i].toString());
-			}
-		}
-		return buffer.toString();
-	}
-
-	/** 
-	 * Sets up this test.
-	 */
-	protected void setUp() throws Exception {
-		if (env == null) {
-			env = new ApiTestingEnvironment();
-			env.openEmptyWorkspace();
-		}
-		env.resetWorkspace();
-		super.setUp();
-
-	}
-	
-	/**
-	 * @return all of the child test classes of this class
-	 * TODO fill in with new API tools tests
-	 */
-	private static Class[] getAllTestClasses() {
-		Class[] classes = new Class[] {
-			AbstractMethodTests.class,
-			BasicBuildTests.class,
-			BuildpathTests.class,
-			CopyResourceTests.class,
-			DependencyTests.class,
-			ErrorsTests.class,
-			EfficiencyTests.class,
-			ExecutionTests.class,
-			IncrementalTests.class,
-			MultiProjectTests.class,
-			MultiSourceFolderAndOutputFolderTests.class,
-			OutputFolderTests.class,
-			PackageTests.class,
-			StaticFinalTests.class,
-			GetResourcesTests.class,
-		};
-		return classes;
-	}
-
-	/**
-	 * loads builder tests
-	 * @return
-	 */
-	public static Test suite() {
-		TestSuite suite = new TestSuite(ApiBuilderTests.class.getName());
-
-		// Hack to load all classes before computing their suite of test cases
-		// this allow to reset test cases subsets while running all Builder tests...
-		Class[] classes = getAllTestClasses();
-
-		// Reset forgotten subsets of tests
-		TestCase.TESTS_PREFIX = null;
-		TestCase.TESTS_NAMES = null;
-		TestCase.TESTS_NUMBERS = null;
-		TestCase.TESTS_RANGE = null;
-		TestCase.RUN_ONLY_ID = null;
-
-		/* tests */
-		for (int i = 0, length = classes.length; i < length; i++) {
-			Class clazz = classes[i];
-			Method suiteMethod;
-			try {
-				suiteMethod = clazz.getDeclaredMethod("suite", new Class[0]);
-			} catch (NoSuchMethodException e) {
-				e.printStackTrace();
-				continue;
-			}
-			Object test;
-			try {
-				test = suiteMethod.invoke(null, new Object[0]);
-			} catch (IllegalAccessException e) {
-				e.printStackTrace();
-				continue;
-			} catch (InvocationTargetException e) {
-				e.printStackTrace();
-				continue;
-			}
-			suite.addTest((Test) test);
-		}
-
-		return suite;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/ApiProblem.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/ApiProblem.java
deleted file mode 100644
index ef33abb..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/ApiProblem.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.builder.tests;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.tests.builder.Problem;
-import org.eclipse.pde.api.tools.internal.provisional.IApiMarkerConstants;
-
-/**
- * Customized {@link Problem} to handle using a problem id
- * 
- * @since 1.0.0
- */
-public class ApiProblem extends Problem {
-
-	private int problemid = 0;
-	
-	/**
-	 * Constructor
-	 * @param marker
-	 */
-	public ApiProblem(IMarker marker) {
-		super(marker);
-		this.problemid = marker.getAttribute(IApiMarkerConstants.MARKER_ATTR_PROBLEM_ID, 0);
-	}
-
-	/**
-	 * Constructor
-	 * @param location
-	 * @param message
-	 * @param resourcePath
-	 * @param start
-	 * @param end
-	 * @param categoryId
-	 * @param severity
-	 * @param problemid
-	 */
-	public ApiProblem(String location, String message, IPath resourcePath, int start, int end, int categoryId, int severity, int problemid) {
-		super(location, message, resourcePath, start, end, categoryId, severity);
-		this.problemid = problemid;
-	}
-	
-	/**
-	 * @return the problem id for this problem
-	 */
-	public int getProblemId() {
-		return problemid;
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/ApiTestingEnvironment.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/ApiTestingEnvironment.java
deleted file mode 100644
index 0c4ebef..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/builder/tests/ApiTestingEnvironment.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.builder.tests;
-
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.tests.builder.TestingEnvironment;
-import org.eclipse.jdt.core.tests.util.AbstractCompilerTest;
-import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
-import org.eclipse.pde.api.tools.internal.builder.ApiAnalysisBuilder;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IApiMarkerConstants;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.tests.util.ProjectUtils;
-import org.eclipse.pde.internal.core.natures.PDE;
-
-/**
- * Environment used to test the {@link ApiAnalysisBuilder}.
- * This environment emulates a typical workbench environment
- * 
- * @since 1.0.0
- */
-public class ApiTestingEnvironment extends TestingEnvironment {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.tests.builder.TestingEnvironment#addProject(java.lang.String, java.lang.String)
-	 */
-	public IPath addProject(String projectName, String compliance) throws UnsupportedOperationException {
-		int requiredComplianceFlag = 0;
-		String compilerVersion = null;
-		if (CompilerOptions.VERSION_1_5.equals(compliance)) {
-			requiredComplianceFlag = AbstractCompilerTest.F_1_5;
-			compilerVersion = CompilerOptions.VERSION_1_5;
-		}
-		else if (CompilerOptions.VERSION_1_6.equals(compliance)) {
-			requiredComplianceFlag = AbstractCompilerTest.F_1_6;
-			compilerVersion = CompilerOptions.VERSION_1_6;
-		}
-		else if (CompilerOptions.VERSION_1_7.equals(compliance)) {
-			requiredComplianceFlag = AbstractCompilerTest.F_1_7;
-			compilerVersion = CompilerOptions.VERSION_1_7;
-		}
-		else if (!CompilerOptions.VERSION_1_4.equals(compliance) && !CompilerOptions.VERSION_1_3.equals(compliance)) {
-			throw new UnsupportedOperationException("Test framework doesn't support compliance level: " + compliance);
-		}
-		IProject project = null;
-		if (requiredComplianceFlag != 0) {
-			if ((AbstractCompilerTest.getPossibleComplianceLevels() & requiredComplianceFlag) == 0)
-				throw new RuntimeException("This test requires a " + compliance + " JRE");
-			try {
-				IJavaProject javaProject = ProjectUtils.createPluginProject(projectName, new String[] {PDE.PLUGIN_NATURE, ApiPlugin.NATURE_ID});
-				project = javaProject.getProject();
-				
-				HashMap options = new HashMap();
-				options.put(CompilerOptions.OPTION_Compliance, compilerVersion);
-				options.put(CompilerOptions.OPTION_Source, compilerVersion);
-				options.put(CompilerOptions.OPTION_TargetPlatform, compilerVersion);
-				javaProject.setOptions(options);
-				addProject(project);
-			}
-			catch(CoreException ce) {
-				//ignore
-			}
-		}
-		return project != null ? project.getFullPath() : Path.EMPTY;
-	}
-	
-	/**
-	 * returns all of the usage markers for the specified resource and its children
-	 * @param resource
-	 * @return
-	 * @throws CoreException
-	 */
-	protected IMarker[] getAllUsageMarkers(IResource resource) throws CoreException {
-		if(resource == null) {
-			return new IMarker[0];
-		}
-		if(!resource.isAccessible()) {
-			return new IMarker[0];
-		}
-		return resource.findMarkers(IApiMarkerConstants.API_USAGE_PROBLEM_MARKER, true, IResource.DEPTH_INFINITE);
-	}
-	
-	/**
-	 * Returns all of the binary compatibility markers on the given resource and its children
-	 * @param resource
-	 * @return
-	 * @throws CoreException
-	 */
-	protected IMarker[] getAllBinaryMarkers(IResource resource) throws CoreException {
-		if(resource == null) {
-			return new IMarker[0];
-		}
-		if(!resource.isAccessible()) {
-			return new IMarker[0];
-		}
-		return resource.findMarkers(IApiMarkerConstants.BINARY_COMPATIBILITY_PROBLEM_MARKER, true, IResource.DEPTH_INFINITE);
-	}
-	
-	/**
-	 * Returns all of the API profile markers on the given resource and its children
-	 * @param resource
-	 * @return
-	 * @throws CoreException
-	 */
-	protected IMarker[] getAllAPIProfileMarkers(IResource resource) throws CoreException {
-		if(resource == null) {
-			return new IMarker[0];
-		}
-		if(!resource.isAccessible()) {
-			return new IMarker[0];
-		}
-		return resource.findMarkers(IApiMarkerConstants.DEFAULT_API_PROFILE_PROBLEM_MARKER, true, IResource.DEPTH_INFINITE);
-	}
-	
-	/**
-	 * Returns all of the since tag markers on the given resource and its children
-	 * @param resource
-	 * @return
-	 * @throws CoreException
-	 */
-	protected IMarker[] getAllSinceTagMarkers(IResource resource) throws CoreException {
-		if(resource == null) {
-			return new IMarker[0];
-		}
-		if(!resource.isAccessible()) {
-			return new IMarker[0];
-		}
-		return resource.findMarkers(IApiMarkerConstants.SINCE_TAGS_PROBLEM_MARKER, true, IResource.DEPTH_INFINITE);
-	}
-	
-	/**
-	 * Returns all of the version markers on the given resource and its children
-	 * @param resource
-	 * @return
-	 * @throws CoreException
-	 */
-	protected IMarker[] getAllVersionMarkers(IResource resource) throws CoreException {
-		if(resource == null) {
-			return new IMarker[0];
-		}
-		if(!resource.isAccessible()) {
-			return new IMarker[0];
-		}
-		return resource.findMarkers(IApiMarkerConstants.VERSION_NUMBERING_PROBLEM_MARKER, true, IResource.DEPTH_INFINITE);
-	}
-	
-	/**
-	 * Returns all of the markers from the testing workspace
-	 * @return
-	 */
-	public IMarker[] getMarkers() {
-		return getMarkersFor(getWorkspaceRootPath());
-	}
-	
-	/**
-	 * Returns the collection of API problem markers for the given element
-	 * @param root
-	 * @return
-	 */
-	public IMarker[] getMarkersFor(IPath root) {
-		return getMarkersFor(root, null);
-	}
-	
-	/**
-	 * Return all problems with the specified element.
-	 * @param path
-	 * @param additionalMarkerType
-	 * @return
-	 */
-	public IMarker[] getMarkersFor(IPath path, String additionalMarkerType){
-		IResource resource;
-		if(path.equals(getWorkspaceRootPath())){
-			resource = getWorkspace().getRoot();
-		} else {
-			IProject p = getProject(path);
-			if(p != null && path.equals(p.getFullPath())) {
-				resource = getProject(path.lastSegment());
-			} else if(path.getFileExtension() == null) {
-				resource = getWorkspace().getRoot().getFolder(path);
-			} else {
-				resource = getWorkspace().getRoot().getFile(path);
-			}
-		}
-		try {
-			ArrayList problems = new ArrayList();
-			problems.addAll(Arrays.asList(getAllUsageMarkers(resource)));
-			problems.addAll(Arrays.asList(getAllBinaryMarkers(resource)));
-			problems.addAll(Arrays.asList(getAllAPIProfileMarkers(resource)));
-			problems.addAll(Arrays.asList(getAllSinceTagMarkers(resource)));
-			problems.addAll(Arrays.asList(getAllVersionMarkers(resource)));
-			
-			//additional markers
-			if(additionalMarkerType != null) {
-				problems.addAll(Arrays.asList(resource.findMarkers(additionalMarkerType, true, IResource.DEPTH_INFINITE)));
-			}
-			return (IMarker[]) problems.toArray(new IMarker[problems.size()]);
-		} catch(CoreException e){
-			// ignore
-		}
-		return new IMarker[0];
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.tests.builder.TestingEnvironment#getProblems()
-	 */
-	public ApiProblem[] getProblems() {
-		return (ApiProblem[]) super.getProblems();
-	}
-	
-	/**
-	 * Returns the current workspace {@link IApiProfile}
-	 * @return
-	 */
-	protected IApiProfile getWorkspaceProfile() {
-		return ApiPlugin.getDefault().getApiProfileManager().getWorkspaceProfile();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.tests.builder.TestingEnvironment#getProblemsFor(org.eclipse.core.runtime.IPath, java.lang.String)
-	 */
-	public ApiProblem[] getProblemsFor(IPath path, String additionalMarkerType){	
-		IMarker[] markers = getMarkersFor(path, additionalMarkerType);
-		ArrayList problems = new ArrayList();
-		for(int i = 0; i < markers.length; i++) {
-			problems.add(new ApiProblem(markers[i]));
-		}
-		return (ApiProblem[]) problems.toArray(new ApiProblem[problems.size()]);
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/AllDeltaTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/AllDeltaTests.java
deleted file mode 100644
index 5b2367c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/AllDeltaTests.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.comparator.tests;
-
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Test suite for all of the API tools test 
- * 
- * @since 1.0.0
- */
-public class AllDeltaTests extends TestSuite {
-
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 * @return the test
-	 */
-	public static Test suite() {
-		return new AllDeltaTests();
-	}
-	
-	/**
-	 * Constructor
-	 */
-	public AllDeltaTests() {
-		addTest(new TestSuite(FieldDeltaTests.class));
-		addTest(new TestSuite(InterfaceDeltaTests.class));
-		addTest(new TestSuite(ClassDeltaTests.class));
-		addTest(new TestSuite(AnnotationDeltaTests.class));
-		addTest(new TestSuite(EnumDeltaTests.class));
-		addTest(new TestSuite(MethodDeltaTests.class));
-		addTest(new TestSuite(MixedTypesDeltaTests.class));
-		addTest(new TestSuite(BundlesDeltaTests.class));
-		addTest(new TestSuite(RestrictionsDeltaTests.class));
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/AnnotationDeltaTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/AnnotationDeltaTests.java
deleted file mode 100644
index c34cfb7..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/AnnotationDeltaTests.java
+++ /dev/null
@@ -1,381 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.comparator.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-
-/**
- * Delta tests for annotation
- */
-public class AnnotationDeltaTests extends DeltaTestSetup {
-	
-	public static Test suite() {
-		if (true) return new TestSuite(AnnotationDeltaTests.class);
-		TestSuite suite = new TestSuite(AnnotationDeltaTests.class.getName());
-		suite.addTest(new AnnotationDeltaTests("test6"));
-		return suite;
-	}
-
-	public AnnotationDeltaTests(String name) {
-		super(name);
-	}
-
-	public String getTestRoot() {
-		return "annotation";
-	}
-
-	/**
-	 * Add element to annotation type
-	 */
-	public void test1() {
-		deployBundles("test1");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * remove element to annotation type
-	 */
-	public void test2() {
-		deployBundles("test2");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add element to annotation type
-	 */
-	public void test3() {
-		deployBundles("test3");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITHOUT_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add elements with all different types
-	 */
-	public void test4() {
-		deployBundles("test4");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 11, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[2];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[3];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[4];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[5];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[6];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[7];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[8];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[9];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[10];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	/**
-	 * Add elements with all different types (array)
-	 */
-	public void test5() {
-		deployBundles("test5");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 13, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[2];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[3];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[4];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[5];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[6];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[7];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[8];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[9];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[10];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[11];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[12];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Changed default values
-	 */
-	public void test6() {
-		deployBundles("test6");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 12, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ANNOTATION_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ANNOTATION_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[2];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ANNOTATION_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child= allLeavesDeltas[3];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ANNOTATION_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[4];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ANNOTATION_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[5];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ANNOTATION_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[6];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ANNOTATION_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[7];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ANNOTATION_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[8];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ANNOTATION_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[9];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ANNOTATION_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[10];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ANNOTATION_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[11];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ANNOTATION_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Remove method with default value
-	 */
-	public void test7() {
-		deployBundles("test7");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITH_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Remove method with no default value
-	 */
-	public void test8() {
-		deployBundles("test8");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_WITHOUT_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/BundlesDeltaTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/BundlesDeltaTests.java
deleted file mode 100644
index ce7d311..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/BundlesDeltaTests.java
+++ /dev/null
@@ -1,448 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.comparator.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-
-/**
- * Delta tests for class
- */
-public class BundlesDeltaTests extends DeltaTestSetup {
-	
-	public static Test suite() {
-		if (true) return new TestSuite(BundlesDeltaTests.class);
-		TestSuite suite = new TestSuite(BundlesDeltaTests.class.getName());
-		suite.addTest(new BundlesDeltaTests("test9"));
-		return suite;
-	}
-
-	public BundlesDeltaTests(String name) {
-		super(name);
-	}
-
-	public String getTestRoot() {
-		return "bundles";
-	}
-
-	/**
-	 * Change bundle symbolic name
-	 */
-	public void test1() {
-		deployBundles("test1");
-		IDelta delta = ApiComparator.compare(getBeforeState(), getAfterState());
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.API_COMPONENT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_PROFILE_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.API_COMPONENT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_PROFILE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Addition of EE
-	 */
-	public void test2() {
-		deployBundles("test2");
-		IDelta delta = ApiComparator.compare(getBeforeState(), getAfterState());
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.EXECUTION_ENVIRONMENT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_COMPONENT_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.EXECUTION_ENVIRONMENT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_COMPONENT_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Removing EEs
-	 */
-	public void test3() {
-		deployBundles("test3");
-		IDelta delta = ApiComparator.compare(getBeforeState(), getAfterState());
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.EXECUTION_ENVIRONMENT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_COMPONENT_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Changing EEs
-	 */
-	public void test4() {
-		deployBundles("test4");
-		IDelta delta = ApiComparator.compare(getBeforeState(), getAfterState());
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.EXECUTION_ENVIRONMENT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_COMPONENT_ELEMENT_TYPE, child.getElementType());
-		assertEquals("Wrong message", "Added the execution environment JRE-1.1", child.getMessage());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.EXECUTION_ENVIRONMENT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_COMPONENT_ELEMENT_TYPE, child.getElementType());
-		assertEquals("Wrong message", "The execution environment CDC-1.0/Foundation-1.0 has been removed", child.getMessage());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	/**
-	 * Changing EEs
-	 */
-	public void test5() {
-		deployBundles("test5");
-		IDelta delta = ApiComparator.compare(getBeforeState(), getAfterState());
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.EXECUTION_ENVIRONMENT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_COMPONENT_ELEMENT_TYPE, child.getElementType());
-		assertEquals("Wrong message", "Added the execution environment J2SE-1.4", child.getMessage());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.EXECUTION_ENVIRONMENT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_COMPONENT_ELEMENT_TYPE, child.getElementType());
-		assertEquals("Wrong message", "The execution environment J2SE-1.5 has been removed", child.getMessage());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));		
-	}
-	
-	/**
-	 * Test null profile
-	 */
-	public void test6() {
-		deployBundles("test6");
-		try {
-			ApiComparator.compare(getBeforeState(), null);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-	}
-	
-	/**
-	 * Test null profile
-	 */
-	public void test7() {
-		deployBundles("test7");
-		try {
-			ApiComparator.compare(null, getAfterState());
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-	}
-	
-	/**
-	 * Test null components
-	 */
-	public void test8() {
-		deployBundles("test8");
-		IApiProfile beforeState = getBeforeState();
-		IApiProfile afterState = getAfterState();
-		IApiComponent referenceComponent = beforeState.getApiComponent("deltatest1");
-		IApiComponent component = afterState.getApiComponent("deltatest1");
-		try {
-			ApiComparator.compare(referenceComponent, null, VisibilityModifiers.API);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-		try {
-			ApiComparator.compare(null, component, VisibilityModifiers.API);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-
-		IDelta delta = ApiComparator.compare(null, component, beforeState, afterState);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.API_COMPONENT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_PROFILE_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-
-		delta = ApiComparator.compare(referenceComponent, null, beforeState, afterState);
-		assertNotNull("No delta", delta);
-		allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.API_COMPONENT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_PROFILE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-
-		delta = ApiComparator.compare(null, component, beforeState, afterState, VisibilityModifiers.ALL_VISIBILITIES);
-		assertNotNull("No delta", delta);
-		allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.API_COMPONENT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_PROFILE_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-
-		delta = ApiComparator.compare(referenceComponent, null, beforeState, afterState, VisibilityModifiers.ALL_VISIBILITIES);
-		assertNotNull("No delta", delta);
-		allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.API_COMPONENT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_PROFILE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-
-		try {
-			ApiComparator.compare(referenceComponent, component, null, afterState, VisibilityModifiers.ALL_VISIBILITIES);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-
-		try {
-			ApiComparator.compare(referenceComponent, component, beforeState, null, VisibilityModifiers.ALL_VISIBILITIES);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-		
-		try {
-			ApiComparator.compare(referenceComponent, component, beforeState, null);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-
-		try {
-			ApiComparator.compare(referenceComponent, component, null, afterState);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-		try {
-			ApiComparator.compare(referenceComponent, component, null, afterState, VisibilityModifiers.ALL_VISIBILITIES);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-		try {
-			ApiComparator.compare(referenceComponent, component, beforeState, null, VisibilityModifiers.ALL_VISIBILITIES);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-		IClassFile classFile = null;
-		try {
-			classFile = component.findClassFile("Zork");
-		} catch (CoreException e) {
-			assertTrue("Should not happen", false);
-		}
-		assertNull("No class file", classFile);
-
-		try {
-			classFile = component.findClassFile("X");
-		} catch (CoreException e) {
-			assertTrue("Should not happen", false);
-		}
-		assertNotNull("No class file", classFile);
-
-		IClassFile referenceClassFile = null;
-		try {
-			referenceClassFile = referenceComponent.findClassFile("X");
-		} catch (CoreException e) {
-			assertTrue("Should not happen", false);
-		}
-		assertNotNull("No class file", referenceClassFile);
-
-		try {
-			ApiComparator.compare(null, classFile, component, referenceComponent, beforeState, afterState, VisibilityModifiers.ALL_VISIBILITIES);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-		try {
-			ApiComparator.compare(classFile, null, component, referenceComponent, beforeState, afterState, VisibilityModifiers.ALL_VISIBILITIES);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-		try {
-			ApiComparator.compare(null, component, referenceComponent, beforeState, afterState, VisibilityModifiers.ALL_VISIBILITIES);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-		
-		try {
-			ApiComparator.compare(referenceClassFile, null, referenceComponent, beforeState, afterState, VisibilityModifiers.ALL_VISIBILITIES);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-
-		delta = ApiComparator.compare(classFile, component, referenceComponent, beforeState, afterState, VisibilityModifiers.ALL_VISIBILITIES);
-		assertNotNull("No delta", delta);
-		assertTrue("Not NO_DELTA", delta == ApiComparator.NO_DELTA);
-
-		try {
-			ApiComparator.compare(null, classFile, referenceComponent, component, beforeState, afterState, VisibilityModifiers.ALL_VISIBILITIES);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-
-		try {
-			ApiComparator.compare(referenceClassFile, classFile, null, component, beforeState, afterState, VisibilityModifiers.ALL_VISIBILITIES);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-
-		try {
-			ApiComparator.compare(referenceClassFile, classFile, referenceComponent, null, beforeState, afterState, VisibilityModifiers.ALL_VISIBILITIES);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-
-		try {
-			ApiComparator.compare(referenceClassFile, classFile, referenceComponent, component, null, afterState, VisibilityModifiers.ALL_VISIBILITIES);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-
-		try {
-			ApiComparator.compare(referenceClassFile, classFile, referenceComponent, component, beforeState, null, VisibilityModifiers.ALL_VISIBILITIES);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-
-		delta = ApiComparator.compare(referenceClassFile, classFile, referenceComponent, component, beforeState, afterState, VisibilityModifiers.ALL_VISIBILITIES);
-		assertNotNull("No delta", delta);
-		assertTrue("Not NO_DELTA", delta == ApiComparator.NO_DELTA);
-
-		delta = ApiComparator.compare(beforeState, afterState, true);
-		assertNotNull("No delta", delta);
-		assertTrue("Not NO_DELTA", delta == ApiComparator.NO_DELTA);
-
-		delta = ApiComparator.compare(beforeState, afterState, VisibilityModifiers.ALL_VISIBILITIES);
-		assertNotNull("No delta", delta);
-		assertTrue("Not NO_DELTA", delta == ApiComparator.NO_DELTA);
-
-		delta = ApiComparator.compare(referenceComponent, component, VisibilityModifiers.ALL_VISIBILITIES);
-		assertNotNull("No delta", delta);
-		assertTrue("Not NO_DELTA", delta == ApiComparator.NO_DELTA);
-
-		try {
-			ApiComparator.compare((IApiComponent) null, beforeState,VisibilityModifiers.ALL_VISIBILITIES, true);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-
-		try {
-			ApiComparator.compare(component, null,VisibilityModifiers.ALL_VISIBILITIES, true);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-
-		delta = ApiComparator.compare(component, beforeState, VisibilityModifiers.ALL_VISIBILITIES, true);
-		assertNotNull("No delta", delta);
-		assertTrue("Not NO_DELTA", delta == ApiComparator.NO_DELTA);
-
-		try {
-			ApiComparator.compare(null, null, beforeState, afterState, VisibilityModifiers.ALL_VISIBILITIES);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-		try {
-			ApiComparator.compare(classFile, component, null, beforeState, afterState, VisibilityModifiers.ALL_VISIBILITIES);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-		try {
-			ApiComparator.compare(classFile, component, referenceComponent, null, afterState, VisibilityModifiers.ALL_VISIBILITIES);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-		try {
-			ApiComparator.compare(classFile, component, referenceComponent, beforeState, null, VisibilityModifiers.ALL_VISIBILITIES);
-			assertFalse("Should not be reached", true);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-	}
-
-	/**
-	 * Removing EEs
-	 */
-	public void test9() {
-		deployBundles("test9");
-		IDelta delta = ApiComparator.compare(getBeforeState(), getAfterState());
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 3, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.EXECUTION_ENVIRONMENT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_COMPONENT_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.EXECUTION_ENVIRONMENT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_COMPONENT_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[2];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.EXECUTION_ENVIRONMENT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_COMPONENT_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/ClassDeltaTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/ClassDeltaTests.java
deleted file mode 100644
index 4517784..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/ClassDeltaTests.java
+++ /dev/null
@@ -1,2646 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.comparator.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.pde.api.tools.internal.comparator.DeltaXmlVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * Delta tests for class
- */
-public class ClassDeltaTests extends DeltaTestSetup {
-	
-	public static Test suite() {
-		if (true) return new TestSuite(ClassDeltaTests.class);
-		TestSuite suite = new TestSuite(ClassDeltaTests.class.getName());
-		suite.addTest(new ClassDeltaTests("test112"));
-		return suite;
-	}
-
-	public ClassDeltaTests(String name) {
-		super(name);
-	}
-
-	public String getTestRoot() {
-		return "class";
-	}
-
-	/**
-	 * delete API method
-	 */
-	public void test1() {
-		deployBundles("test1");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(delta));
-	}
-
-	/**
-	 * delete API method
-	 */
-	public void test2() {
-		deployBundles("test2");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertFalse("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add constructor with no args in class without constructors
-	 */
-	public void test3() {
-		deployBundles("test3");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		assertTrue("Not empty", delta.isEmpty());
-		assertTrue("Different from NO_DELTA", delta == ApiComparator.NO_DELTA);
-	}
-
-	/**
-	 * Add constructor with one arg in class without constructors
-	 */
-	public void test4() {
-		deployBundles("test4");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CONSTRUCTOR, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CONSTRUCTOR, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Remove the constructor with no arg in class with only this constructor
-	 */
-	public void test5() {
-		deployBundles("test5");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		assertTrue("Not empty", delta.isEmpty());
-		assertTrue("Different from NO_DELTA", delta == ApiComparator.NO_DELTA);
-	}
-
-	/**
-	 * Add constructor with one arg in class without constructors
-	 */
-	public void test6() {
-		deployBundles("test6");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CONSTRUCTOR, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CONSTRUCTOR, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Delete field
-	 */
-	public void test7() {
-		deployBundles("test7");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Delete clinit
-	 */
-	public void test8() {
-		deployBundles("test8");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CLINIT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Addition of clinit
-	 */
-	public void test9() {
-		deployBundles("test9");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CLINIT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Reorder of members
-	 */
-	public void test10() {
-		deployBundles("test10");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		assertTrue("Not empty", delta.isEmpty());
-		assertTrue("Different from NO_DELTA", delta == ApiComparator.NO_DELTA);
-	}
-	
-	/**
-	 * Removal of private field
-	 */
-	public void test11() {
-		deployBundles("test11");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertFalse("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Addition of private field
-	 */
-	public void test12() {
-		deployBundles("test12");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	/**
-	 * Removal of default field
-	 */
-	public void test13() {
-		deployBundles("test13");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertFalse("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Addition of default field
-	 */
-	public void test14() {
-		deployBundles("test14");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Removal of private method
-	 */
-	public void test15() {
-		deployBundles("test15");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertFalse("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Addition of private method
-	 */
-	public void test16() {
-		deployBundles("test16");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	/**
-	 * Removal of default method
-	 */
-	public void test17() {
-		deployBundles("test17");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertFalse("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Addition of default method
-	 */
-	public void test18() {
-		deployBundles("test18");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Removal of private constructor
-	 */
-	public void test19() {
-		deployBundles("test19");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertFalse("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.CONSTRUCTOR, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Addition of private constructor
-	 */
-	public void test20() {
-		deployBundles("test20");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.CONSTRUCTOR, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	/**
-	 * Removal of default constructor
-	 */
-	public void test21() {
-		deployBundles("test21");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertFalse("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.CONSTRUCTOR, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Addition of default constructor
-	 */
-	public void test22() {
-		deployBundles("test22");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.CONSTRUCTOR, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Abstract to non-abstract
-	 */
-	public void test23() {
-		deployBundles("test23");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ABSTRACT_TO_NON_ABSTRACT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Non-abstract to abstract
-	 */
-	public void test24() {
-		deployBundles("test24");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.NON_ABSTRACT_TO_ABSTRACT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * final to non-final
-	 */
-	public void test25() {
-		deployBundles("test25");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.FINAL_TO_NON_FINAL, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Non-final to final
-	 */
-	public void test26() {
-		deployBundles("test26");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.NON_FINAL_TO_FINAL, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Add type parameter - no existing type parameter
-	 */
-	public void test27() {
-		deployBundles("test27");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_PARAMETERS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add type parameter - existing type parameters
-	 */
-	public void test28() {
-		deployBundles("test28");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_PARAMETER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Remove type parameter
-	 */
-	public void test29() {
-		deployBundles("test29");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_PARAMETERS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Rename type parameter
-	 */
-	public void test30() {
-		deployBundles("test30");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_PARAMETER_NAME, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * remove type parameter bound
-	 */
-	public void test31() {
-		deployBundles("test31");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CLASS_BOUND, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.INTERFACE_BOUNDS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add type parameter bound (interface bound)
-	 */
-	public void test32() {
-		deployBundles("test32");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.INTERFACE_BOUNDS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Add type parameter bound (class bound)
-	 */
-	public void test33() {
-		deployBundles("test33");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CLASS_BOUND, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-	}
-	
-	/**
-	 * Decrease access
-	 */
-	public void test34() {
-		deployBundles("test34");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.DECREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-	}
-
-	/**
-	 * Decrease access
-	 */
-	public void test35() {
-		deployBundles("test35");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.DECREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Decrease access
-	 */
-	public void test36() {
-		deployBundles("test36");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.DECREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Increase access
-	 */
-	public void test37() {
-		deployBundles("test37");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.INCREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Increase access
-	 */
-	public void test38() {
-		deployBundles("test38");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.INCREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Increase access
-	 */
-	public void test39() {
-		deployBundles("test39");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.INCREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Increase access
-	 */
-	public void test40() {
-		deployBundles("test40");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.INCREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Increase access
-	 */
-	public void test41() {
-		deployBundles("test41");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.INCREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Increase access
-	 */
-	public void test42() {
-		deployBundles("test42");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.INCREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	/**
-	 * Decrease access
-	 */
-	public void test43() {
-		deployBundles("test43");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.DECREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Decrease access
-	 */
-	public void test44() {
-		deployBundles("test44");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.DECREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Remove class bound from type parameter
-	 */
-	public void test45() {
-		deployBundles("test45");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CLASS_BOUND, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Add interface bound from type parameter
-	 */
-	public void test46() {
-		deployBundles("test46");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.INTERFACE_BOUND, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Remove interface bound from type parameter
-	 */
-	public void test47() {
-		deployBundles("test47");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.INTERFACE_BOUND, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Reorder interface bound from type parameter
-	 */
-	public void test48() {
-		deployBundles("test48");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.INTERFACE_BOUND, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Changed direct superclass
-	 */
-	public void test49() {
-		deployBundles("test49");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.SUPERCLASS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Changed indirect superclass
-	 */
-	public void test50() {
-		deployBundles("test50");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 3, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.SUPERCLASS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.EXPANDED_SUPERCLASS_SET, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[2];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.EXPANDED_SUPERCLASS_SET, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Changed indirect superclass
-	 */
-	public void test51() {
-		deployBundles("test51");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 3, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CONTRACTED_SUPERCLASS_SET, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CONTRACTED_SUPERCLASS_SET, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[2];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.SUPERCLASS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Changed direct superinterface
-	 */
-	public void test52() {
-		deployBundles("test52");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_COMPONENT_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CONTRACTED_SUPERINTERFACES_SET, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Changed direct superinterface
-	 */
-	public void test53() {
-		deployBundles("test53");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CONTRACTED_SUPERINTERFACES_SET, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Changed direct superinterface
-	 */
-	public void test54() {
-		deployBundles("test54");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.EXPANDED_SUPERINTERFACES_SET, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Changed direct superinterface
-	 */
-	public void test55() {
-		deployBundles("test55");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.EXPANDED_SUPERINTERFACES_SET, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Move method up in hierarchy
-	 */
-	public void test56() {
-		deployBundles("test56");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Has no extend restrictions", !RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_MOVED_UP, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Move field up in hierarchy
-	 */
-	public void test57() {
-		deployBundles("test57");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertFalse("Extend restrictions", RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.FIELD_MOVED_UP, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Remove an anonymous class - no delta
-	 */
-	public void test58() {
-		deployBundles("test58");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		assertTrue("Not empty", delta.isEmpty());
-		assertTrue("Different from NO_DELTA", delta == ApiComparator.NO_DELTA);
-	}
-
-	/**
-	 * Remove a local class - no delta
-	 */
-	public void test59() {
-		deployBundles("test59");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		assertTrue("Not empty", delta.isEmpty());
-		assertTrue("Different from NO_DELTA", delta == ApiComparator.NO_DELTA);
-	}
-
-	/**
-	 * Removal of synthetic method returns no delta
-	 */
-	public void test60() {
-		deployBundles("test60");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		assertTrue("Not empty", delta.isEmpty());
-		assertTrue("Different from NO_DELTA", delta == ApiComparator.NO_DELTA);
-	}
-	
-	/**
-	 * Addition of synthetic method returns no delta
-	 */
-	public void test61() {
-		deployBundles("test61");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		assertTrue("Not empty", delta.isEmpty());
-		assertTrue("Different from NO_DELTA", delta == ApiComparator.NO_DELTA);
-	}
-
-	/**
-	 * Addition of a field in a class that cannot be subclassed
-	 */
-	public void test62() {
-		deployBundles("test62");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("No extend restrictions", RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Addition of a field in a class that can be subclassed
-	 */
-	public void test63() {
-		deployBundles("test63");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", Util.isVisible(child));
-		assertTrue("Extend restrictions", !RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Addition of a new member type
-	 */
-	public void test64() {
-		deployBundles("test64");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Remove of member types
-	 */
-	public void test65() {
-		deployBundles("test65");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Add a member types
-	 */
-	public void test66() {
-		deployBundles("test66");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Remove a member types
-	 */
-	public void test67() {
-		deployBundles("test67");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Addition of a field in a class that cannot be subclassed (protected field)
-	 */
-	public void test68() {
-		deployBundles("test68");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("No extend restrictions", RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Addition of a field in a class that cannot be subclassed (protected field)
-	 */
-	public void test69() {
-		deployBundles("test69");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", Util.isVisible(child));
-		assertTrue("Not a protected field", Util.isProtected(child.getModifiers()));
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Decrease access (not in the default package)
-	 */
-	public void test70() {
-		deployBundles("test70");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.DECREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Move field up in hierarchy (protected field)
-	 */
-	public void test71() {
-		deployBundles("test71");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", Util.isVisible(child));
-		assertTrue("Not a protected field", Util.isProtected(child.getModifiers()));
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.FIELD_MOVED_UP, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Move method up in hierarchy (protected case)
-	 */
-	public void test72() {
-		deployBundles("test72");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Extend restrictions", !RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_MOVED_UP, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Move method up in hierarchy
-	 */
-	public void test73() {
-		deployBundles("test73");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("No extend restrictions", RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_MOVED_UP, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Addition of a new member type (not subclass restriction)
-	 */
-	public void test74() {
-		deployBundles("test74");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("No extend restrictions", RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Add a member types
-	 */
-	public void test75() {
-		deployBundles("test75");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("No extend restrictions", RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Test multiple methods with the same selector
-	 */
-	public void test76() {
-		deployBundles("test76");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		assertTrue("Not empty", delta.isEmpty());
-		assertTrue("Different from NO_DELTA", delta == ApiComparator.NO_DELTA);
-	}
-
-	/**
-	 * Remove a method with multiple methods with the same selector
-	 */
-	public void test77() {
-		deployBundles("test77");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Remove a method with multiple methods with the same selector
-	 */
-	public void test78() {
-		deployBundles("test78");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Extend restrictions", !RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Move method up in hierarchy
-	 */
-	public void test79() {
-		deployBundles("test79");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Extend restrictions", !RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_MOVED_UP, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Move field up in hierarchy
-	 */
-	public void test80() {
-		deployBundles("test80");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.FIELD_MOVED_UP, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Addition of a new member type (private)
-	 */
-	public void test81() {
-		deployBundles("test81");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Remove type member (protected)
-	 */
-	public void test82() {
-		deployBundles("test82");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	/**
-	 * Remove type member (package visibility)
-	 */
-	public void test83() {
-		deployBundles("test83");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertFalse("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Remove type member (private visibility)
-	 */
-	public void test84() {
-		deployBundles("test84");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertFalse("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Remove type member (protected visibility)
-	 */
-	public void test85() {
-		deployBundles("test85");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Remove type member (package visibility)
-	 */
-	public void test86() {
-		deployBundles("test86");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertFalse("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Remove type member (private visibility)
-	 */
-	public void test87() {
-		deployBundles("test87");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertFalse("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add type member (protected visibility)
-	 */
-	public void test88() {
-		deployBundles("test88");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add type member (private visibility)
-	 */
-	public void test89() {
-		deployBundles("test89");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add type member (package visibility)
-	 */
-	public void test90() {
-		deployBundles("test90");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add type member (protected visibility)
-	 */
-	public void test91() {
-		deployBundles("test91");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("No extend restrictions", RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add type member (private visibility)
-	 */
-	public void test92() {
-		deployBundles("test92");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add type member (package visibility)
-	 */
-	public void test93() {
-		deployBundles("test93");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add type member (protected visibility)
-	 */
-	public void test94() {
-		deployBundles("test94");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("No extend restrictions", RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add type member (package visibility)
-	 */
-	public void test95() {
-		deployBundles("test95");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add type member (private visibility)
-	 */
-	public void test96() {
-		deployBundles("test96");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Changed direct superinterface
-	 */
-	public void test97() {
-		deployBundles("test97");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CONTRACTED_SUPERINTERFACES_SET, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_COMPONENT_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Delta visitor test
-	 */
-	public void test98() {
-		deployBundles("test98");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		class MyDeltaVisitor extends DeltaVisitor {
-			StringBuffer buffer;
-			public MyDeltaVisitor() {
-				this.buffer = new StringBuffer();
-			}
-			@Override
-			public boolean visit(IDelta delta) {
-				if (delta.getChildren().length != 0) {
-					this.buffer.append('[');
-				} else {
-					switch(delta.getKind()) {
-						case IDelta.REMOVED :
-							this.buffer.append("REMOVED");
-							break;
-						case IDelta.CHANGED :
-							this.buffer.append("CHANGED");
-							break;
-					}
-				}
-				return super.visit(delta);
-			}
-			@Override
-			public void endVisit(IDelta delta) {
-				if (delta.getChildren().length != 0) {
-					this.buffer.append(']');
-				}
-				super.endVisit(delta);
-			}
-		}
-		MyDeltaVisitor visitor = new MyDeltaVisitor();
-		delta.accept(visitor);
-		assertEquals("wrong value", "[REMOVED[CHANGED]]", String.valueOf(visitor.buffer));
-	}
-
-	/**
-	 * Add static field in subclassable class
-	 */
-	public void test99() {
-		deployBundles("test99");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", Util.isVisible(child));
-		assertTrue("Not static", Flags.isStatic(child.getModifiers()));
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		try {
-			DeltaXmlVisitor xmlVisitor = new DeltaXmlVisitor();
-			delta.accept(xmlVisitor);
-			assertNotNull("No XML", xmlVisitor.getXML());
-		} catch (CoreException e) {
-			ApiPlugin.log(e);
-		}
-	}
-
-	/**
-	 * Delete protected field
-	 */
-	public void test100() {
-		deployBundles("test100");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertTrue("Not extend restrictions", RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Removing API type
-	 */
-	public void test101() {
-		deployBundles("test101");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after, VisibilityModifiers.API);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_COMPONENT_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Changing visibility of a non-api type
-	 */
-	public void test102() {
-		deployBundles("test102");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after, VisibilityModifiers.PRIVATE);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_VISIBILITY, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_COMPONENT_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Changing visibility of an api type (checking only private types)
-	 */
-	public void test103() {
-		deployBundles("test103");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after, VisibilityModifiers.PRIVATE);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.API_COMPONENT_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Addition of a field in a class that cannot implicitly be subclassed
-	 */
-	public void test104() {
-		deployBundles("test104");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		// implicit restrictions
-		assertTrue("No extend restrictions", RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Remove a method with multiple methods with the same selector
-	 * protected method with extend restrictions
-	 */
-	public void test105() {
-		deployBundles("test105");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertTrue("Not extend restrictions", RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Remove a method with multiple methods with the same selector
-	 * protected method with no extend restrictions
-	 */
-	public void test106() {
-		deployBundles("test106");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Remove a constructor with multiple methods with the same selector
-	 * protected constructor with extend restrictions
-	 */
-	public void test107() {
-		deployBundles("test107");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertTrue("Not extend restrictions", RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.CONSTRUCTOR, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Remove a constructor with multiple methods with the same selector
-	 * protected constructor with no extend restrictions
-	 */
-	public void test108() {
-		deployBundles("test108");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CONSTRUCTOR, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	/**
-	 * Add a protected method in a class with extend restriction
-	 */
-	public void test109() {
-		deployBundles("test109");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", Util.isVisible(child));
-		assertTrue("No extend restriction", RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Delete public field with extend restrictions
-	 */
-	public void test110() {
-		deployBundles("test110");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertTrue("Not extend restrictions", RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Remove a method with multiple methods with the same selector
-	 * public method with extend restrictions
-	 */
-	public void test111() {
-		deployBundles("test111");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertTrue("Not extend restrictions", RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	/**
-	 * Remove a constructor with multiple methods with the same selector
-	 * public constructor with extend restrictions
-	 */
-	public void test112() {
-		deployBundles("test112");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertTrue("Not extend restrictions", RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.CONSTRUCTOR, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/DeltaTestSetup.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/DeltaTestSetup.java
deleted file mode 100644
index 80d504d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/DeltaTestSetup.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.comparator.tests;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.pde.api.tools.internal.builder.BuilderMessages;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.model.tests.TestSuiteHelper;
-
-import com.ibm.icu.text.MessageFormat;
-
-public abstract class DeltaTestSetup extends TestCase {
-	private static final String TESTS_DELTAS_NAME = "tests-deltas";
-	
-	protected static final String BUNDLE_NAME = "deltatest";
-
-	private static final String WORKSPACE_NAME = "tests_deltas_workspace";
-
-	private static IPath WORKSPACE_ROOT;
-
-	private static final String BEFORE = "before";
-	private static final String AFTER = "after";
-	
-	private static final IDelta[] EMPTY_CHILDREN = new IDelta[0];
-
-	static {
-		WORKSPACE_ROOT = TestSuiteHelper.getPluginDirectoryPath().append(WORKSPACE_NAME);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		// create workspace root
-		new File(WORKSPACE_ROOT.toOSString()).mkdirs();
-	}
-	
-	protected void tearDown() throws Exception {
-		// remove workspace root
-		assertTrue(TestSuiteHelper.delete(new File(WORKSPACE_ROOT.toOSString())));
-		super.tearDown();
-	}
-
-	public DeltaTestSetup(String name) {
-		super(name);
-	}
-
-	public abstract String getTestRoot();
-
-	/**
-	 * The test name must be the folder name inside the tests-deltas resource folder
-	 * <code>name</code> represents either "before" or "after"
-	 * 
-	 * @param testName the given test name
-	 * @param name the given state name
-	 */
-	private void deployBundle(String testName, String name) {
-		String[] sourceFilePaths = new String[] {
-				TestSuiteHelper.getPluginDirectoryPath().append(TESTS_DELTAS_NAME).append(getTestRoot()).append(testName).append(name).toOSString()
-		};
-		IPath destinationPath = WORKSPACE_ROOT.append(name).append(BUNDLE_NAME);
-		String[] compilerOptions = TestSuiteHelper.COMPILER_OPTIONS;
-		assertTrue(TestSuiteHelper.compile(sourceFilePaths, destinationPath.toOSString(), compilerOptions));
-		
-		// copy the MANIFEST in the workspace folder
-		copyResources(testName, name, destinationPath.toOSString());
-	}
-
-	/**
-	 * @param testName the given test name
-	 * @param name either BEFORE or AFTER
-	 * @param destination where to put the resources
-	 */
-	private void copyResources(String testName, String name, String destination) {
-		IPath path = TestSuiteHelper.getPluginDirectoryPath();
-		path = path.append(TESTS_DELTAS_NAME).append("resources");
-		File file = path.toFile();
-		File dest = new File(destination);
-		TestSuiteHelper.copy(file, dest);
-
-		// check if there is specific local resources to copy
-		path = TestSuiteHelper.getPluginDirectoryPath();
-		path = path.append(TESTS_DELTAS_NAME).append(getTestRoot()).append(testName).append("resources").append(name);
-		file = path.toFile();
-		if (file.exists()) {
-			TestSuiteHelper.copy(file, dest);
-			return;
-		}
-
-		// check if there is a global local resources to copy
-		path = TestSuiteHelper.getPluginDirectoryPath();
-		path = path.append(TESTS_DELTAS_NAME).append(getTestRoot()).append(testName).append("resources");
-		file = path.toFile();
-		if (file.exists()) {
-			TestSuiteHelper.copy(file, dest);
-		}
-	}
-	
-	protected IApiProfile getBeforeState() {
-		IApiProfile state = null;
-		try {
-			state = TestSuiteHelper.createTestingProfile(getBaseLineFolder(BEFORE));
-		} catch (CoreException e) {
-			e.printStackTrace();
-			assertTrue("Should not happen", false);
-		}
-		return state;
-	}
-	
-	protected IApiProfile getAfterState() {
-		IApiProfile state = null;
-		try {
-			state = TestSuiteHelper.createTestingProfile(getBaseLineFolder(AFTER));
-		} catch (CoreException e) {
-			e.printStackTrace();
-			assertTrue("Should not happen", false);
-		}
-		return state;
-	}
-
-	private IPath getBaseLineFolder(String name) {
-		return new Path(WORKSPACE_NAME).append(name);
-	}
-
-	/**
-	 * Sort the resulting deltas based first on their kind and then on their flags
-	 *
-	 * @param delta the given delta
-	 * @return the sorted list of children if any, an empty array otherwise
-	 */
-	protected IDelta[] collectLeaves(IDelta delta) {
-		assertTrue("Should not be NO_DELTA", delta != ApiComparator.NO_DELTA);
-		List<IDelta> leaves = new ArrayList<IDelta>();
-		collect0(delta, leaves);
-		int size = leaves.size();
-		if (size == 0) return EMPTY_CHILDREN;
-
-		IDelta[] result = new IDelta[size];
-		leaves.toArray(result);
-		Arrays.sort(result, new Comparator<IDelta>() {
-			public int compare(IDelta delta, IDelta delta2) {
-				int kind = delta.getKind();
-				int kind2 = delta2.getKind();
-				if (kind == kind2) {
-					int flags = delta.getFlags();
-					int flags2 = delta2.getFlags();
-					if (flags == flags2) {
-						return delta.getKey().compareTo(delta2.getKey());
-					}
-					return flags - flags2;
-				}
-				return kind - kind2;
-			}
-		});
-		String unknownMessageStart = MessageFormat.format(BuilderMessages.ApiProblemFactory_problem_message_not_found, new String[0]);
-		for (int i = 0, max = result.length; i < max; i++) {
-			IDelta leafDelta = result[i];
-			String message = leafDelta.getMessage();
-			assertNotNull("No message", message);
-			assertFalse("Should not be an unknown message : " + leafDelta, message.startsWith(unknownMessageStart));
-		}
-		return result;
-	}
-	
-	private void collect0(IDelta delta, List<IDelta> collect) {
-		IDelta[] children = delta.getChildren();
-		int length = children.length;
-		if (length != 0) {
-			for (int i = 0; i < length; i++) {
-				collect0(children[i], collect);
-			}
-		} else {
-			collect.add(delta);
-		}
-	}
-	
-	protected void deployBundles(String testName) {
-		deployBundle(testName, BEFORE);
-		deployBundle(testName, AFTER);
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/EnumDeltaTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/EnumDeltaTests.java
deleted file mode 100644
index 76331fc..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/EnumDeltaTests.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.comparator.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * Delta tests for enum
- */
-public class EnumDeltaTests extends DeltaTestSetup {
-	
-	public static Test suite() {
-		if (true) return new TestSuite(EnumDeltaTests.class);
-		TestSuite suite = new TestSuite(EnumDeltaTests.class.getName());
-		suite.addTest(new EnumDeltaTests("test3"));
-		suite.addTest(new EnumDeltaTests("test4"));
-		return suite;
-	}
-
-	public EnumDeltaTests(String name) {
-		super(name);
-	}
-
-	public String getTestRoot() {
-		return "enum";
-	}
-	
-	/**
-	 * delete enum constant
-	 */
-	public void test1() {
-		deployBundles("test1");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ENUM_CONSTANT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ENUM_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * rename enum constant = remove + add
-	 */
-	public void test2() {
-		deployBundles("test2");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ENUM_CONSTANT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ENUM_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ENUM_CONSTANT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ENUM_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add enum constant arguments
-	 */
-	public void test3() {
-		deployBundles("test3");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.CONSTRUCTOR, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ENUM_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertFalse("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.CONSTRUCTOR, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ENUM_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Change enum constant arguments
-	 */
-	public void test4() {
-		deployBundles("test4");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.CONSTRUCTOR, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ENUM_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertFalse("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.CONSTRUCTOR, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ENUM_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Add new enum constant
-	 */
-	public void test5() {
-		deployBundles("test5");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ENUM_CONSTANT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ENUM_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add new enum constant
-	 */
-	public void test6() {
-		deployBundles("test6");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		assertTrue("Not empty", delta.isEmpty());
-		assertTrue("Different from NO_DELTA", delta == ApiComparator.NO_DELTA);
-	}
-	
-	/**
-	 * Added non visible method
-	 */
-	public void test7() {
-		deployBundles("test7");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ENUM_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Added non visible method
-	 */
-	public void test8() {
-		deployBundles("test8");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ENUM_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/FieldDeltaTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/FieldDeltaTests.java
deleted file mode 100644
index a61bf8d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/FieldDeltaTests.java
+++ /dev/null
@@ -1,919 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.comparator.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * Delta tests for field
- */
-
-public class FieldDeltaTests extends DeltaTestSetup {
-	public static Test suite() {
-		if (true) return new TestSuite(FieldDeltaTests.class);
-		TestSuite suite = new TestSuite(FieldDeltaTests.class.getName());
-		suite.addTest(new FieldDeltaTests("test37"));
-		return suite;
-	}
-
-	public String getTestRoot() {
-		return "field";
-	}
-	
-	public FieldDeltaTests(String name) {
-		super(name);
-	}
-	/**
-	 * Check change field type (interface)
-	 */
-	public void test1() {
-		deployBundles("test1");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Check change field value (interface)
-	 */
-	public void test2() {
-		deployBundles("test2");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Check change field type (class)
-	 */
-	public void test3() {
-		deployBundles("test3");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.TYPE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Check change field value (class)
-	 */
-	public void test4() {
-		deployBundles("test4");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Check change field value (class) - no delta
-	 */
-	public void test5() {
-		deployBundles("test5");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		assertTrue("Not empty", delta.isEmpty());
-		assertTrue("Different from NO_DELTA", delta == ApiComparator.NO_DELTA);
-	}
-
-	/**
-	 * Check decrease field visibility - public to protected
-	 */
-	public void test6() {
-		deployBundles("test6");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.DECREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Check decrease field visibility - public to default
-	 */
-	public void test7() {
-		deployBundles("test7");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.DECREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Check decrease field visibility - public to private
-	 */
-	public void test8() {
-		deployBundles("test8");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.DECREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Check increase field visibility - protected to public
-	 */
-	public void test9() {
-		deployBundles("test9");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.INCREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Check increase field visibility - default to public
-	 */
-	public void test10() {
-		deployBundles("test10");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.INCREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Check increase field visibility - private to public
-	 */
-	public void test11() {
-		deployBundles("test11");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.INCREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Check increase field modifiers - final to non-final (field non static)
-	 */
-	public void test12() {
-		deployBundles("test12");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.FINAL_TO_NON_FINAL_NON_STATIC, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Check increase field modifiers - final to non-final (field non static)
-	 */
-	public void test13() {
-		deployBundles("test13");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.NON_FINAL_TO_FINAL, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Check increase field modifiers - final to non-final (field non static)
-	 */
-	public void test14() {
-		deployBundles("test14");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 3, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CLINIT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.FINAL_TO_NON_FINAL_STATIC_CONSTANT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[2];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Check increase field modifiers - final to non-final (field non static)
-	 */
-	public void test15() {
-		deployBundles("test15");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.FINAL_TO_NON_FINAL_STATIC_NON_CONSTANT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Check change field modifiers - static to non static
-	 */
-	public void test16() {
-		deployBundles("test16");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.STATIC_TO_NON_STATIC, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Check change field modifiers - non static to static
-	 */
-	public void test17() {
-		deployBundles("test17");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.NON_STATIC_TO_STATIC, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Check change field modifiers - transient to non transient
-	 */
-	public void test18() {
-		deployBundles("test18");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TRANSIENT_TO_NON_TRANSIENT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Check change field modifiers - non transient to transient
-	 */
-	public void test19() {
-		deployBundles("test19");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.NON_TRANSIENT_TO_TRANSIENT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Decrease access
-	 */
-	public void test20() {
-		deployBundles("test20");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.DECREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Decrease access
-	 */
-	public void test21() {
-		deployBundles("test21");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.DECREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Changed static non final to static final
-	 */
-	public void test22() {
-		deployBundles("test22");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.NON_FINAL_TO_FINAL, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Check increase field modifiers - final to non-final (field non static)
-	 */
-	public void test23() {
-		deployBundles("test23");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 3, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CLINIT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.FINAL_TO_NON_FINAL_STATIC_CONSTANT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[2];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Changed value of non-visible field (default)
-	 */
-	public void test24() {
-		deployBundles("test24");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Check increase field modifiers - final to non-final (field non static)
-	 */
-	public void test25() {
-		deployBundles("test25");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 3, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CLINIT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.FINAL_TO_NON_FINAL_STATIC_CONSTANT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[2];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Changed value of non-visible field (private)
-	 */
-	public void test26() {
-		deployBundles("test26");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Added value of non-visible field (private)
-	 */
-	public void test27() {
-		deployBundles("test27");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.NON_FINAL_TO_FINAL, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Changed value of non-visible field (protected with extend restrictions)
-	 */
-	public void test28() {
-		deployBundles("test28");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertTrue("Is visible", Util.isVisible(child));
-		assertTrue("No extend restrictions", RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	/**
-	 * Changed List&lt;Integer&gt; to List&lt;String&gt;
-	 */
-	public void test29() {
-		deployBundles("test29");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	/**
-	 * Changed Map&lt;String, Integer&gt; to Map&lt;String, String&gt;
-	 */
-	public void test30() {
-		deployBundles("test30");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Changed Map to Map&lt;String, String&gt;
-	 */
-	public void test31() {
-		deployBundles("test31");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_ARGUMENTS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	/**
-	 * Changed List&lt;String&gt; to ArrayList&lt;String&gt;
-	 */
-	public void test32() {
-		deployBundles("test32");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Changed ArrayList&lt;String&gt; to ArrayList
-	 */
-	public void test33() {
-		deployBundles("test33");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_ARGUMENTS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Changed X&lt;String, Integer, Number&gt; to X&lt;Integer, String, Number&gt;
-	 */
-	public void test34() {
-		deployBundles("test34");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=218976
-	 */
-	public void test35() {
-		deployBundles("test35");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertTrue("Is visible", Util.isVisible(child));
-		assertTrue("No extend restrictions", RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=222905
-	 */
-	public void test36() {
-		deployBundles("test36");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertTrue("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	/**
-	 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=222905
-	 */
-	public void test37() {
-		deployBundles("test37");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertTrue("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.FIELD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/InterfaceDeltaTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/InterfaceDeltaTests.java
deleted file mode 100644
index 6ccc27f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/InterfaceDeltaTests.java
+++ /dev/null
@@ -1,598 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.comparator.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-
-/**
- * Delta tests for interface
- */
-
-public class InterfaceDeltaTests extends DeltaTestSetup {
-	public static Test suite() {
-		if (true) return new TestSuite(InterfaceDeltaTests.class);
-		TestSuite suite = new TestSuite(InterfaceDeltaTests.class.getName());
-		suite.addTest(new InterfaceDeltaTests("test22"));
-		return suite;
-	}
-
-	public String getTestRoot() {
-		return "interface";
-	}
-	
-	public InterfaceDeltaTests(String name) {
-		super(name);
-	}
-	/**
-	 * delete API method
-	 */
-	public void test1() {
-		deployBundles("test1");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * delete API field
-	 */
-	public void test2() {
-		deployBundles("test2");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Reorder of members
-	 */
-	public void test3() {
-		deployBundles("test3");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		assertTrue("Not empty", delta.isEmpty());
-		assertTrue("Different from NO_DELTA", delta == ApiComparator.NO_DELTA);
-	}
-
-	/**
-	 * Add type parameter
-	 */
-	public void test4() {
-		deployBundles("test4");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_PARAMETERS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add type parameter
-	 */
-	public void test5() {
-		deployBundles("test5");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_PARAMETER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Delete type parameter
-	 */
-	public void test6() {
-		deployBundles("test6");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_PARAMETERS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Delete type parameter
-	 */
-	public void test7() {
-		deployBundles("test7");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_PARAMETER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Reorder of type parameter
-	 */
-	public void test8() {
-		deployBundles("test8");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 4, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.INTERFACE_BOUNDS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CLASS_BOUND, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[2];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CLASS_BOUND, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[3];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.INTERFACE_BOUNDS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Rename of type parameter
-	 */
-	public void test9() {
-		deployBundles("test9");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_PARAMETER_NAME, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_PARAMETER_NAME, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Add super interface
-	 */
-	public void test10() {
-		deployBundles("test10");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.EXPANDED_SUPERINTERFACES_SET, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Remove super interface
-	 */
-	public void test11() {
-		deployBundles("test11");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CONTRACTED_SUPERINTERFACES_SET, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Remove super interface
-	 */
-	public void test12() {
-		deployBundles("test12");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CONTRACTED_SUPERINTERFACES_SET, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add super interface
-	 */
-	public void test13() {
-		deployBundles("test13");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.EXPANDED_SUPERINTERFACES_SET, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Addition of a field in an interface that cannot be implemented
-	 */
-	public void test14() {
-		deployBundles("test14");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Not implement restrictions", RestrictionModifiers.isImplementRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Addition of a field in an interface that can be implemented
-	 */
-	public void test15() {
-		deployBundles("test15");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Implement restrictions", !RestrictionModifiers.isImplementRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Move method up in hierarchy
-	 */
-	public void test16() {
-		deployBundles("test16");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Not implement restrictions", RestrictionModifiers.isImplementRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_MOVED_UP, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Move method up in hierarchy
-	 */
-	public void test17() {
-		deployBundles("test17");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertFalse("Is implement restrictions", RestrictionModifiers.isImplementRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD_MOVED_UP, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add a member types
-	 */
-	public void test18() {
-		deployBundles("test18");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Not implement restrictions", RestrictionModifiers.isImplementRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add a member types
-	 */
-	public void test19() {
-		deployBundles("test19");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertFalse("Is implement restrictions", RestrictionModifiers.isImplementRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add member types
-	 */
-	public void test20() {
-		deployBundles("test20");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Not implement restrictions", RestrictionModifiers.isImplementRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Not implement restrictions", RestrictionModifiers.isImplementRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Remove member types
-	 */
-	public void test21() {
-		deployBundles("test21");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add member types
-	 */
-	public void test22() {
-		deployBundles("test22");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertFalse("Is implement restrictions", RestrictionModifiers.isImplementRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertFalse("Is implement restrictions", RestrictionModifiers.isImplementRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.TYPE_MEMBER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Move field up in hierarchy
-	 */
-	public void test23() {
-		deployBundles("test23");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertFalse("Is implement restrictions", RestrictionModifiers.isImplementRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.FIELD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.FIELD_MOVED_UP, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/MethodDeltaTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/MethodDeltaTests.java
deleted file mode 100644
index d06d331..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/MethodDeltaTests.java
+++ /dev/null
@@ -1,1285 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.comparator.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * Delta tests for method
- */
-public class MethodDeltaTests extends DeltaTestSetup {
-	
-	public static Test suite() {
-		if (true) return new TestSuite(MethodDeltaTests.class);
-		TestSuite suite = new TestSuite(MethodDeltaTests.class.getName());
-		suite.addTest(new MethodDeltaTests("test54"));
-		return suite;
-	}
-
-	public MethodDeltaTests(String name) {
-		super(name);
-	}
-
-	public String getTestRoot() {
-		return "method";
-	}
-
-	/**
-	 * Change method body
-	 */
-	public void test1() {
-		deployBundles("test1");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		assertTrue("Not empty", delta.isEmpty());
-		assertTrue("Different from NO_DELTA", delta == ApiComparator.NO_DELTA);
-	}
-
-	/**
-	 * rename method parameter
-	 */
-	public void test2() {
-		deployBundles("test2");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		assertTrue("Not empty", delta.isEmpty());
-		assertTrue("Different from NO_DELTA", delta == ApiComparator.NO_DELTA);
-	}
-	
-	/**
-	 * Change method name
-	 */
-	public void test3() {
-		deployBundles("test3");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Extend restrictions", !RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Add formal parameter
-	 */
-	public void test4() {
-		deployBundles("test4");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Extend restrictions", !RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Delete formal parameter
-	 */
-	public void test5() {
-		deployBundles("test5");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Extend restrictions", !RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Change type of formal parameter
-	 */
-	public void test6() {
-		deployBundles("test6");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Extend restrictions", !RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Change result type
-	 */
-	public void test7() {
-		deployBundles("test7");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Extend restrictions", !RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add checked exception
-	 */
-	public void test8() {
-		deployBundles("test8");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CHECKED_EXCEPTION, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add unchecked exception
-	 */
-	public void test9() {
-		deployBundles("test9");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.UNCHECKED_EXCEPTION, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Remove checked exception
-	 */
-	public void test10() {
-		deployBundles("test10");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CHECKED_EXCEPTION, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Remove unchecked exception
-	 */
-	public void test11() {
-		deployBundles("test11");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.UNCHECKED_EXCEPTION, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Reorder list of thrown exceptions
-	 */
-	public void test12() {
-		deployBundles("test12");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		assertTrue("Not empty", delta.isEmpty());
-		assertTrue("Different from NO_DELTA", delta == ApiComparator.NO_DELTA);
-	}
-	
-	/**
-	 * Decrease visibility
-	 */
-	public void test13() {
-		deployBundles("test13");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.DECREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Decrease visibility
-	 */
-	public void test14() {
-		deployBundles("test14");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.DECREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Decrease visibility
-	 */
-	public void test15() {
-		deployBundles("test15");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.DECREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Decrease visibility
-	 */
-	public void test16() {
-		deployBundles("test16");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.DECREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Decrease visibility
-	 */
-	public void test17() {
-		deployBundles("test17");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.DECREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Increase visibility
-	 */
-	public void test18() {
-		deployBundles("test18");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.INCREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Increase visibility
-	 */
-	public void test19() {
-		deployBundles("test19");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.INCREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Increase visibility
-	 */
-	public void test20() {
-		deployBundles("test20");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.INCREASE_ACCESS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Abstract to non-abstract
-	 */
-	public void test21() {
-		deployBundles("test21");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ABSTRACT_TO_NON_ABSTRACT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * non-abstract to abstract
-	 */
-	public void test22() {
-		deployBundles("test22");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.NON_ABSTRACT_TO_ABSTRACT, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * final to non-final
-	 */
-	public void test23() {
-		deployBundles("test23");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.FINAL_TO_NON_FINAL, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * non-final to final
-	 */
-	public void test24() {
-		deployBundles("test24");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertTrue("Extend restrictions", !RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.NON_FINAL_TO_FINAL, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * static to non-static
-	 */
-	public void test25() {
-		deployBundles("test25");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.STATIC_TO_NON_STATIC, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * non-static to static
-	 */
-	public void test26() {
-		deployBundles("test26");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.NON_STATIC_TO_STATIC, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * native to non-native
-	 */
-	public void test27() {
-		deployBundles("test27");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.NATIVE_TO_NON_NATIVE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * non-native to native
-	 */
-	public void test28() {
-		deployBundles("test28");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.NON_NATIVE_TO_NATIVE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * synchronized to non-synchronized
-	 */
-	public void test29() {
-		deployBundles("test29");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.SYNCHRONIZED_TO_NON_SYNCHRONIZED, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * non-synchronized to synchronized
-	 */
-	public void test30() {
-		deployBundles("test30");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.NON_SYNCHRONIZED_TO_SYNCHRONIZED, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add type parameters
-	 */
-	public void test31() {
-		deployBundles("test31");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_PARAMETERS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Add type parameter
-	 */
-	public void test32() {
-		deployBundles("test32");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_PARAMETER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Delete type parameters
-	 */
-	public void test33() {
-		deployBundles("test33");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_PARAMETERS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Delete type parameter
-	 */
-	public void test34() {
-		deployBundles("test34");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_PARAMETER, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Rename type parameter
-	 */
-	public void test35() {
-		deployBundles("test35");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_PARAMETER_NAME, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Reorder type parameters + changed class bound and interface bound
-	 */
-	public void test36() {
-		deployBundles("test36");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 6, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.INTERFACE_BOUNDS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CLASS_BOUND, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[2];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CLASS_BOUND, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[3];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_PARAMETER_NAME, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[4];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TYPE_PARAMETER_NAME, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[5];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.INTERFACE_BOUNDS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Change last parameter from array to varargs
-	 */
-	public void test37() {
-		deployBundles("test37");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ARRAY_TO_VARARGS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Change last parameter from varargs to array
-	 */
-	public void test38() {
-		deployBundles("test38");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.VARARGS_TO_ARRAY, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Removed unchecked exception
-	 */
-	public void test39() {
-		deployBundles("test39");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.UNCHECKED_EXCEPTION, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Removed checked exception
-	 */
-	public void test40() {
-		deployBundles("test40");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CHECKED_EXCEPTION, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Add checked exception
-	 */
-	public void test41() {
-		deployBundles("test41");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.CHECKED_EXCEPTION, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Added unchecked exception
-	 */
-	public void test42() {
-		deployBundles("test42");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.UNCHECKED_EXCEPTION, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * Added default value
-	 */
-	public void test43() {
-		deployBundles("test43");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ANNOTATION_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Removed default value
-	 */
-	public void test44() {
-		deployBundles("test44");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ANNOTATION_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Changed default value
-	 */
-	public void test45() {
-		deployBundles("test45");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.ANNOTATION_DEFAULT_VALUE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * non-final to final
-	 */
-	public void test46() {
-		deployBundles("test46");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.NON_FINAL_TO_FINAL, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * change return type of a package visible method
-	 */
-	public void test47() {
-		deployBundles("test47");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.REMOVED, child.getKind());
-		assertFalse("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add checked exception
-	 */
-	public void test48() {
-		deployBundles("test48");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Is visible", !Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.CHECKED_EXCEPTION, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Added abstract method
-	 */
-	public void test49() {
-		deployBundles("test49");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Not visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Changes in a non-visible type should not report delta when only API is requested
-	 */
-	public void test50() {
-		deployBundles("test50");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after, VisibilityModifiers.API);
-		assertNotNull("No delta", delta);
-		assertTrue("No NO_DELTA", delta == ApiComparator.NO_DELTA);
-	}
-
-	/**
-	 * Changes in a visible type should report delta when only API is requested
-	 */
-	public void test51() {
-		deployBundles("test51");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after, VisibilityModifiers.API);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Extend restrictions", !RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Changes in a visible type should report delta when only API is requested
-	 * with extend restriction
-	 */
-	public void test52() {
-		deployBundles("test52");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after, VisibilityModifiers.API);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("No extend restrictions", RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Changes in a visible type should report delta when only API is requested
-	 */
-	public void test53() {
-		deployBundles("test53");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after, VisibilityModifiers.ALL_VISIBILITIES);
-		assertNotNull("No delta", delta);
-		assertFalse("Should not be NO_DELTA", delta == ApiComparator.NO_DELTA);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Extend restrictions", !RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * Add static to a private method
-	 */
-	public void test54() {
-		deployBundles("test54");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after, VisibilityModifiers.ALL_VISIBILITIES);
-		assertNotNull("No delta", delta);
-		assertFalse("Should not be NO_DELTA", delta == ApiComparator.NO_DELTA);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertFalse("Is visible", Util.isVisible(child));
-		assertEquals("Wrong flag", IDelta.NON_STATIC_TO_STATIC, child.getFlags());
-		assertEquals("Wrong element type", IDelta.METHOD_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/MixedTypesDeltaTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/MixedTypesDeltaTests.java
deleted file mode 100644
index 2e800b0..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/MixedTypesDeltaTests.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.comparator.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-
-/**
- * Delta tests for mixed types (conversion from interface to other types, and so on)
- */
-public class MixedTypesDeltaTests extends DeltaTestSetup {
-	
-	public static Test suite() {
-		if (true) return new TestSuite(MixedTypesDeltaTests.class);
-		TestSuite suite = new TestSuite(MixedTypesDeltaTests.class.getName());
-		suite.addTest(new MixedTypesDeltaTests("test3"));
-		return suite;
-	}
-
-	public MixedTypesDeltaTests(String name) {
-		super(name);
-	}
-
-	public String getTestRoot() {
-		return "mixedtypes";
-	}
-
-	/**
-	 * From interface to enum
-	 */
-	public void test1() {
-		deployBundles("test1");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TO_ENUM, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * From interface to class
-	 */
-	public void test2() {
-		deployBundles("test2");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TO_CLASS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * From interface to annotation
-	 */
-	public void test3() {
-		deployBundles("test3");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TO_ANNOTATION, child.getFlags());
-		assertEquals("Wrong element type", IDelta.INTERFACE_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * From class to interface
-	 */
-	public void test4() {
-		deployBundles("test4");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TO_INTERFACE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * From class to enum
-	 */
-	public void test5() {
-		deployBundles("test5");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TO_ENUM, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * From class to annotation
-	 */
-	public void test6() {
-		deployBundles("test6");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TO_ANNOTATION, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * From annotation to class
-	 */
-	public void test7() {
-		deployBundles("test7");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TO_CLASS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * From annotation to enum
-	 */
-	public void test8() {
-		deployBundles("test8");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TO_ENUM, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * From annotation to interface
-	 */
-	public void test9() {
-		deployBundles("test9");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TO_INTERFACE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ANNOTATION_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * From enum to interface
-	 */
-	public void test10() {
-		deployBundles("test10");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TO_INTERFACE, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ENUM_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-	
-	/**
-	 * From enum to class
-	 */
-	public void test11() {
-		deployBundles("test11");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TO_CLASS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ENUM_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-
-	/**
-	 * From enum to annotation
-	 */
-	public void test12() {
-		deployBundles("test12");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 1, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.TO_ANNOTATION, child.getFlags());
-		assertEquals("Wrong element type", IDelta.ENUM_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/RestrictionsDeltaTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/RestrictionsDeltaTests.java
deleted file mode 100644
index db6a271..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/comparator/tests/RestrictionsDeltaTests.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.comparator.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-
-/**
- * Delta tests for restrictions delta
- */
-public class RestrictionsDeltaTests extends DeltaTestSetup {
-	
-	public static Test suite() {
-		if (true) return new TestSuite(RestrictionsDeltaTests.class);
-		TestSuite suite = new TestSuite(RestrictionsDeltaTests.class.getName());
-		suite.addTest(new RestrictionsDeltaTests("test1"));
-		return suite;
-	}
-
-	public RestrictionsDeltaTests(String name) {
-		super(name);
-	}
-
-	public String getTestRoot() {
-		return "restrictions";
-	}
-	
-	/**
-	 * delete enum constant
-	 */
-	public void test1() {
-		deployBundles("test1");
-		IApiProfile before = getBeforeState();
-		IApiProfile after = getAfterState();
-		IApiComponent beforeApiComponent = before.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", beforeApiComponent);
-		IApiComponent afterApiComponent = after.getApiComponent(BUNDLE_NAME);
-		assertNotNull("no api component", afterApiComponent);
-		IDelta delta = ApiComparator.compare(beforeApiComponent, afterApiComponent, before, after);
-		assertNotNull("No delta", delta);
-		IDelta[] allLeavesDeltas = collectLeaves(delta);
-		assertEquals("Wrong size", 2, allLeavesDeltas.length);
-		IDelta child = allLeavesDeltas[0];
-		assertEquals("Wrong kind", IDelta.ADDED, child.getKind());
-		assertTrue("Extend restrictions", !RestrictionModifiers.isExtendRestriction(child.getRestrictions()));
-		assertEquals("Wrong flag", IDelta.METHOD, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertTrue("Not binary compatible", DeltaProcessor.isBinaryCompatible(child));
-		child = allLeavesDeltas[1];
-		assertEquals("Wrong kind", IDelta.CHANGED, child.getKind());
-		assertEquals("Wrong flag", IDelta.RESTRICTIONS, child.getFlags());
-		assertEquals("Wrong element type", IDelta.CLASS_ELEMENT_TYPE, child.getElementType());
-		assertFalse("Is binary compatible", DeltaProcessor.isBinaryCompatible(child));
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiDescriptionTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiDescriptionTests.java
deleted file mode 100644
index c47ac40..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiDescriptionTests.java
+++ /dev/null
@@ -1,963 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.model.tests;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.pde.api.tools.internal.ApiDescription;
-import org.eclipse.pde.api.tools.internal.ApiSettingsXmlVisitor;
-import org.eclipse.pde.api.tools.internal.IApiCoreConstants;
-import org.eclipse.pde.api.tools.internal.provisional.ApiDescriptionVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
-import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer;
-import org.eclipse.pde.api.tools.internal.provisional.IRequiredComponentDescription;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemFilter;
-import org.eclipse.pde.api.tools.internal.provisional.scanner.ApiDescriptionProcessor;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * Tests API manifest implementation.
- * 
- * @since 1.0.0
- */
-public class ApiDescriptionTests extends TestCase {
-	
-	private IApiDescription fManifest = buildManifest();
-	
-	/**
-	 * Wraps an element with its API description
-	 */
-	class ElementDescription {
-		
-		public IElementDescriptor fElement;
-		public int fVis, fRes;
-		public String fComponent = null;
-		
-		public ElementDescription(IElementDescriptor element, int visibility, int restrictions) {
-			fElement = element;
-			fVis = visibility;
-			fRes = restrictions;
-		}
-		
-		public ElementDescription(String componentContext, IElementDescriptor element, int visibility, int restrictions) {
-			this(element, visibility, restrictions);
-			fComponent = componentContext;
-		}
-	}
-	
-	/**
-	 * Creates and returns a container for an element and expected API settings.
-	 * 
-	 * @param element
-	 * @param visibility
-	 * @param restrictions
-	 * @return
-	 */
-	public ElementDescription newDescription(IElementDescriptor element, int visibility, int restrictions) {
-		return new ElementDescription(element, visibility, restrictions);
-	}
-	
-	/**
-	 * Creates a new empty API component description, not owned by any component.
-	 * 
-	 * @return
-	 */
-	protected IApiDescription newDescription() {
-		return new ApiDescription(null);
-	}
-	
-	/**
-	 * Builds a test manifest with the following information:
-	 * 
-	 * default package: API
-	 * 		class A
-	 * 		class B 		- @noinstantiate
-	 * 			method m1 	- @noextend
-	 * 		class C 		- @noinstantiate @nosubclass
-	 * 		class D 		- @noreference
-	 * 			field f1 	- @noreference
-	 * 		interface IA
-	 * 		interface IB 	- @noimplement
-	 * package a.b.c: API
-	 * 		class A 		- @noinstantiate @nosubclass
-	 * 			method m2 	- @noreference
-	 * 		class B
-	 * 		class C			- @noextend
-	 * 		class D 		- @noinstantiate
-	 * 			field f2 	- @noreference
-	 * 		interface IC 	- @noimplement
-	 * 		interface ID
-	 * package a.b.c.spi: API
-	 * 		class SpiA
-	 * 		class SpiB 		- @noextend
-	 * 			method m3
-	 * 		class SpiC 		- @noinstantiate
-	 * 			field f4	- @noreference
-	 * 			method m4	- @noextend
-	 * 		class SpiD 		- @nosubclass @noinstantiate
-	 * 		class SpiE 		- @noreference
-	 * 			field f3
-	 * 		interface ISpiA
-	 * 		interface ISpiB - @noimplement
-	 * package a.b.c.internal: PRIVATE
-	 * 		class PA
-	 * 		class PB
-	 * 		class PC
-	 * 		class PD
-	 * 
-	 * package a.b.c.internal has API visibility for component "a.friend"
-	 * class D has SPI visibility for component "a.friend"
-	 * package a.b.c.spi has private visibility for component "no.friend"
-	 * 
-	 * @return
-	 */
-	protected IApiDescription buildManifest() {
-		IApiDescription manifest = newDescription();
-		// add packages to the manifest with default rules - public API
-		manifest.setVisibility(null, Factory.packageDescriptor(""), VisibilityModifiers.API);
-		manifest.setVisibility(null, Factory.packageDescriptor("a.b.c"), VisibilityModifiers.API);
-		manifest.setVisibility(null, Factory.packageDescriptor("a.b.c.spi"), VisibilityModifiers.SPI);
-		manifest.setVisibility(null, Factory.packageDescriptor("a.b.c.internal"), VisibilityModifiers.PRIVATE);
-		manifest.setVisibility("a.friend", Factory.packageDescriptor("a.b.c.internal"), VisibilityModifiers.API);
-		manifest.setVisibility("a.friend", Factory.typeDescriptor("D"), VisibilityModifiers.SPI);
-		manifest.setVisibility("no.friend", Factory.packageDescriptor("a.b.c.spi"), VisibilityModifiers.PRIVATE);
-		
-		// add type specific settings
-		manifest.setRestrictions(null, Factory.typeDescriptor("B"), RestrictionModifiers.NO_INSTANTIATE);
-		manifest.setRestrictions(null, Factory.typeDescriptor("C"), RestrictionModifiers.NO_EXTEND | RestrictionModifiers.NO_INSTANTIATE);
-		manifest.setRestrictions(null, Factory.typeDescriptor("D"), RestrictionModifiers.NO_REFERENCE);
-		manifest.setRestrictions(null, Factory.typeDescriptor("IB"), RestrictionModifiers.NO_IMPLEMENT);
-		
-		manifest.setRestrictions(null, Factory.typeDescriptor("a.b.c.A"), RestrictionModifiers.NO_EXTEND | RestrictionModifiers.NO_INSTANTIATE);
-		manifest.setRestrictions(null, Factory.typeDescriptor("a.b.c.C"), RestrictionModifiers.NO_EXTEND);
-		manifest.setRestrictions(null, Factory.typeDescriptor("a.b.c.D"), RestrictionModifiers.NO_INSTANTIATE);
-		manifest.setRestrictions(null, Factory.typeDescriptor("a.b.c.IC"), RestrictionModifiers.NO_IMPLEMENT);
-		
-		manifest.setRestrictions(null, Factory.typeDescriptor("a.b.c.spi.SpiB"), RestrictionModifiers.NO_EXTEND);
-		manifest.setRestrictions(null, Factory.typeDescriptor("a.b.c.spi.SpiC"), RestrictionModifiers.NO_INSTANTIATE);
-		manifest.setRestrictions(null, Factory.typeDescriptor("a.b.c.spi.SpiD"), RestrictionModifiers.NO_EXTEND | RestrictionModifiers.NO_INSTANTIATE);
-		manifest.setRestrictions(null, Factory.typeDescriptor("a.b.c.spi.SpiE"), RestrictionModifiers.NO_REFERENCE);
-		manifest.setRestrictions(null, Factory.typeDescriptor("a.b.c.spi.ISpiB"), RestrictionModifiers.NO_IMPLEMENT);		
-		
-		//add method specific settings
-		manifest.setRestrictions(null, Factory.methodDescriptor("B", "m1", Signature.createMethodSignature(new String[0], Signature.SIG_VOID)), RestrictionModifiers.NO_EXTEND);
-		manifest.setRestrictions(null, Factory.methodDescriptor("a.b.c.A","m2", Signature.createMethodSignature(new String[0], Signature.SIG_VOID)), RestrictionModifiers.NO_REFERENCE);
-		manifest.setRestrictions(null, Factory.methodDescriptor("a.b.c.spi.SpiB","m3", Signature.createMethodSignature(new String[0], Signature.SIG_VOID)), RestrictionModifiers.NO_RESTRICTIONS);
-		manifest.setRestrictions(null, Factory.methodDescriptor("a.b.c.spi.SpiC", "m4", Signature.createMethodSignature(new String[0], Signature.SIG_VOID)), RestrictionModifiers.NO_EXTEND);
-		
-		//add field specific settings
-		manifest.setRestrictions(null, Factory.fieldDescriptor("D", "f1"), RestrictionModifiers.NO_REFERENCE);
-		manifest.setRestrictions(null, Factory.fieldDescriptor("a.b.c.D","f2"), RestrictionModifiers.NO_REFERENCE);
-		manifest.setRestrictions(null, Factory.fieldDescriptor("a.b.c.spi.SpiD","f3"), RestrictionModifiers.NO_RESTRICTIONS);
-		manifest.setRestrictions(null, Factory.fieldDescriptor("a.b.c.spi.SpiC", "f4"), RestrictionModifiers.NO_REFERENCE);
-		
-		return manifest;
-	}
-
-	/**
-	 * used to build a manifest that can be changed
-	 */
-	protected IApiDescription buildModifiableManifest() {
-		IApiDescription desc = newDescription();
-		desc.setVisibility(null, Factory.packageDescriptor("a.b.c"), VisibilityModifiers.API);
-		desc.setVisibility(null, Factory.packageDescriptor(""), VisibilityModifiers.SPI);
-		IElementDescriptor element = Factory.typeDescriptor("C"); 
-		desc.setRestrictions(null, element, RestrictionModifiers.NO_EXTEND | RestrictionModifiers.NO_INSTANTIATE);
-		desc.setVisibility(null, element, VisibilityModifiers.PRIVATE);
-		
-		element = Factory.typeDescriptor("a.b.c.D");
-		desc.setRestrictions(null, element, RestrictionModifiers.NO_REFERENCE);
-		desc.setVisibility(null, element, VisibilityModifiers.PRIVATE);
-		
-		element = Factory.methodDescriptor("C", "m1", Signature.createMethodSignature(new String[0], Signature.SIG_VOID));
-		desc.setRestrictions(null, element, RestrictionModifiers.NO_EXTEND);
-		desc.setVisibility(null, element, VisibilityModifiers.PRIVATE);
-		
-		element = Factory.methodDescriptor("a.b.c.A","m2", Signature.createMethodSignature(new String[0], Signature.SIG_VOID));
-		desc.setRestrictions(null, element, RestrictionModifiers.NO_REFERENCE);
-		desc.setVisibility(null, element, VisibilityModifiers.PRIVATE);
-		
-		element = Factory.fieldDescriptor("D", "f1");
-		desc.setRestrictions(null, element, RestrictionModifiers.NO_REFERENCE);
-		desc.setVisibility(null, element, VisibilityModifiers.PRIVATE);
-		
-		element = Factory.fieldDescriptor("a.b.c","f2");
-		desc.setRestrictions(null, element, RestrictionModifiers.NO_REFERENCE);
-		desc.setVisibility(null, element, VisibilityModifiers.PRIVATE);
-		return desc;
-	}
-	
-	/**
-	 * Tests visiting types in the manually created manifest
-	 */
-	public void testVisitTypes() {
-		IApiDescription manifest = buildManifest();
-		doVisitTypes(manifest);
-	}
-	
-	/**
-	 * Tests restoring API settings from component XML. These settings are not quite
-	 * as rich as we have in the usual baseline (no notion of SPI package, etc).
-	 * 
-	 * We expect a component with the following information:
-	 * 
-	 * default package: API
-	 * 		class A
-	 * 		class B 		- @noinstantiate
-	 * 			method m1 	- @noextend
-	 * 		class C 		- @noinstantiate @nosubclass
-	 * 		class D 		- @noreference
-	 * 			field f1 	- @noreference
-	 * 		interface IA
-	 * 		interface IB 	- @noimplement
-	 * package a.b.c: API
-	 * 		class A 		- @noinstantiate @nosubclass
-	 * 			method m2 	- @noreference
-	 * 		class B
-	 * 		class C			- @noextend
-	 * 		class D 		- @noinstantiate
-	 * 			field f2 	- @noreference
-	 * 		interface IC 	- @noimplement
-	 * 		interface ID
-	 * package a.b.c.spi: API
-	 * 		class SpiA
-	 * 		class SpiB 		- @noextend
-	 * 			method m3
-	 * 		class SpiC 		- @noinstantiate
-	 * 			field f4	- @noreference
-	 * 			method m4	- @noextend
-	 * 		class SpiD 		- @nosubclass @noinstantiate
-	 * 		class SpiE 		- @noreference
-	 * 			field f3
-	 * 		interface ISpiA
-	 * 		interface ISpiB - @noimplement
-	 * package a.b.c.internal: PRIVATE
-	 * 		class PA
-	 * 		class PB
-	 * 		class PC
-	 * 		class PD
-	 * 
-	 * package a.b.c.internal has API visibility for component "a.friend"
-	 * class D has SPI visibility for component "a.friend"
-	 * 
-	 * @throws FileNotFoundException
-	 * @throws IOException
-	 * @throws CoreException
-	 */
-	public void testRestoreFromXML() throws FileNotFoundException, IOException, CoreException {
-		IPath path = TestSuiteHelper.getPluginDirectoryPath();
-		path = path.append("test-xml");
-		File file = path.toFile();
-		assertTrue("Missing xml directory", file.exists());
-		IApiProfile baseline = TestSuiteHelper.newApiProfile("test", TestSuiteHelper.getEEDescriptionFile());
-		IApiComponent component = baseline.newApiComponent(file.getAbsolutePath());
-		baseline.addApiComponents(new IApiComponent[] { component });
-		
-		IPackageDescriptor defPkgDesc = Factory.packageDescriptor("");
-		ElementDescription defPkg = new ElementDescription(defPkgDesc, VisibilityModifiers.API, RestrictionModifiers.NO_RESTRICTIONS);
-			ElementDescription B = new ElementDescription(defPkgDesc.getType("B"), VisibilityModifiers.API, RestrictionModifiers.NO_INSTANTIATE);
-				ElementDescription m1 = new ElementDescription(defPkgDesc.getType("B").getMethod("m1", Signature.createMethodSignature(new String[0],Signature.SIG_VOID)), VisibilityModifiers.API, RestrictionModifiers.NO_EXTEND);
-			ElementDescription C = new ElementDescription(defPkgDesc.getType("C"), VisibilityModifiers.API, RestrictionModifiers.NO_EXTEND | RestrictionModifiers.NO_INSTANTIATE);
-			ElementDescription D = new ElementDescription(defPkgDesc.getType("D"), VisibilityModifiers.API, RestrictionModifiers.NO_REFERENCE);
-				ElementDescription f1 = new ElementDescription(defPkgDesc.getType("D").getField("f1"), VisibilityModifiers.API, RestrictionModifiers.NO_REFERENCE);
-			ElementDescription DforAFriend = new ElementDescription("a.friend", defPkgDesc.getType("D"), VisibilityModifiers.SPI, RestrictionModifiers.NO_RESTRICTIONS);
-			ElementDescription IB = new ElementDescription(defPkgDesc.getType("IB"), VisibilityModifiers.API, RestrictionModifiers.NO_IMPLEMENT);
-		IPackageDescriptor abcPkgDesc = Factory.packageDescriptor("a.b.c");
-		ElementDescription abcPkg = new ElementDescription(abcPkgDesc, VisibilityModifiers.API, RestrictionModifiers.NO_RESTRICTIONS);
-			ElementDescription abcA = new ElementDescription(abcPkgDesc.getType("A"), VisibilityModifiers.API, RestrictionModifiers.NO_EXTEND | RestrictionModifiers.NO_INSTANTIATE);
-				ElementDescription abcAm2 = new ElementDescription(abcPkgDesc.getType("A").getMethod("m2", Signature.createMethodSignature(new String[0], Signature.SIG_VOID)), VisibilityModifiers.API, RestrictionModifiers.NO_REFERENCE);
-			ElementDescription abcC = new ElementDescription(abcPkgDesc.getType("C"), VisibilityModifiers.API, RestrictionModifiers.NO_EXTEND);
-			ElementDescription abcD = new ElementDescription(abcPkgDesc.getType("D"), VisibilityModifiers.API, RestrictionModifiers.NO_INSTANTIATE);
-				ElementDescription abcDf2 = new ElementDescription(abcPkgDesc.getType("D").getField("f2"), VisibilityModifiers.API, RestrictionModifiers.NO_REFERENCE);
-			ElementDescription abcIC = new ElementDescription(abcPkgDesc.getType("IC"), VisibilityModifiers.API, RestrictionModifiers.NO_IMPLEMENT);
-		IPackageDescriptor spiPkgDesc = Factory.packageDescriptor("a.b.c.spi");
-		ElementDescription spiPkg = new ElementDescription(spiPkgDesc, VisibilityModifiers.API, RestrictionModifiers.NO_RESTRICTIONS);
-			ElementDescription spiB = new ElementDescription(spiPkgDesc.getType("SpiB"), VisibilityModifiers.API, RestrictionModifiers.NO_EXTEND);
-			ElementDescription spiC = new ElementDescription(spiPkgDesc.getType("SpiC"), VisibilityModifiers.API, RestrictionModifiers.NO_INSTANTIATE);
-				ElementDescription spiCf4 = new ElementDescription(spiPkgDesc.getType("SpiC").getField("f4"), VisibilityModifiers.API, RestrictionModifiers.NO_REFERENCE);
-				ElementDescription spiCm4 = new ElementDescription(spiPkgDesc.getType("SpiC").getMethod("m4", Signature.createMethodSignature(new String[0], Signature.SIG_VOID)), VisibilityModifiers.API, RestrictionModifiers.NO_EXTEND);
-			ElementDescription spiD = new ElementDescription(spiPkgDesc.getType("SpiD"), VisibilityModifiers.API, RestrictionModifiers.NO_EXTEND | RestrictionModifiers.NO_INSTANTIATE);
-			ElementDescription spiE = new ElementDescription(spiPkgDesc.getType("SpiE"), VisibilityModifiers.API, RestrictionModifiers.NO_REFERENCE);
-			ElementDescription IspiB = new ElementDescription(spiPkgDesc.getType("ISpiB"), VisibilityModifiers.API, RestrictionModifiers.NO_IMPLEMENT);
-		IPackageDescriptor intPkgDesc = Factory.packageDescriptor("a.b.c.internal");
-		ElementDescription intPkg = new ElementDescription(intPkgDesc, VisibilityModifiers.PRIVATE, RestrictionModifiers.NO_RESTRICTIONS);
-		ElementDescription intPkgForFriend = new ElementDescription("a.friend", intPkgDesc, VisibilityModifiers.API, RestrictionModifiers.NO_RESTRICTIONS);
-		
-		final List<ElementDescription> visitOrder = new ArrayList<ElementDescription>();
-		visitOrder.add(defPkg); // start def
-			visitOrder.add(B); //start B
-				visitOrder.add(m1); visitOrder.add(m1); //start / end m1
-			visitOrder.add(B); // end B
-			visitOrder.add(C); visitOrder.add(C); // start/end C
-			visitOrder.add(D); // start D
-				visitOrder.add(f1); visitOrder.add(f1); //start / end f1
-			visitOrder.add(D); // end D
-				visitOrder.add(DforAFriend); visitOrder.add(DforAFriend); // start/end D for "a.friend"
-			visitOrder.add(IB); visitOrder.add(IB); // start/end IB
-		visitOrder.add(defPkg); // end def
-		visitOrder.add(abcPkg); // start a.b.c
-			visitOrder.add(abcA); //a.b.c.start A 
-				visitOrder.add(abcAm2); visitOrder.add(abcAm2); //start / end m2
-			visitOrder.add(abcA); // end a.b.c.A
-			visitOrder.add(abcC); visitOrder.add(abcC); // start/end a.b.c.C
-			visitOrder.add(abcD); //start a.b.c.D
-				visitOrder.add(abcDf2); visitOrder.add(abcDf2); //start /end f2
-			visitOrder.add(abcD); // end a.b.c.D
-			visitOrder.add(abcIC); visitOrder.add(abcIC); // start/end a.b.c.IC
-		visitOrder.add(abcPkg); // end a.b.c
-		visitOrder.add(intPkg); // start a.b.c.internal
-		visitOrder.add(intPkg); // end a.b.c.internal
-		visitOrder.add(intPkgForFriend); // start a.b.c.internal ("a.friend")
-		visitOrder.add(intPkgForFriend); // end a.b.c.internal ("a.friend")
-		visitOrder.add(spiPkg); // start a.b.c.spi
-			visitOrder.add(IspiB); visitOrder.add(IspiB); // start/end ISpiB
-			visitOrder.add(spiB); //start spiB
-			visitOrder.add(spiB); // end SpiB
-			visitOrder.add(spiC); //start SpiC
-				visitOrder.add(spiCf4); visitOrder.add(spiCf4); //start/ end f4
-				visitOrder.add(spiCm4); visitOrder.add(spiCm4); //start / end m4
-			visitOrder.add(spiC); // end SpiC
-			visitOrder.add(spiD); visitOrder.add(spiD); // start / end SpiD
-			visitOrder.add(spiE); 
-			visitOrder.add(spiE); // start/end SpiE
-		visitOrder.add(spiPkg); // end a.b.c.spi
-				
-		ApiDescriptionVisitor visitor = new ApiDescriptionVisitor() {
-			public boolean visitElement(IElementDescriptor element, String component, IApiAnnotations description) {
-				ElementDescription expected = visitOrder.remove(0);
-				assertEquals("Wrong begin visit element", expected.fElement, element);
-				assertEquals("Wrong begin visit component", expected.fComponent, component);
-				assertEquals("Wrong begin visit visibility", expected.fVis, description.getVisibility());
-				assertEquals("Wrong begin visit restrictions", expected.fRes, description.getRestrictions());
-				return true;
-			}
-		
-			public void endVisitElement(IElementDescriptor element, String component, IApiAnnotations description) {
-				ElementDescription expected = visitOrder.remove(0);
-				assertEquals("Wrong end visit element", expected.fElement, element);
-				assertEquals("Wrong end visit component", expected.fComponent, component);
-				assertEquals("Wrong end visit visibility", expected.fVis, description.getVisibility());
-				assertEquals("Wrong end visit restrictions", expected.fRes, description.getRestrictions());
-			}
-		};
-		
-		component.getApiDescription().accept(visitor);
-		
-		assertEquals("Visit incomplete", 0, visitOrder.size());
-		baseline.dispose();
-	}
-	
-	/**
-	 * Reads XML from disk, annotates settings, then persists and re-creates settings
-	 * to ensure we read/write equivalent XML.
-	 *
-	 * @throws CoreException
-	 * @throws IOException
-	 */
-	public void testPersistRestoreXML() throws CoreException, IOException {
-		// read XML into API settings
-		IPath path = TestSuiteHelper.getPluginDirectoryPath();
-		path = path.append("test-xml");
-		File file = path.toFile();
-		assertTrue("Missing xml directory", file.exists());
-		File descfile = new File(file, IApiCoreConstants.API_DESCRIPTION_XML_NAME);
-		String readXML = null;
-		if (descfile.exists()) {
-			FileInputStream stream = null;
-			try {
-				 stream = new FileInputStream(descfile);
-				 char[] charArray = Util.getInputStreamAsCharArray(stream, -1, IApiCoreConstants.UTF_8);
-				 readXML = new String(charArray);
-			}
-			finally {
-				if(stream != null) {
-					stream.close();
-				}
-			}
-		}
-		IApiDescription settings = new ApiDescription(null);
-		ApiDescriptionProcessor.annotateApiSettings(null, settings, readXML);
-		
-		// write back to XML and then re-create
-		ApiSettingsXmlVisitor xmlVisitor = new ApiSettingsXmlVisitor(new IApiComponent() {
-			public String[] getPackageNames() throws CoreException {
-				return null;
-			}
-			public IClassFile findClassFile(String qualifiedName) throws CoreException {
-				return null;
-			}
-			public void close() throws CoreException {
-			}
-			public void accept(ClassFileContainerVisitor visitor) throws CoreException {
-			}
-			public String getVersion() {
-				return null;
-			}
-			public IRequiredComponentDescription[] getRequiredComponents() {
-				return null;
-			}
-			public String getName() {
-				return "test";
-			}
-			public String getLocation() {
-				return null;
-			}
-			public String getId() {
-				return "test";
-			}
-			public String[] getExecutionEnvironments() {
-				return null;
-			}
-			public IClassFileContainer[] getClassFileContainers() {
-				return null;
-			}
-			public IApiDescription getApiDescription() {
-				return null;
-			}
-			public boolean isSystemComponent() {
-				return false;
-			}
-			public void dispose() {
-			}
-			public IApiProfile getProfile() {
-				return null;
-			}
-			public void export(Map options, IProgressMonitor monitor) throws CoreException {
-			}
-			public IApiFilterStore getFilterStore() {
-				return null;
-			}
-			public IApiProblemFilter newProblemFilter(IApiProblem problem) {
-				return null;
-			}
-			public boolean isSourceComponent() {
-				return false;
-			}
-			public boolean isFragment() {
-				return false;
-			}
-			public boolean hasFragments() {
-				return false;
-			}
-			public IClassFileContainer[] getClassFileContainers(String id) {
-				return null;
-			}
-			public IClassFile findClassFile(String qualifiedName, String id) throws CoreException {
-				return null;
-			}
-			public String getOrigin() {
-				return this.getId();
-			}
-		});
-		settings.accept(xmlVisitor);
-		String writeXML = xmlVisitor.getXML();
-		
-		ApiDescription restored = new ApiDescription(null);
-		ApiDescriptionProcessor.annotateApiSettings(null, restored, writeXML);
-		
-		// compare the original and restore settings
-		
-		// build expected visit order from original
-		final List<ElementDescription> visitOrder = new ArrayList<ElementDescription>();
-		ApiDescriptionVisitor visitor = new ApiDescriptionVisitor() {
-			public boolean visitElement(IElementDescriptor element, String component, IApiAnnotations description) {
-				visitOrder.add(new ElementDescription(component, element, description.getVisibility(), description.getRestrictions()));
-				return true;
-			}
-			public void endVisitElement(IElementDescriptor element, String component, IApiAnnotations description) {
-				visitOrder.add(new ElementDescription(component, element, description.getVisibility(), description.getRestrictions()));
-			}
-		};
-		settings.accept(visitor);
-		
-		// now visit the restored version and compare order
-		visitor = new ApiDescriptionVisitor() {
-			public boolean visitElement(IElementDescriptor element, String component, IApiAnnotations description) {
-				ElementDescription expected = visitOrder.remove(0);
-				assertEquals("Wrong begin visit element", expected.fElement, element);
-				assertEquals("Wrong begin visit component", expected.fComponent, component);
-				assertEquals("Wrong begin visit visibility", expected.fVis, description.getVisibility());
-				assertEquals("Wrong begin visit restrictions", expected.fRes, description.getRestrictions());
-				return true;
-			}
-		
-			public void endVisitElement(IElementDescriptor element, String component, IApiAnnotations description) {
-				ElementDescription expected = visitOrder.remove(0);
-				assertEquals("Wrong end visit element", expected.fElement, element);
-				assertEquals("Wrong end visit component", expected.fComponent, component);
-				assertEquals("Wrong end visit visibility", expected.fVis, description.getVisibility());
-				assertEquals("Wrong end visit restrictions", expected.fRes, description.getRestrictions());
-			}
-		};
-		
-		restored.accept(visitor);
-		
-		assertEquals("Visit incomplete", 0, visitOrder.size());		
-	}
-	
-	/**
-	 * Test visiting types
-	 */
-	protected void doVisitTypes(IApiDescription manifest) {
-		
-		IPackageDescriptor defPkgDesc= Factory.packageDescriptor("");
-		ElementDescription defPkg = new ElementDescription(defPkgDesc, VisibilityModifiers.API, RestrictionModifiers.NO_RESTRICTIONS);
-			ElementDescription B = new ElementDescription(defPkgDesc.getType("B"), VisibilityModifiers.API, RestrictionModifiers.NO_INSTANTIATE);
-			ElementDescription m1 = new ElementDescription(defPkgDesc.getType("B").getMethod("m1", Signature.createMethodSignature(new String[0], Signature.SIG_VOID)), VisibilityModifiers.API, RestrictionModifiers.NO_EXTEND);
-			ElementDescription C = new ElementDescription(defPkgDesc.getType("C"), VisibilityModifiers.API, RestrictionModifiers.NO_EXTEND | RestrictionModifiers.NO_INSTANTIATE);
-			ElementDescription D = new ElementDescription(defPkgDesc.getType("D"), VisibilityModifiers.API, RestrictionModifiers.NO_REFERENCE);
-				ElementDescription f1 = new ElementDescription(defPkgDesc.getType("D").getField("f1"), VisibilityModifiers.API, RestrictionModifiers.NO_REFERENCE);
-			ElementDescription DforAFriend = new ElementDescription("a.friend", defPkgDesc.getType("D"), VisibilityModifiers.SPI, RestrictionModifiers.NO_RESTRICTIONS);
-			ElementDescription IB = new ElementDescription(defPkgDesc.getType("IB"), VisibilityModifiers.API, RestrictionModifiers.NO_IMPLEMENT);
-		IPackageDescriptor abcPkgDesc = Factory.packageDescriptor("a.b.c");
-		ElementDescription abcPkg = new ElementDescription(abcPkgDesc, VisibilityModifiers.API, RestrictionModifiers.NO_RESTRICTIONS);
-			ElementDescription abcA = new ElementDescription(abcPkgDesc.getType("A"), VisibilityModifiers.API, RestrictionModifiers.NO_EXTEND | RestrictionModifiers.NO_INSTANTIATE);
-			ElementDescription abcAm2 = new ElementDescription(abcPkgDesc.getType("A").getMethod("m2", Signature.createMethodSignature(new String[0], Signature.SIG_VOID)), VisibilityModifiers.API, RestrictionModifiers.NO_REFERENCE);
-			ElementDescription abcC = new ElementDescription(abcPkgDesc.getType("C"), VisibilityModifiers.API, RestrictionModifiers.NO_EXTEND);
-			ElementDescription abcD = new ElementDescription(abcPkgDesc.getType("D"), VisibilityModifiers.API, RestrictionModifiers.NO_INSTANTIATE);
-				ElementDescription abcDf2 = new ElementDescription(abcPkgDesc.getType("D").getField("f2"), VisibilityModifiers.API, RestrictionModifiers.NO_REFERENCE);
-			ElementDescription abcIC = new ElementDescription(abcPkgDesc.getType("IC"), VisibilityModifiers.API, RestrictionModifiers.NO_IMPLEMENT);
-		IPackageDescriptor spiPkgDesc = Factory.packageDescriptor("a.b.c.spi");
-		ElementDescription spiPkg = new ElementDescription(spiPkgDesc, VisibilityModifiers.SPI, RestrictionModifiers.NO_RESTRICTIONS);
-			ElementDescription spiB = new ElementDescription(spiPkgDesc.getType("SpiB"), VisibilityModifiers.SPI, RestrictionModifiers.NO_EXTEND);
-			ElementDescription spiBm3 = new ElementDescription(spiPkgDesc.getType("SpiB").getMethod("m3", Signature.createMethodSignature(new String[0], Signature.SIG_VOID)), VisibilityModifiers.SPI, RestrictionModifiers.NO_RESTRICTIONS);
-			ElementDescription spiC = new ElementDescription(spiPkgDesc.getType("SpiC"), VisibilityModifiers.SPI, RestrictionModifiers.NO_INSTANTIATE);
-				ElementDescription spiCf4 = new ElementDescription(spiPkgDesc.getType("SpiC").getField("f4"), VisibilityModifiers.SPI, RestrictionModifiers.NO_REFERENCE);
-				ElementDescription spiCm4 = new ElementDescription(spiPkgDesc.getType("SpiC").getMethod("m4", Signature.createMethodSignature(new String[0], Signature.SIG_VOID)), VisibilityModifiers.SPI, RestrictionModifiers.NO_EXTEND);
-			ElementDescription spiD = new ElementDescription(spiPkgDesc.getType("SpiD"), VisibilityModifiers.SPI, RestrictionModifiers.NO_EXTEND | RestrictionModifiers.NO_INSTANTIATE);
-				ElementDescription spiDf3 = new ElementDescription(spiPkgDesc.getType("SpiD").getField("f3"), VisibilityModifiers.SPI, RestrictionModifiers.NO_RESTRICTIONS);
-			ElementDescription spiE = new ElementDescription(spiPkgDesc.getType("SpiE"), VisibilityModifiers.SPI, RestrictionModifiers.NO_REFERENCE);
-			ElementDescription IspiB = new ElementDescription(spiPkgDesc.getType("ISpiB"), VisibilityModifiers.SPI, RestrictionModifiers.NO_IMPLEMENT);
-		ElementDescription spiPkgForNoFriend = new ElementDescription("no.friend", spiPkgDesc, VisibilityModifiers.PRIVATE, RestrictionModifiers.NO_RESTRICTIONS);
-		IPackageDescriptor intPkgDesc = Factory.packageDescriptor("a.b.c.internal");
-		ElementDescription intPkg = new ElementDescription(intPkgDesc, VisibilityModifiers.PRIVATE, RestrictionModifiers.NO_RESTRICTIONS);
-		ElementDescription intPkgForFriend = new ElementDescription("a.friend", intPkgDesc, VisibilityModifiers.API, RestrictionModifiers.NO_RESTRICTIONS);
-		
-		final List<ElementDescription> visitOrder = new ArrayList<ElementDescription>();
-		visitOrder.add(defPkg); // start def
-			visitOrder.add(B); //start B
-				visitOrder.add(m1); visitOrder.add(m1); //start / end m1
-			visitOrder.add(B); // end B
-			visitOrder.add(C); visitOrder.add(C); // start/end C
-			visitOrder.add(D); // start D
-				visitOrder.add(f1); visitOrder.add(f1); //start / end f1
-			visitOrder.add(D); // end D
-				visitOrder.add(DforAFriend); visitOrder.add(DforAFriend); // start/end D for "a.friend"
-			visitOrder.add(IB); visitOrder.add(IB); // start/end IB
-		visitOrder.add(defPkg); // end def
-		visitOrder.add(abcPkg); // start a.b.c
-			visitOrder.add(abcA); //a.b.c.start A 
-				visitOrder.add(abcAm2); visitOrder.add(abcAm2); //start /end m2
-			visitOrder.add(abcA); // end a.b.c.A
-			visitOrder.add(abcC); visitOrder.add(abcC); // start/end a.b.c.C
-			visitOrder.add(abcD); //start a.b.c.D
-				visitOrder.add(abcDf2); visitOrder.add(abcDf2); //start / end f2
-			visitOrder.add(abcD); // end a.b.c.D
-			visitOrder.add(abcIC); visitOrder.add(abcIC); // start/end a.b.c.IC
-		visitOrder.add(abcPkg); // end a.b.c
-		visitOrder.add(intPkg); // start a.b.c.internal
-		visitOrder.add(intPkg); // end a.b.c.internal
-		visitOrder.add(intPkgForFriend); // start a.b.c.internal ("a.friend")
-		visitOrder.add(intPkgForFriend); // end a.b.c.internal ("a.friend")
-		visitOrder.add(spiPkg); // start a.b.c.spi
-			visitOrder.add(IspiB); visitOrder.add(IspiB); // start/end ISpiB
-			visitOrder.add(spiB); //start spiB
-				visitOrder.add(spiBm3); visitOrder.add(spiBm3); //start / end m3
-			visitOrder.add(spiB); // end SpiB
-			visitOrder.add(spiC); //start SpiC
-				visitOrder.add(spiCf4); visitOrder.add(spiCf4); //start / end f4
-				visitOrder.add(spiCm4); visitOrder.add(spiCm4); //start / end f4
-			visitOrder.add(spiC); // end SpiC
-			visitOrder.add(spiD); //start SpiD
-				visitOrder.add(spiDf3); visitOrder.add(spiDf3); //start / end f3
-			visitOrder.add(spiD); // end SpiD
-			visitOrder.add(spiE); visitOrder.add(spiE); // start/end SpiE
-		visitOrder.add(spiPkg); // end a.b.c.spi
-		visitOrder.add(spiPkgForNoFriend); // start a.b.c.spi ("no.friend")
-		visitOrder.add(spiPkgForNoFriend); // end a.b.c.spi ("no.friend");
-				
-		ApiDescriptionVisitor visitor = new ApiDescriptionVisitor() {
-			public boolean visitElement(IElementDescriptor element, String component, IApiAnnotations description) {
-				ElementDescription expected = visitOrder.remove(0);
-				assertEquals("Wrong begin visit element", expected.fElement, element);
-				assertEquals("Wrong begin visit component", expected.fComponent, component);
-				assertEquals("Wrong begin visit visibility", expected.fVis, description.getVisibility());
-				assertEquals("Wrong begin visit restrictions", expected.fRes, description.getRestrictions());
-				return true;
-			}
-		
-			public void endVisitElement(IElementDescriptor element, String component, IApiAnnotations description) {
-				ElementDescription expected = visitOrder.remove(0);
-				assertEquals("Wrong end visit element", expected.fElement, element);
-				assertEquals("Wrong end visit component", expected.fComponent, component);
-				assertEquals("Wrong end visit visibility", expected.fVis, description.getVisibility());
-				assertEquals("Wrong end visit restrictions", expected.fRes, description.getRestrictions());
-			}
-		};
-		
-		manifest.accept(visitor);
-		
-		assertEquals("Visit incomplete", 0, visitOrder.size());
-	}
-
-	/**
-	 * Tests visiting packages
-	 */
-	public void testVisitPackages() {
-		ElementDescription defPkg = new ElementDescription(Factory.packageDescriptor(""), VisibilityModifiers.API, RestrictionModifiers.NO_RESTRICTIONS);
-		ElementDescription abcPkg = new ElementDescription(Factory.packageDescriptor("a.b.c"), VisibilityModifiers.API, RestrictionModifiers.NO_RESTRICTIONS);
-		ElementDescription spiPkg = new ElementDescription(Factory.packageDescriptor("a.b.c.spi"), VisibilityModifiers.SPI, RestrictionModifiers.NO_RESTRICTIONS);
-		ElementDescription spiPkgForNoFriend = new ElementDescription("no.friend", Factory.packageDescriptor("a.b.c.spi"), VisibilityModifiers.PRIVATE, RestrictionModifiers.NO_RESTRICTIONS);
-		ElementDescription intPkg = new ElementDescription(Factory.packageDescriptor("a.b.c.internal"), VisibilityModifiers.PRIVATE, RestrictionModifiers.NO_RESTRICTIONS);
-		ElementDescription intPkgForFriend = new ElementDescription("a.friend", Factory.packageDescriptor("a.b.c.internal"), VisibilityModifiers.API, RestrictionModifiers.NO_RESTRICTIONS);
-		
-		final List<ElementDescription> visitOrder = new ArrayList<ElementDescription>();
-		visitOrder.add(defPkg); // start def
-		visitOrder.add(defPkg); // end def
-		visitOrder.add(abcPkg); // start a.b.c
-		visitOrder.add(abcPkg); // end a.b.c
-		visitOrder.add(intPkg); // start a.b.c.internal
-		visitOrder.add(intPkg); // end a.b.c.internal
-		visitOrder.add(intPkgForFriend); // start a.b.c.internal ("a.friend")
-		visitOrder.add(intPkgForFriend); // end a.b.c.internal ("a.friend")
-		visitOrder.add(spiPkg); // start a.b.c.spi
-		visitOrder.add(spiPkg); // end a.b.c.spi
-		visitOrder.add(spiPkgForNoFriend); // start a.b.c.spi ("no.friend")
-		visitOrder.add(spiPkgForNoFriend); // end a.b.c.spi ("no.friend");		
-				
-		ApiDescriptionVisitor visitor = new ApiDescriptionVisitor() {
-			public boolean visitElement(IElementDescriptor element, String component, IApiAnnotations description) {
-				ElementDescription expected = visitOrder.remove(0);
-				assertEquals("Wrong begin visit element", expected.fElement, element);
-				assertEquals("Wrong begin visit component", expected.fComponent, component);
-				assertEquals("Wrong begin visit visibility", expected.fVis, description.getVisibility());
-				assertEquals("Wrong begin visit restrictions", expected.fRes, description.getRestrictions());
-				return false;
-			}
-		
-			public void endVisitElement(IElementDescriptor element, String component, IApiAnnotations description) {
-				ElementDescription expected = visitOrder.remove(0);
-				assertEquals("Wrong end visit element", expected.fElement, element);
-				assertEquals("Wrong end visit component", expected.fComponent, component);
-				assertEquals("Wrong end visit visibility", expected.fVis, description.getVisibility());
-				assertEquals("Wrong end visit restrictions", expected.fRes, description.getRestrictions());
-			}
-		};
-		
-		IApiDescription manifest = buildManifest();
-		manifest.accept(visitor);
-		
-		assertEquals("Visit incomplete", 0, visitOrder.size());
-	}	
-
-	/**
-	 * Tests removing a package element descriptor from the description
-	 */
-	public void testRemovePackageElementDescription() {
-		IApiDescription desc = buildModifiableManifest();
-		assertNotNull("the description cannot be null", desc);
-		IElementDescriptor element = Factory.packageDescriptor("a.b.c");
-		assertTrue("the package element should have been removed", desc.removeElement(element));
-		IApiAnnotations annot = desc.resolveAnnotations(null, element);
-		assertNull("the element should have been removed", annot);
-	}
-	
-	/**
-	 * Tests removing a type element descriptor from the description 
-	 */
-	public void testRemoveTypeElementDescription() {
-		IApiDescription desc = buildModifiableManifest();
-		assertNotNull("the description cannot be null", desc);
-		IElementDescriptor element = Factory.typeDescriptor("a.b.c.D");
-		assertTrue("the type element should have been removed", desc.removeElement(element));
-	}
-	
-	/**
-	 * Tests removing a method element descriptor from the description
-	 */
-	public void testRemoveMethodElementDescription() {
-		IApiDescription desc = buildModifiableManifest();
-		assertNotNull("the description cannot be null", desc);
-		IElementDescriptor element = Factory.methodDescriptor("a.b.c.A","m2", Signature.createMethodSignature(new String[0], Signature.SIG_VOID));
-		assertTrue("the method element should have been removed", desc.removeElement(element));
-	}
-	
-	/**
-	 * Tests removing a field element descriptor from the description
-	 */
-	public void testRemoveFieldElementDescription() {
-		IApiDescription desc = buildModifiableManifest();
-		assertNotNull("the description cannot be null", desc);
-		IElementDescriptor element = Factory.fieldDescriptor("D", "f1");
-		assertTrue("the field element should have been removed", desc.removeElement(element));
-	}
-	
-	/**
-	 * Tests removing an element descriptor that does not exist in the description
-	 */
-	public void testRemoveNonExistantDescription() {
-		IApiDescription desc = buildModifiableManifest();
-		assertNotNull("the description cannot be null", desc);
-		IElementDescriptor element = Factory.fieldDescriptor("XXX", "foo");
-		assertTrue("the field element does not exist and should not have been removed", !desc.removeElement(element));
-	}
-	
-	/**
-	 * Test for bug 209335, where an element is not in the component map for an {@link ApiDescription},
-	 * and not performing an insertion for missing elements throws an NPE
-	 */
-	public void test209335() {
-		String typename = "x.y.z.209335";
-		String packageName = Util.getPackageName(typename);
-		String tName = Util.getTypeName(typename);
-		IReferenceTypeDescriptor type = Factory.packageDescriptor(packageName).getType(tName);
-		IApiAnnotations description = fManifest.resolveAnnotations(null, type);
-		assertTrue("The description must be null", description == null);
-	}
-	
-	/**
-	 * Resolves API description for a type with the given name.
-	 *  
-	 * @param typeName fully qualified name of referenced type
-	 * @param expectedVisibility expected visibility modifiers
-	 * @param expectedRestrictions expected visibility restriction modifiers
-	 */
-	protected void resolveType(String typeName, int expectedVisibility, int expectedRestrictions) {
-		String packageName = Util.getPackageName(typeName);
-		String tName = Util.getTypeName(typeName);
-		IReferenceTypeDescriptor type = Factory.packageDescriptor(packageName).getType(tName);
-		IApiAnnotations description = fManifest.resolveAnnotations(null, type);
-		assertEquals("Wrong visibility", expectedVisibility, description.getVisibility());
-		assertEquals("Wrong restrictions", expectedRestrictions, description.getRestrictions());
-	}
-	
-	/**
-	 * Resolves API description for a type with the given name in the context of the given
-	 * component.
-	 *  
-	 * @param typeName fully qualified name of referenced type
-	 * @param fromComponent component from which the type was referenced
-	 * @param expectedVisibility expected visibility modifiers
-	 * @param expectedRestrictions expected visibility restriction modifiers
-	 */
-	protected void resolveType(String typeName, String fromComponent, int expectedVisibility, int expectedRestrictions) {
-		String packageName = Util.getPackageName(typeName);
-		String tName = Util.getTypeName(typeName);
-		IReferenceTypeDescriptor type = Factory.packageDescriptor(packageName).getType(tName);
-		IApiAnnotations description = fManifest.resolveAnnotations(fromComponent, type);
-		assertEquals("Wrong visibility", expectedVisibility, description.getVisibility());
-		assertEquals("Wrong restrictions", expectedRestrictions, description.getRestrictions());
-	}
-		
-	/**
-	 * Tests API description: A = API with no restrictions.
-	 * Note that 'A' has not been added to the manifest
-	 */
-	public void testADefPkg() {
-		resolveType("A", VisibilityModifiers.API, RestrictionModifiers.NO_RESTRICTIONS);
-	}
-	
-	/**
-	 * Tests API description: B = API with no instantiate.
-	 */
-	public void testBDefPkg() {
-		resolveType("B", VisibilityModifiers.API, RestrictionModifiers.NO_INSTANTIATE);
-	}
-	
-	/**
-	 * Tests API description: C = API with no instantiate, no subclass.
-	 */
-	public void testCDefPkg() {
-		resolveType("C", VisibilityModifiers.API, RestrictionModifiers.NO_EXTEND | RestrictionModifiers.NO_INSTANTIATE);
-	}	
-	
-	/**
-	 * Tests API description: D = API with no reference.
-	 */
-	public void testDDefPkg() {
-		resolveType("D", VisibilityModifiers.API, RestrictionModifiers.NO_REFERENCE);
-	}		
-		
-	/**
-	 * Tests API description: IA = API with no restrictions.
-	 * Note that this type is not explicity in the manifest.
-	 */
-	public void testIADefPkg() {
-		resolveType("IA", VisibilityModifiers.API, RestrictionModifiers.NO_RESTRICTIONS);
-	}
-	
-	/**
-	 * Tests API description: IB = API with no implement.
-	 */
-	public void testIBDefPkg() {
-		resolveType("IB", VisibilityModifiers.API, RestrictionModifiers.NO_IMPLEMENT);
-	}
-	
-	/**
-	 * Tests API description: a.b.c.A = API with no instantiate, no subclass.
-	 */
-	public void testAApiPkg() {
-		resolveType("a.b.c.A", VisibilityModifiers.API, RestrictionModifiers.NO_INSTANTIATE | RestrictionModifiers.NO_EXTEND);
-	}
-	
-	/**
-	 * Tests API description: a.b.c.B = API with no restrictions.
-	 * Note that this type is not explicitly in the manifest.
-	 */
-	public void testBApiPkg() {
-		resolveType("a.b.c.B", VisibilityModifiers.API, RestrictionModifiers.NO_RESTRICTIONS);
-	}		
-	
-	/**
-	 * Tests API description: a.b.c.C = API with no subclass.
-	 */
-	public void testCApiPkg() {
-		resolveType("a.b.c.C", VisibilityModifiers.API, RestrictionModifiers.NO_EXTEND);
-	}
-	
-	/**
-	 * Tests API description: a.b.c.D = API with no instantiate.
-	 */
-	public void testDApiPkg() {
-		resolveType("a.b.c.D", VisibilityModifiers.API, RestrictionModifiers.NO_INSTANTIATE);
-	}		
-	
-	/**
-	 * Tests API description: a.b.c.IC = API with no implement.
-	 */
-	public void testICApiPkg() {
-		resolveType("a.b.c.IC", VisibilityModifiers.API, RestrictionModifiers.NO_IMPLEMENT);
-	}
-	
-	/**
-	 * Tests API description: a.b.c.ID = API with no restrictions.
-	 * Note that this type is not explicitly in the manifest.
-	 */
-	public void testIDApiPkg() {
-		resolveType("a.b.c.ID", VisibilityModifiers.API, RestrictionModifiers.NO_RESTRICTIONS);
-	}
-	
-	/**
-	 * Tests API description: a.b.c.spi.SpiA = SPI with no restrictions.
-	 * Note that this type is not explicitly in the manifest.
-	 */
-	public void testASpiPkg() {
-		resolveType("a.b.c.spi.SpiA", VisibilityModifiers.SPI, RestrictionModifiers.NO_RESTRICTIONS);
-	}
-	
-	/**
-	 * Tests API description: a.b.c.spi.SpiB = SPI with no subclass.
-	 */
-	public void testBSpiPkg() {
-		resolveType("a.b.c.spi.SpiB", VisibilityModifiers.SPI, RestrictionModifiers.NO_EXTEND);
-	}
-	
-	/**
-	 * Tests API description: a.b.c.spi.SpiC = SPI with no instantiate.
-	 */
-	public void testCSpiPkg() {
-		resolveType("a.b.c.spi.SpiC", VisibilityModifiers.SPI, RestrictionModifiers.NO_INSTANTIATE);
-	}	
-	
-	/**
-	 * Tests API description: a.b.c.spi.SpiD = SPI with no instantiate, no subclass.
-	 */
-	public void testDSpiPkg() {
-		resolveType("a.b.c.spi.SpiD", VisibilityModifiers.SPI, RestrictionModifiers.NO_INSTANTIATE | RestrictionModifiers.NO_EXTEND);
-	}
-	
-	/**
-	 * Tests API description: a.b.c.spi.SpiD = SPI with no reference.
-	 */
-	public void testESpiPkg() {
-		resolveType("a.b.c.spi.SpiE", VisibilityModifiers.SPI, RestrictionModifiers.NO_REFERENCE);
-	}
-	
-	/**
-	 * Tests API description: a.b.c.spi.ISpiA = SPI with no restrictions.
-	 * Note this type is not explicitly in the manifest.
-	 */
-	public void testIASpiPkg() {
-		resolveType("a.b.c.spi.ISpiA", VisibilityModifiers.SPI, RestrictionModifiers.NO_RESTRICTIONS);
-	}
-	
-	/**
-	 * Tests API description: a.b.c.spi.ISpiB = SPI with no implement.
-	 */
-	public void testIBSpiPkg() {
-		resolveType("a.b.c.spi.ISpiB", VisibilityModifiers.SPI, RestrictionModifiers.NO_IMPLEMENT);
-	}
-	
-	/**
-	 * Tests API description: a.b.c.internal.A = Private with no restrictions.
-	 * Note this type is not in the manifest explicitly.
-	 */
-	public void testAInternalPkg() {
-		resolveType("a.b.c.internal.PA", VisibilityModifiers.PRIVATE, RestrictionModifiers.NO_RESTRICTIONS);
-	}
-	
-	/**
-	 * Tests API description: a.b.c.internal.B = Private with no restrictions.
-	 * Note this type is not in the manifest explicitly.
-	 */
-	public void testBInternalPkg() {
-		resolveType("a.b.c.internal.PB", VisibilityModifiers.PRIVATE, RestrictionModifiers.NO_RESTRICTIONS);
-	}
-		
-	/**
-	 * Tests API description in context of 'a.friend': a.b.c.internal.A = API with no restrictions.
-	 * Note this type is not in the manifest explicitly.
-	 */
-	public void testAInternalPkgFromComponent() {
-		resolveType("a.b.c.internal.PA", "a.friend", VisibilityModifiers.API, RestrictionModifiers.NO_RESTRICTIONS);
-	}
-	
-	/**
-	 * Tests API description in context of 'a.friend': D = SPI with no restrictions.
-	 * Note this type is not in the manifest explicitly.
-	 */
-	public void testDDefPkgFromComponent() {
-		resolveType("D", "a.friend", VisibilityModifiers.SPI, RestrictionModifiers.NO_RESTRICTIONS);
-	}
-	
-	/**
-	 * Tests API description in context of 'no.friend': a.b.c.spi.SpiA = Private with no restrictions.
-	 * Note this type is not in the manifest explicitly.
-	 */
-	public void testASpiPkgFromComponent() {
-		resolveType("a.b.c.spi.SpiA", "no.friend", VisibilityModifiers.PRIVATE, RestrictionModifiers.NO_RESTRICTIONS);
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiFilterStoreTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiFilterStoreTests.java
deleted file mode 100644
index 2051dfe..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiFilterStoreTests.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.model.tests;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.pde.api.tools.internal.ApiFilterStore;
-import org.eclipse.pde.api.tools.internal.problems.ApiProblemFactory;
-import org.eclipse.pde.api.tools.internal.problems.ApiProblemFilter;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemFilter;
-import org.eclipse.pde.api.tools.tests.AbstractApiTest;
-import org.eclipse.pde.api.tools.tests.util.FileUtils;
-
-/**
- * Tests the {@link ApiFilterStore} and {@link ApiProblemFilter}s
- * 
- * @since 1.0.0
- */
-public class ApiFilterStoreTests extends AbstractApiTest {
-	
-	private static final IPath SRC_LOC = TestSuiteHelper.getPluginDirectoryPath().append("test-source");
-	private static final IPath XML_LOC = TestSuiteHelper.getPluginDirectoryPath().append("test-xml");
-	private static final IPath PLUGIN_LOC = TestSuiteHelper.getPluginDirectoryPath().append("test-plugins");
-	
-	/**
-	 * Tests that the .api_settings file is copied over to the testing project properly
-	 */
-	public void testCopyFilterFile() {
-		try {
-    		File dest = XML_LOC.append(".api_filters").toFile();
-    		assertTrue("the filter xml dir must exist", dest.exists());
-    		assertTrue("the filter xml dir must be a file", !dest.isDirectory());
-    		IJavaProject project = getTestingJavaProject(TESTING_PLUGIN_PROJECT_NAME);
-    		assertNotNull("no project", project);
-			IProject project2 = project.getProject();
-    		IPath settings = project2.getFullPath().append(".settings");
-    		FileUtils.importFileFromDirectory(dest, settings, new NullProgressMonitor());
-    		IResource filters = project2.findMember("/.settings/.api_filters", true);
-    		assertNotNull("the .api_filters file must exist in the testing project", filters);
-    	}
-    	catch (Exception e) {
-    		fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Tests that the testing source is copied over correctly to the test project
-	 */
-	public void testCopySourceFiles() {
-		try {
-    		File dest = SRC_LOC.append("x").toFile();
-    		assertTrue("the filter source dir must exist", dest.exists());
-    		assertTrue("the filter source dir must be a directory", dest.isDirectory());
-    		IJavaProject project = getTestingJavaProject(TESTING_PLUGIN_PROJECT_NAME);
-    		IPackageFragmentRoot srcroot = project.findPackageFragmentRoot(project.getProject().getFullPath().append("src"));
-    		assertNotNull("the default src root must exist", srcroot);
-    		FileUtils.importFileFromDirectory(dest, srcroot.getPath(), new NullProgressMonitor());
-    		IType type = project.findType("x.y.z.C4");
-    		assertNotNull("the type C4 must exist in the testing project", type);
-    	}
-    	catch (Exception e) {
-    		fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Runs a series of assertions against the loaded {@link IApiFilterStore} 
-	 * @param store the store to check
-	 */
-	private void assertFilterStore(IApiFilterStore store, int count) {
-		assertNotNull("the filter store for the testing project cannot be null");
-		IResource[] resources = store.getResources();
-		assertEquals("there should be "+count+" resources with filters", count, resources.length);
-		IJavaProject jproject = getTestingJavaProject(TESTING_PLUGIN_PROJECT_NAME);
-		IProject project = jproject.getProject();
-		
-		//C4
-		IResource resource = project.findMember(new Path("src/x/y/z/C4.java"));
-		assertNotNull("the resource src/x/y/z/C4.java must exist", resource);
-		IApiProblemFilter[] filters = store.getFilters(resource);
-		assertTrue("There should be 1 filter for src/x/y/z/C4.java", filters.length == 1);
-		IApiProblem problem = ApiProblemFactory.newApiProblem(resource.getProjectRelativePath().toPortableString(), null, null, null, -1, -1, -1, IApiProblem.CATEGORY_USAGE, IElementDescriptor.T_REFERENCE_TYPE, IApiProblem.ILLEGAL_IMPLEMENT, IApiProblem.NO_FLAGS);
-		assertTrue("the usage problem for src/x/y/z/C4.java should be filtered", store.isFiltered(problem));
-		
-		//C1
-		resource = project.findMember(new Path("src/x/C1.java"));
-		assertNotNull("the resource src/x/C1.java must exist", resource);
-		filters = store.getFilters(resource);
-		assertTrue("there should be 2 filters for src/x/C1.java", filters.length == 2);
-		problem = ApiProblemFactory.newApiProblem(resource.getProjectRelativePath().toPortableString(), null, null, null, -1, -1, -1, IApiProblem.CATEGORY_BINARY, 4, IDelta.REMOVED, IDelta.FIELD);
-		assertTrue("the removed binary problem for src/x/C1.java should be filtered", store.isFiltered(problem));
-		problem = ApiProblemFactory.newApiProblem(resource.getProjectRelativePath().toPortableString(), null, null, null, -1, -1, -1, IApiProblem.CATEGORY_BINARY, 4, IDelta.CHANGED, IDelta.VARARGS_TO_ARRAY);
-		assertTrue("the changed binary problem for src/x/C1.java should be filtered", store.isFiltered(problem));
-		
-		//C3
-		resource = project.findMember(new Path("src/x/y/C3.java"));
-		assertNotNull("the resource src/x/y/C3.java must exist");
-		filters = store.getFilters(resource);
-		assertTrue("there should be 2 filters for src/x/y/C3.java", filters.length == 2);
-		problem = ApiProblemFactory.newApiProblem(resource.getProjectRelativePath().toPortableString(), null, null, null, -1, -1, -1, IApiProblem.CATEGORY_VERSION, 7, IApiProblem.MAJOR_VERSION_CHANGE, IApiProblem.NO_FLAGS);
-		assertTrue("the major version problem for src/x/y/C3.java should be filtered", store.isFiltered(problem));
-		problem = ApiProblemFactory.newApiProblem(resource.getProjectRelativePath().toPortableString(), null, null, null, -1, -1, -1, IApiProblem.CATEGORY_VERSION, 7, IApiProblem.MINOR_VERSION_CHANGE, IApiProblem.NO_FLAGS);
-		assertTrue("the minor version problem for src/x/y/C3.java should be filtered", store.isFiltered(problem));
-		
-		//MANIFEST.MF
-		resource = project.findMember(new Path("META-INF/MANIFEST.MF"));
-		assertNotNull("the resource META-INF/MANIFEST.MF must exist", resource);
-		filters = store.getFilters(resource);
-		assertTrue("there should be 3 filters for META-INF/MANIFEST.MF", filters.length == 3);
-		problem = ApiProblemFactory.newApiProblem(resource.getProjectRelativePath().toPortableString(), null, null, null, -1, -1, -1, IApiProblem.CATEGORY_SINCETAGS, 7, IApiProblem.SINCE_TAG_MISSING, IApiProblem.NO_FLAGS);
-		assertTrue("the missing since tag problem should be filtered for META-INF/MANIFEST.MF", store.isFiltered(problem));
-		problem = ApiProblemFactory.newApiProblem(resource.getProjectRelativePath().toPortableString(), null, null, null, -1, -1, -1, IApiProblem.CATEGORY_SINCETAGS, 7, IApiProblem.SINCE_TAG_MALFORMED, IApiProblem.NO_FLAGS);
-		assertTrue("the malformed since tag problem should be filtered for META-INF/MANIFEST.MF", store.isFiltered(problem));
-		problem = ApiProblemFactory.newApiProblem(resource.getProjectRelativePath().toPortableString(), null, null, null, -1, -1, -1, IApiProblem.CATEGORY_SINCETAGS, 7, IApiProblem.SINCE_TAG_INVALID, IApiProblem.NO_FLAGS);
-		assertTrue("the invalid since tag problem should be filterd for META-INF/MANIFEST.MF", store.isFiltered(problem));
-	}
-	
-	/**
-	 * Tests that a filter store can be correctly annotated from a persisted version
-	 * disabled for now. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=221877
-	 */
-	public void _testAnnotateStoreFromLocalFile() {
-		IApiComponent component = getProjectApiComponent(TESTING_PLUGIN_PROJECT_NAME);
-		assertNotNull("the testing project api component must exist", component);
-		try {
-			assertFilterStore(component.getFilterStore(), 4);
-		}
-		catch(CoreException e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Tests that asking the store if it filters an invalid problem will return 'false'
-	 */
-	public void testNonExistantProblem() {
-		IApiComponent component = getProjectApiComponent(TESTING_PLUGIN_PROJECT_NAME);
-		assertNotNull("the testing project api component must exist", component);
-		try {
-			IApiFilterStore store = component.getFilterStore();
-			IProject project = getTestingJavaProject(TESTING_PLUGIN_PROJECT_NAME).getProject();
-			IResource resource = project.findMember(new Path("src/x/y/z/C4.java"));
-			assertNotNull("the resource src/x/y/z/C4.java must exist", resource);
-			IApiProblem problem = ApiProblemFactory.newApiProblem(resource.getProjectRelativePath().toPortableString(), null, null, null, -1, -1, -1, IApiProblem.CATEGORY_USAGE, 0, IApiProblem.MINOR_VERSION_CHANGE, IDelta.ADDED);
-			assertFalse("the bogus problem should not be filtered", store.isFiltered(problem));
-		} 
-		catch (CoreException e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * tests removing an api problem filter 
-	 */
-	public void testRemoveFilter() {
-		try {
-			IApiComponent component = getProjectApiComponent(TESTING_PLUGIN_PROJECT_NAME);
-			assertNotNull("the testing project api component must exist", component);
-			IProject project = getTestingJavaProject(TESTING_PLUGIN_PROJECT_NAME).getProject();
-			IResource resource = project.findMember(new Path("src/x/y/z/C4.java"));
-			assertNotNull("the resource src/x/y/z/C4.java must exist", resource);
-			IApiProblem problem = ApiProblemFactory.newApiProblem(resource.getProjectRelativePath().toPortableString(), null, null, null, -1, -1, -1, IApiProblem.CATEGORY_USAGE, 0, RestrictionModifiers.NO_IMPLEMENT, IApiProblem.NO_FLAGS);
-			IApiFilterStore store;
-			store = component.getFilterStore();
-			store.removeFilters(new IApiProblemFilter[] {component.newProblemFilter(problem)});
-			assertFalse("src/x/y/z/C4.java should not have a filter", store.isFiltered(problem));
-		} 
-		catch (CoreException e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * tests adding a filter using the method that accepts a filter
-	 */
-	public void testAddFilterFromFilter() {
-		try {
-			IApiComponent component = getProjectApiComponent(TESTING_PLUGIN_PROJECT_NAME);
-			assertNotNull("the testing project api component must exist", component);
-			IProject project = getTestingJavaProject(TESTING_PLUGIN_PROJECT_NAME).getProject();
-			IResource resource = project.findMember(new Path("src/x/y/z/C4.java"));
-			assertNotNull("the resource src/x/y/z/C4.java must exist", resource);
-			IApiProblem problem = ApiProblemFactory.newApiProblem(resource.getProjectRelativePath().toPortableString(), null, null, null, -1, -1, -1, IApiProblem.CATEGORY_USAGE, 0, RestrictionModifiers.NO_IMPLEMENT, IApiProblem.NO_FLAGS);
-			IApiFilterStore store;
-			store = component.getFilterStore();
-			store.addFilters(new IApiProblemFilter[] {component.newProblemFilter(problem)});
-			assertTrue("src/x/y/z/C4.java should have a filter", store.isFiltered(problem));
-			store.removeFilters(new IApiProblemFilter[] {component.newProblemFilter(problem)});
-			assertFalse("src/x/y/z/C4.java should not have a filter", store.isFiltered(problem));
-		}
-		catch(CoreException ce) {
-			fail(ce.getMessage());
-		}
-	}
-	
-	/**
-	 * tests adding a filter using the method that accepts an api problem
-	 */
-	public void testAddFilterFromProblem() {
-		try {
-			IApiComponent component = getProjectApiComponent(TESTING_PLUGIN_PROJECT_NAME);
-			assertNotNull("the testing project api component must exist", component);
-			IProject project = getTestingJavaProject(TESTING_PLUGIN_PROJECT_NAME).getProject();
-			IResource resource = project.findMember(new Path("src/x/y/z/C4.java"));
-			assertNotNull("the resource src/x/y/z/C4.java must exist", resource);
-			IApiProblem problem = ApiProblemFactory.newApiProblem(resource.getProjectRelativePath().toPortableString(), null, null, null, -1, -1, -1, IApiProblem.CATEGORY_USAGE, 0, RestrictionModifiers.NO_IMPLEMENT, IApiProblem.NO_FLAGS);
-			IApiFilterStore store;
-			store = component.getFilterStore();
-			store.addFilters(new IApiProblem[] {problem});
-			assertTrue("src/x/y/z/C4.java should have a filter", store.isFiltered(problem));
-			store.removeFilters(new IApiProblemFilter[] {component.newProblemFilter(problem)});
-			assertFalse("src/x/y/z/C4.java should not have a filter", store.isFiltered(problem));
-		}
-		catch(CoreException ce) {
-			fail(ce.getMessage());
-		}
-	}
-	
-	/**
-	 * Tests that importing the test 'component_c' jar is successful
-	 */
-	public void testImportJar() {
-		try {
-			IProject project = getTestingJavaProject(TESTING_PLUGIN_PROJECT_NAME).getProject();
-			FileUtils.importFileFromDirectory(PLUGIN_LOC.append("component_c_1.0.0.jar").toFile(), project.getFullPath(), new NullProgressMonitor());
-			IResource res = project.findMember("component_c_1.0.0.jar");
-			assertNotNull("the jar should exist in the project dir", res);
-		}
-		catch (Exception e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Tests that a filter store will not be annotated from a bundle
-	 */
-	public void testAnnotateStoreFromBundle() {
-		try {
-			IProject project = getTestingJavaProject(TESTING_PLUGIN_PROJECT_NAME).getProject();
-			IResource jar = project.findMember("component_c_1.0.0.jar");
-			assertNotNull("the component_c jar cannot be null", jar);
-			IApiProfile profile = ApiPlugin.getDefault().getApiProfileManager().getWorkspaceProfile();
-			IApiComponent component = profile.newApiComponent(jar.getLocation().toOSString());
-			profile.addApiComponents(new IApiComponent[] { component });
-			assertNotNull("the new component cannot be null", component);
-			IApiFilterStore store = component.getFilterStore();
-			assertNull("the new filter store must be null", store);
-		}
-		catch(CoreException e) {
-			fail(e.getMessage());
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiProfileTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiProfileTests.java
deleted file mode 100644
index 20930d7..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ApiProfileTests.java
+++ /dev/null
@@ -1,302 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.model.tests;
-
-import java.io.FileNotFoundException;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.BundleVersionRange;
-import org.eclipse.pde.api.tools.internal.RequiredComponentDescription;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer;
-import org.eclipse.pde.api.tools.internal.provisional.IRequiredComponentDescription;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-
-/**
- * Test creation of states and components.
- * 
- * @since 1.0.0
- */
-public class ApiProfileTests extends TestCase {
-	
-	/**
-	 * Creates and validates simple state.
-	 * 
-	 * @throws FileNotFoundException
-	 * @throws CoreException
-	 */
-	public void testCreateBaseline() throws FileNotFoundException, CoreException {
-		IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins");
-		assertNotNull("the testing baseline should exist", baseline);
-		List reqs = new ArrayList();
-		reqs.add(new RequiredComponentDescription("org.eclipse.core.runtime", new BundleVersionRange("")));
-		validateComponent(baseline, "component.a", "A Plug-in", "1.0.0", "J2SE-1.5", reqs);
-
-		reqs = new ArrayList();
-		reqs.add(new RequiredComponentDescription("org.eclipse.core.runtime", new BundleVersionRange("")));
-		reqs.add(new RequiredComponentDescription("component.a", new BundleVersionRange("")));
-		validateComponent(baseline, "component.b", "B Plug-in", "1.0.0", "J2SE-1.4", reqs);
-		
-	}
-	
-	/**
-	 * Resolves a package
-	 * 
-	 * @throws FileNotFoundException
-	 * @throws CoreException
-	 */
-	public void testResolvePackage() throws FileNotFoundException, CoreException {
-		IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins");
-		assertNotNull("the testing baseline should exist", baseline);
-		IApiComponent[] components = baseline.resolvePackage(baseline.getApiComponent("component.b"), "component.a");
-		assertNotNull("No component", components);
-		assertEquals("Wrong size", 1, components.length);
-		assertEquals("Wrong provider for package", baseline.getApiComponent("component.a"), components[0]);
-	}
-	
-	/**
-	 * Resolves a package within a single component
-	 * 
-	 * @throws FileNotFoundException
-	 * @throws CoreException
-	 */
-	public void testResolvePackageWithinComponent() throws FileNotFoundException, CoreException {
-		IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins");
-		assertNotNull("the testing baseline should exist", baseline);
-		IApiComponent[] components = baseline.resolvePackage(baseline.getApiComponent("component.a"), "a.b.c");
-		assertNotNull("No component", components);
-		assertEquals("Wrong size", 1, components.length);
-		assertEquals("Wrong provider for package", baseline.getApiComponent("component.a"), components[0]);
-	}	
-	
-	/**
-	 * Resolves a system package
-	 * 
-	 * @throws FileNotFoundException
-	 * @throws CoreException
-	 */
-	public void testResolveJavaLangPackage() throws FileNotFoundException, CoreException {
-		IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins");
-		assertNotNull("the testing baseline should exist", baseline);
-		IApiComponent[] components = baseline.resolvePackage(baseline.getApiComponent("component.b"), "java.lang");
-		assertNotNull("No component", components);
-		assertEquals("Wrong size", 1, components.length);
-		assertEquals("Wrong provider for package", baseline.getApiComponent(baseline.getExecutionEnvironment()), components[0]);
-	}
-	
-	/**
-	 * Resolves a system package
-	 * 
-	 * @throws FileNotFoundException
-	 * @throws CoreException
-	 */
-	public void testResolveSystemPackage() throws FileNotFoundException, CoreException {
-		IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins");
-		assertNotNull("the testing baseline should exist", baseline);
-		IApiComponent[] components = baseline.resolvePackage(baseline.getApiComponent("component.b"), "org.w3c.dom");
-		assertNotNull("No component", components);
-		assertEquals("Wrong size", 1, components.length);
-		assertEquals("Wrong provider for package", baseline.getApiComponent(baseline.getExecutionEnvironment()), components[0]);
-	}	
-	
-	/**
-	 * Finds the class file for java.lang.Object
-	 * 
-	 * @throws FileNotFoundException
-	 * @throws CoreException
-	 */
-	public void testFindJavaLangObject() throws FileNotFoundException, CoreException {
-		IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins");
-		assertNotNull("the testing baseline should exist", baseline);
-		IApiComponent[] components = baseline.resolvePackage(baseline.getApiComponent("component.b"), "java.lang");
-		assertNotNull("No component", components);
-		assertEquals("Wrong size", 1, components.length);
-		assertEquals("Wrong provider for package", baseline.getApiComponent(baseline.getExecutionEnvironment()), components[0]);
-		IClassFile classFile = components[0].findClassFile("java.lang.Object");
-		assertNotNull("Missing java.lang.Object", classFile);
-		assertEquals("Wrong type name", "java.lang.Object", classFile.getTypeName());
-	}	
-	
-	/**
-	 * Validates basic component attributes.
-	 * 
-	 * @param baseline baseline to retrieve the component from
-	 * @param id component id
-	 * @param name component name
-	 * @param version component version
-	 * @param environment execution environment id
-	 * @param requiredComponents list of {@link IRequiredComponentDescription}
-	 * @throws CoreException 
-	 */
-	private void validateComponent(IApiProfile baseline, String id, String name, String version, String environment, List requiredComponents) throws CoreException {
-		IApiComponent component = baseline.getApiComponent(id);
-		
-		assertEquals("Id: ", id , component.getId());
-		assertEquals("Name: ", name , component.getName());
-		assertEquals("Version: ", version , component.getVersion());
-		String[] envs = component.getExecutionEnvironments();
-		assertEquals("Wrong number of execution environments", 1, envs.length);
-		assertEquals("Version: ", environment , envs[0]);
-		
-		IRequiredComponentDescription[] actual = component.getRequiredComponents();
-		assertEquals("Wrong number of required components", requiredComponents.size(), actual.length);
-				
-		for (int i = 0; i < requiredComponents.size(); i++) {
-			assertEquals("Wrong required component", requiredComponents.get(i), actual[i]);
-		}		
-	}
-	
-	/**
-	 * Tests creating a baseline with a component that has a nested jar 
-	 * of class files.
-	 * 
-	 * @throws CoreException
-	 */
-	public void testNestedJarComponent() throws CoreException {
-		IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-nested-jars");
-		IApiComponent component = baseline.getApiComponent("component.a");
-		assertNotNull("missing component.a", component);
-		IClassFileContainer[] containers = component.getClassFileContainers();
-		assertTrue("Missing containers:", containers.length > 0);
-		IClassFile file = null;
-		for (int i = 0; i < containers.length; i++) {
-			IClassFileContainer container = containers[i];
-			String[] names = container.getPackageNames();
-			for (int j = 0; j < names.length; j++) {
-				if (names[j].equals("component.a")) {
-					file = container.findClassFile("component.a.A");
-					break;
-				}
-			}
-			if (file != null) {
-				break;
-			}
-		}
-		assertNotNull("Missing class file", file);
-		assertEquals("Wrong type name", "component.a.A", file.getTypeName());
-	}
-	
-	/**
-	 * Tests that an x-friends directive works. Component A exports package
-	 * component.a.friend.of.b as a friend for b.
-	 * 
-	 * @throws CoreException 
-	 */
-	public void testXFriendsDirective() throws CoreException {
-		IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent component = baseline.getApiComponent("component.a");
-		assertNotNull("Missing component.a", component);
-		IApiDescription description = component.getApiDescription();
-		IApiAnnotations result = description.resolveAnnotations("component.b", Factory.typeDescriptor("component.a.friend.of.b.FriendOfB"));
-		assertNotNull("Missing API description", result);
-		int visibility = result.getVisibility();
-		assertTrue("Should be API", VisibilityModifiers.isAPI(visibility));
-	}
-	
-	/**
-	 * Tests that an x-internal directive works. Component A exports package
-	 * component.a.internal as internal.
-	 * 
-	 * @throws CoreException 
-	 */
-	public void testXInternalDirective() throws CoreException {
-		IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent component = baseline.getApiComponent("component.a");
-		assertNotNull("Missing component.a", component);
-		IApiDescription description = component.getApiDescription();
-		IApiAnnotations result = description.resolveAnnotations("component.b", Factory.typeDescriptor("component.a.internal.InternalClass"));
-		assertNotNull("Missing API description", result);
-		int visibility = result.getVisibility();
-		assertTrue("Should be private", VisibilityModifiers.isPrivate(visibility));
-	}	
-	
-	/**
-	 * Tests that a 'uses' directive works. Component A exports package
-	 * component.a. with a 'uses' directive but should still be API.
-	 * 
-	 * @throws CoreException 
-	 */
-	public void testUsesDirective() throws CoreException {
-		IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent component = baseline.getApiComponent("component.a");
-		assertNotNull("Missing component.a", component);
-		IApiDescription description = component.getApiDescription();
-		IApiAnnotations result = description.resolveAnnotations("component.b", Factory.typeDescriptor("component.a.A"));
-		assertNotNull("Missing API description", result);
-		int visibility = result.getVisibility();
-		assertTrue("Should be API", VisibilityModifiers.isAPI(visibility));
-	}	
-	
-	/**
-	 * Tests that a non-exported package is private. Component A does not export package
-	 * component.a.not.exported.
-	 * 
-	 * @throws CoreException 
-	 */
-	public void testNotExported() throws CoreException {
-		IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent component = baseline.getApiComponent("component.a");
-		assertNotNull("Missing component.a", component);
-		IApiDescription description = component.getApiDescription();
-		IApiAnnotations result = description.resolveAnnotations("component.b", Factory.typeDescriptor("component.a.not.exported.NotExported"));
-		assertNotNull("Missing API description", result);
-		int visibility = result.getVisibility();
-		assertTrue("Should be private", VisibilityModifiers.isPrivate(visibility));
-	}		
-	
-	/**
-	 * Tests component prerequisites.
-	 *  
-	 * @throws CoreException
-	 */
-	public void testPrerequisites() throws CoreException {
-		IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent component = baseline.getApiComponent("component.a");
-		IApiComponent[] prerequisiteComponents = baseline.getPrerequisiteComponents(new IApiComponent[]{component});
-		for (int i = 0; i < prerequisiteComponents.length; i++) {
-			IApiComponent apiComponent = prerequisiteComponents[i];
-			if (apiComponent.getId().equals("org.eclipse.osgi")) {
-				// done
-				return;
-			}
-		}
-		assertTrue("Missing prerequisite bundle", false);
-	}
-	
-	/**
-	 * Tests component dependents.
-	 *  
-	 * @throws CoreException
-	 */
-	public void testDependents() throws CoreException {
-		IApiProfile baseline = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent component = baseline.getApiComponent("component.a");
-		IApiComponent[] dependents = baseline.getDependentComponents(new IApiComponent[]{component});
-		assertEquals("Wrong number of dependents", 2, dependents.length);
-		for (int i = 0; i < dependents.length; i++) {
-			IApiComponent apiComponent = dependents[i];
-			if (apiComponent.getId().equals("component.b")) {
-				// done
-				return;
-			}
-		}
-		assertEquals("Missing dependent component.b", false);
-	}	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ClassFileContainerTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ClassFileContainerTests.java
deleted file mode 100644
index 76f39a6..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ClassFileContainerTests.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.model.tests;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.pde.api.tools.internal.ArchiveClassFileContainer;
-import org.eclipse.pde.api.tools.internal.DirectoryClassFileContainer;
-import org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer;
-
-/**
- * Tests the class file containers
- * 
- * @since 1.0.0
- */
-public class ClassFileContainerTests extends TestCase {
-
-	public static Test suite() {
-		return new TestSuite(ClassFileContainerTests.class);
-	}	
-	
-	public ClassFileContainerTests() {
-		super();
-	}
-	
-	public ClassFileContainerTests(String name) {
-		super(name);
-	}
-	
-	/**
-	 * Builds a sample archive on sample.jar
-	 * 
-	 * @return sample archive
-	 */
-	protected IClassFileContainer buildArchiveContainer() {
-		IPath path = TestSuiteHelper.getPluginDirectoryPath();
-		path = path.append("test-jars").append("sample.jar");
-		File file = path.toFile();
-		assertTrue("Missing jar file", file.exists());
-		return new ArchiveClassFileContainer(path.toOSString(), null);
-	}
-	
-	/**
-	 * Builds a sample container on directory
-	 * 
-	 * @return sample directory container
-	 */
-	protected IClassFileContainer buildDirectoryContainer() {
-		IPath path = TestSuiteHelper.getPluginDirectoryPath();
-		path = path.append("test-bin-dir");
-		File file = path.toFile();
-		assertTrue("Missing bin directory", file.exists());
-		return new DirectoryClassFileContainer(path.toOSString(), null);
-	}	
-	
-	/**
-	 * Tests retrieving package names from an archive.
-	 * 
-	 * @throws CoreException
-	 */
-	public void testArchivePackageNames() throws CoreException {
-		doTestPackageNames(buildArchiveContainer());
-	}	
-	
-	/**
-	 * Tests retrieving package names from an directory.
-	 * 
-	 * @throws CoreException
-	 */
-	public void testDirectoryPackageNames() throws CoreException {
-		doTestPackageNames(buildDirectoryContainer());
-	}	
-	
-	/**
-	 * Tests retrieving package names.
-	 * 
-	 * @param container class file container
-	 * @throws CoreException
-	 */
-	protected void doTestPackageNames(IClassFileContainer container) throws CoreException {
-		String[] packageNames = container.getPackageNames();
-		Set knownNames = new HashSet();
-		knownNames.add("");
-		knownNames.add("a");
-		knownNames.add("a.b.c");
-		assertEquals("Wrong number of packages", 3, packageNames.length);
-		for (int i = 0; i < packageNames.length; i++) {
-			assertTrue("Missing package " + packageNames[i], knownNames.remove(packageNames[i]));
-		}
-		assertTrue("Should be no left over packages", knownNames.isEmpty());
-	}
-	
-	/**
-	 * Tests visiting packages in an archive.
-	 * 
-	 * @throws CoreException
-	 */
-	public void testArchiveVistPackages() throws CoreException {
-		doTestVisitPackages(buildArchiveContainer());
-	}
-	
-	/**
-	 * Tests visiting packages in an directory.
-	 * 
-	 * @throws CoreException
-	 */
-	public void testDirectoryVistPackages() throws CoreException {
-		doTestVisitPackages(buildDirectoryContainer());
-	}
-	
-	/**
-	 * Test visiting packages
-	 * 
-	 * @param container class file container
-	 * @throws CoreException 
-	 */
-	protected void doTestVisitPackages(IClassFileContainer container) throws CoreException {
-		final List expectedPkgOrder = new ArrayList();
-		expectedPkgOrder.add("");
-		expectedPkgOrder.add("a");
-		expectedPkgOrder.add("a.b.c");
-		final List visit = new ArrayList();
-		ClassFileContainerVisitor visitor = new ClassFileContainerVisitor() {
-			public boolean visitPackage(String packageName) {
-				visit.add(packageName);
-				return false;
-			}
-			public void visit(String packageName, IClassFile classFile) {
-				assertTrue("Should not visit types", false);
-			}
-			public void endVisitPackage(String packageName) {
-				assertTrue("Wrong end visit order", visit.get(visit.size() - 1).equals(packageName));
-			}
-			public void end(String packageName, IClassFile classFile) {
-				assertTrue("Should not visit types", false);
-			}
-		};
-		container.accept(visitor);
-		assertEquals("Visited wrong number of packages", expectedPkgOrder.size(), visit.size());
-		assertEquals("Visit order incorrect", expectedPkgOrder, visit);
-	}
-	
-	/**
-	 * Tests visiting class files in an archive.
-	 * 
-	 * @throws CoreException
-	 */
-	public void testArchiveVisitClassFiles() throws CoreException {
-		doTestVisitClassFiles(buildArchiveContainer());
-	}
-	
-	/**
-	 * Tests visiting class files in a directory.
-	 * 
-	 * @throws CoreException
-	 */
-	public void testDirectoryVisitClassFiles() throws CoreException {
-		doTestVisitClassFiles(buildDirectoryContainer());
-	}	
-	
-	/**
-	 * Test visiting class files
-	 * 
-	 * @param container class file container
-	 * @throws CoreException
-	 */
-	protected void doTestVisitClassFiles(IClassFileContainer container) throws CoreException {
-		final Map expectedTypes = new HashMap();
-		final List expectedPkgOrder = new ArrayList();
-		expectedPkgOrder.add("");
-			List cf = new ArrayList();
-			cf.add("DefA");
-			cf.add("DefB");
-			expectedTypes.put("", cf);
-		expectedPkgOrder.add("a");
-			cf = new ArrayList();
-			cf.add("a.ClassA");
-			cf.add("a.ClassB");
-			cf.add("a.ClassB$InsideB");
-			expectedTypes.put("a", cf);
-		expectedPkgOrder.add("a.b.c");
-			cf = new ArrayList();
-			cf.add("a.b.c.ClassC");
-			cf.add("a.b.c.ClassD");
-			cf.add("a.b.c.InterfaceC");
-			expectedTypes.put("a.b.c", cf);
-		final List visit = new ArrayList();
-		final Map visitTypes = new HashMap();
-		ClassFileContainerVisitor visitor = new ClassFileContainerVisitor() {
-			public boolean visitPackage(String packageName) {
-				visit.add(packageName);
-				return true;
-			}
-			public void visit(String packageName, IClassFile classFile) {
-				assertTrue("Should not visit types", visit.get(visit.size() - 1).equals(packageName));
-				List types = (List) visitTypes.get(packageName);
-				if (types == null) {
-					types = new ArrayList();
-					visitTypes.put(packageName, types);
-				}
-				types.add(classFile.getTypeName());
-			}
-			
-			public void endVisitPackage(String packageName) {
-				assertTrue("Wrong end visit order", visit.get(visit.size() - 1).equals(packageName));
-				assertEquals("Visited wrong types", expectedTypes.get(packageName), visitTypes.get(packageName));
-			}
-			public void end(String packageName, IClassFile classFile) {
-				List types = (List) visitTypes.get(packageName);
-				assertTrue("Should not visit types", types.get(types.size() - 1).equals(classFile.getTypeName()));
-			}
-		};
-		container.accept(visitor);
-		assertEquals("Visited wrong number of packages", expectedPkgOrder.size(), visit.size());
-		assertEquals("Visit order incorrect", expectedPkgOrder, visit);		
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ClassFileScannerTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ClassFileScannerTests.java
deleted file mode 100644
index 29dead4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ClassFileScannerTests.java
+++ /dev/null
@@ -1,549 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.model.tests;
-
-import java.io.File;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.pde.api.tools.internal.DirectoryClassFileContainer;
-import org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
-import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer;
-import org.eclipse.pde.api.tools.internal.provisional.IRequiredComponentDescription;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMemberDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemFilter;
-import org.eclipse.pde.api.tools.internal.provisional.search.ILocation;
-import org.eclipse.pde.api.tools.internal.provisional.search.IReference;
-import org.eclipse.pde.api.tools.internal.provisional.search.ReferenceModifiers;
-import org.eclipse.pde.api.tools.internal.search.ClassFileScanner;
-
-/**
- * This class tests the class file scanner and the class file visitor
- * 
- * @since 1.0.0
- */
-public class ClassFileScannerTests extends TestCase {
-	
-	private static IPath WORKSPACE_ROOT = null;
-	private static String WORKSPACE_NAME = "test_classes_workspace";
-	private static IPath ROOT_PATH = null;
-	private static DirectoryClassFileContainer container = null;
-	private static ClassFileScanner scanner = null;
-	private static IApiComponent component = null;
-	
-	static {
-		//setup workspace root
-		WORKSPACE_ROOT = TestSuiteHelper.getPluginDirectoryPath().append(WORKSPACE_NAME);
-		ROOT_PATH = TestSuiteHelper.getPluginDirectoryPath().append("test-source").append("classes");
-		new File(WORKSPACE_ROOT.toOSString()).mkdirs();
-	}
-	
-	/**
-	 * Returns the set of references collected from the given class file
-	 * @param qualifiedname
-	 * @return the set of references from the specified class file name or <code>null</code>
-	 */
-	protected List getRefSet(String qualifiedname) {
-		try {
-			IClassFile cfile = container.findClassFile(qualifiedname);
-			scanner.scan(component, cfile, ReferenceModifiers.MASK_REF_ALL);
-			return scanner.getReferenceListing();
-		}
-		catch(CoreException ce) {
-			fail(ce.getMessage());
-		}
-		return null;
-	}
-	
-	/**
-	 * Finds an {@link IReference} within the given set, where a matching ref has the same kind
-	 * and the target of the reference matches the specified qualified name
-	 * @param sourcename the qualified name of the source location
-	 * @param targetname the qualified name of the target location
-	 * @param kind the kind of the {@link IReference}
-	 * @param refs the set of {@link IReference}s to search within
-	 * @return a matching {@link IReference} or <code>null</code>
-	 */
-	protected IReference findReference(String sourcename, String targetname, int kind, List refs) {
-		IReference ref = null;
-		ILocation target = null;
-		for(Iterator iter = refs.iterator(); iter.hasNext();) {
-			ref = (IReference) iter.next();
-			if(ref.getReferenceKind() == kind) {
-				if(ref.getSourceLocation().getType().getQualifiedName().equals(sourcename)) {
-					target = ref.getReferencedLocation();
-					if(target.getType().getQualifiedName().equals(targetname)) {
-						return ref;
-					}
-				}
-			}
-			ref = null;
-		}
-		return ref;
-	}
-	
-	/**
-	 * Finds a reference to a given target from a given source to a given target member of a specified kind from the given listing
-	 * @param sourcename the qualified name of the location the reference is from
-	 * @param sourceMember the name of the source member making the reference or <code>null</code> if none
-	 * @param targetname the qualified type name being referenced
-	 * @param targetMember name of target member referenced or <code>null</code>
-	 * @param kind the kind of reference. see {@link IReference} for kinds
-	 * @param refs the current listing of references to search within
-	 * @return an {@link IReference} matching the specified criteria or <code>null</code> if none found
-	 */
-	protected IReference findMemberReference(String sourcename, String sourceMember, String targetname, String targetMember, int kind, List refs) {
-		IReference ref = null;
-		ILocation target = null;
-		for(Iterator iter = refs.iterator(); iter.hasNext();) {
-			ref = (IReference) iter.next();
-			if(ref.getReferenceKind() == kind) {
-				if(ref.getSourceLocation().getType().getQualifiedName().equals(sourcename)) {
-					target = ref.getReferencedLocation();
-					if(target.getType().getQualifiedName().equals(targetname)) {
-						if (sourceMember != null) {
-							IMemberDescriptor member = ref.getSourceLocation().getMember();
-							if(!member.getName().equals(sourceMember)) {
-								continue;
-							}
-						}
-						if (targetMember != null) {
-							IMemberDescriptor member = ref.getReferencedLocation().getMember();
-							if(!member.getName().equals(targetMember)) {
-								continue;
-							}
-						}
-						return ref;
-					}
-				}
-			}
-			ref = null;
-		}
-		return ref;
-	}
-	
-	/**
-	 * Compiles the test-classes workspace
-	 * @throws CoreException 
-	 */
-	public void testCompileClassWorkspace() throws CoreException {
-		String[] sourceFilePaths = new String[] {ROOT_PATH.toOSString()};
-		assertTrue("working directory should compile", TestSuiteHelper.compile(sourceFilePaths, WORKSPACE_ROOT.toOSString(), TestSuiteHelper.COMPILER_OPTIONS));
-		assertTrue("Test12 should compile to 1.4", TestSuiteHelper.compile(ROOT_PATH.append("Test12.java").toOSString(),
-				WORKSPACE_ROOT.toOSString(), 
-				new String[] {"-1.4", "-preserveAllLocals", "-nowarn"}));
-		container = new DirectoryClassFileContainer(WORKSPACE_ROOT.append("classes").toOSString(), null);
-		scanner = ClassFileScanner.newScanner();
-		component = new IApiComponent() {
-			public String[] getPackageNames() throws CoreException {
-				return null;
-			}
-			public IClassFile findClassFile(String qualifiedName) throws CoreException {
-				return null;
-			}
-			public void close() throws CoreException {
-			}
-			public void accept(ClassFileContainerVisitor visitor) throws CoreException {
-			}
-			public String getVersion() {
-				return null;
-			}
-			public IRequiredComponentDescription[] getRequiredComponents() {
-				return null;
-			}
-			public String getName() {
-				return "test";
-			}
-			public String getLocation() {
-				return null;
-			}
-			public String getId() {
-				return "test";
-			}
-			public String[] getExecutionEnvironments() {
-				return null;
-			}
-			public IClassFileContainer[] getClassFileContainers() {
-				return null;
-			}
-			public IApiDescription getApiDescription() {
-				return null;
-			}
-			public boolean isSystemComponent() {
-				return false;
-			}
-			public void dispose() {
-			}
-			public IApiProfile getProfile() {
-				return null;
-			}
-			public void export(Map options, IProgressMonitor monitor) throws CoreException {
-			}
-			public IApiFilterStore getFilterStore() {
-				return null;
-			}
-			public IApiProblemFilter newProblemFilter(IApiProblem problem) {
-				return null;
-			}
-			public boolean isSourceComponent() {
-				return false;
-			}
-			public boolean isFragment() {
-				return false;
-			}
-			public boolean hasFragments() {
-				return false;
-			}
-			public IClassFile findClassFile(String qualifiedName, String id) throws CoreException {
-				return null;
-			}
-			public IClassFileContainer[] getClassFileContainers(String id) {
-				return null;
-			}
-			public String getOrigin() {
-				return this.getId();
-			}
-		};
-	}
-	
-	/**
-	 * Tests scanning a simple class file that extends nothing, implements nothing and has no members
-	 */
-	public void testScanEmptyClass() {
-		List refs = getRefSet("Test1");
-		IReference ref = findMemberReference("classes.Test1", null, "java.lang.Object", null, ReferenceModifiers.REF_EXTENDS, refs);
-		assertTrue("there should be an extends ref to java.lang.Object", ref != null);
-		ref = findMemberReference("classes.Test1", "<init>", "java.lang.Object", null, ReferenceModifiers.REF_CONSTRUCTORMETHOD, refs);
-		assertTrue("there should be a ref to java.lang.Object in the default constructor", ref != null);
-	}
-	
-	/**
-	 * Test scanning a simple generic class file that extends nothing, implements nothing and has no members
-	 */
-	public void testScanEmptyGenericClass() {
-		List refs = getRefSet("Test2");
-		IReference ref = findMemberReference("classes.Test2", null, "java.lang.Object", null, ReferenceModifiers.REF_EXTENDS, refs);
-		assertTrue("There should be an extends ref to java.lang.Object for an empty class", ref != null);
-		ref = findMemberReference("classes.Test2", "<init>", "java.lang.Object", null, ReferenceModifiers.REF_CONSTRUCTORMETHOD, refs);
-		assertTrue("there should be a ref to java.lang.Object in the default constructor", ref != null);
-		ref = findMemberReference("classes.Test2", null, "java.lang.Object", null, ReferenceModifiers.REF_PARAMETERIZED_TYPEDECL, refs);
-		assertTrue("There should be a parameterized type ref to java.lang.Object", ref != null);
-	}
-	
-	/**
-	 * Tests scanning an empty inner class
-	 */
-	public void testScanInnerClass() {
-		List refs = getRefSet("Test3$Inner");
-		IReference ref = findMemberReference("classes.Test3$Inner", null, "java.lang.Object", null, ReferenceModifiers.REF_EXTENDS, refs);
-		assertTrue("there should be an extends ref to java.lang.Object", ref != null);
-		ref = findMemberReference("classes.Test3$Inner", "<init>", "java.lang.Object", null, ReferenceModifiers.REF_CONSTRUCTORMETHOD, refs);
-		assertTrue("there should be a ref to java.lang.Object in the default constructor of an inner class", ref != null);
-	}
-	
-	/**
-	 * Tests scanning a empty static inner class
-	 */
-	public void testScanInnerStaticClass() {
-		List refs = getRefSet("Test3$Inner2");
-		IReference ref = findReference("classes.Test3$Inner2", "java.lang.Object", ReferenceModifiers.REF_EXTENDS, refs);
-		assertTrue("there should be an extends ref to java.lang.Object", ref != null);
-		ref = findReference("classes.Test3$Inner2", "java.lang.Object", ReferenceModifiers.REF_CONSTRUCTORMETHOD, refs);
-		assertTrue("there should be a ref to java.lang.Object in the default constructor of an inner class", ref != null);
-	}
-	
-	/**
-	 * Tests scanning an empty inner class of an empty inner static class
-	 */
-	public void testScanInnerStaticInnerClass() {
-		List refs = getRefSet("Test3$Inner2$Inner3");
-		IReference ref = findReference("classes.Test3$Inner2$Inner3", "java.lang.Object", ReferenceModifiers.REF_EXTENDS, refs);
-		assertTrue("there should be an extends ref to java.lang.Object", ref != null);
-		ref = findReference("classes.Test3$Inner2$Inner3", "java.lang.Object", ReferenceModifiers.REF_CONSTRUCTORMETHOD, refs);
-		assertTrue("there should be a ref to java.lang.Object in the default constructor of an inner class", ref != null);
-	}
-	
-	/**
-	 * Tests scanning an empty outer class
-	 */
-	public void testScanOuterClass() {
-		List refs = getRefSet("Test3Outer");
-		IReference ref = findReference("classes.Test3Outer", "java.lang.Object", ReferenceModifiers.REF_EXTENDS, refs);
-		assertTrue("there should be an extends ref to java.lang.Object", ref != null);
-		ref = findReference("classes.Test3Outer", "java.lang.Object", ReferenceModifiers.REF_CONSTRUCTORMETHOD, refs);
-		assertTrue("there should be a ref to java.lang.Object in the default constructor of an inner class", ref != null);
-	}
-	
-	/**
-	 * Tests scanning an empty class of the inner class of an outer class
-	 */
-	public void testScanInnerOuterClass() {
-		List refs = getRefSet("Test3Outer$Inner");
-		IReference ref = findReference("classes.Test3Outer$Inner", "java.lang.Object", ReferenceModifiers.REF_EXTENDS, refs);
-		assertTrue("there should be an extends ref to java.lang.Object", ref != null);
-		ref = findReference("classes.Test3Outer$Inner", "java.lang.Object", ReferenceModifiers.REF_CONSTRUCTORMETHOD, refs);
-		assertTrue("there should be a ref to java.lang.Object in the default constructor of an inner class", ref != null);
-	}
-	
-	/**
-	 * Tests scanning an inner static generic type
-	 */
-	public void testScanInnerGenericClass() {
-		List refs = getRefSet("Test4$Inner");
-		IReference ref = findReference("classes.Test4$Inner", "java.lang.Object", ReferenceModifiers.REF_EXTENDS, refs);
-		assertTrue("There should be an extends ref to java.lang.Object for an inner empty class", ref != null);
-		ref = findReference("classes.Test4$Inner", "java.lang.Object", ReferenceModifiers.REF_CONSTRUCTORMETHOD, refs);
-		assertTrue("there should be a ref to java.lang.Object in the default constructor of an inner class", ref != null);
-		ref = findReference("classes.Test4$Inner", "java.lang.Object", ReferenceModifiers.REF_PARAMETERIZED_TYPEDECL, refs);
-		assertTrue("there should be a ref to java.lang.Object in the default constructor of an inner class", ref != null);
-	}
-	
-	/**
-	 * Tests scanning an inner class of a static class of a generic type
-	 */
-	public void testScanInnerStaticInnerGenericClass() {
-		List refs = getRefSet("Test4$Inner$Inner2");
-		IReference ref = findReference("classes.Test4$Inner$Inner2", "java.lang.Object", ReferenceModifiers.REF_EXTENDS, refs);
-		assertTrue("There should be an extends ref to java.lang.Object for an inner empty class", ref != null);
-		ref = findReference("classes.Test4$Inner$Inner2", "java.lang.Object", ReferenceModifiers.REF_CONSTRUCTORMETHOD, refs);
-		assertTrue("there should be a ref to java.lang.Object in the default constructor of an inner class", ref != null);
-		ref = findReference("classes.Test4$Inner$Inner2", "java.lang.Object", ReferenceModifiers.REF_PARAMETERIZED_TYPEDECL, refs);
-		assertTrue("there should be a ref to java.lang.Object in the default constructor of an inner class", ref != null);
-	}
-	
-	/**
-	 * Tests scanning a non-generic class that extends something and implements interfaces
-	 */
-	public void testScanClassExtendsImplements() {
-		List refs = getRefSet("Test5");
-		IReference ref = findReference("classes.Test5", "java.util.ArrayList", ReferenceModifiers.REF_EXTENDS, refs);
-		assertTrue("there should be an extends reference to java.util.ArrayList", ref != null);
-		ref = findReference("classes.Test5", "java.lang.Iterable", ReferenceModifiers.REF_IMPLEMENTS, refs);
-		assertTrue("there should be an implements reference to java.lang.Iterable", ref != null);
-		ref = findReference("classes.Test5", "classes.ITest5", ReferenceModifiers.REF_IMPLEMENTS, refs);
-		assertTrue("there should be an implements reference to classes.ITest5", ref != null);
-		ref = findReference("classes.Test5", "java.util.ArrayList", ReferenceModifiers.REF_CONSTRUCTORMETHOD, refs);
-		assertTrue("there should be a ref to java.lang.Object in the default constructor of an inner class", ref != null);
-	}
-	
-	/**
-	 * Tests scanning a generic class that extends something and implements interfaces
-	 */
-	public void testScanGenericClassExtendsImplements() {
-		List refs = getRefSet("Test6");
-		IReference ref = findReference("classes.Test6", "classes.Test6Abstract", ReferenceModifiers.REF_CONSTRUCTORMETHOD, refs);
-		assertTrue("there should be a REF_CONSTRUCTORMETHOD ref to classes.Test6Abstract", ref != null);
-		ref = findReference("classes.Test6", "java.lang.Iterable", ReferenceModifiers.REF_IMPLEMENTS, refs);
-		assertTrue("there should be a REF_IMPLEMENTS ref to java.lang.Iterable", ref != null);
-		ref = findReference("classes.Test6", "java.util.ArrayList", ReferenceModifiers.REF_PARAMETERIZED_TYPEDECL, refs);
-		assertTrue("there should be a REF_PARAMETERIZED_TYPEDECL ref to java.util.ArrayList", ref != null);
-		ref = findReference("classes.Test6", "java.util.Map", ReferenceModifiers.REF_PARAMETERIZED_METHODDECL, refs);
-		assertTrue("there should be a REF_PARAMETERIZED_METHODDECL ref to java.util.Map", ref != null);
-		ref = findReference("classes.Test6", "java.lang.String", ReferenceModifiers.REF_PARAMETERIZED_METHODDECL, refs);
-		assertTrue("there should be a REF_PARAMETERIZED_METHODDECL ref to java.lang.String", ref != null);
-		ref = findReference("classes.Test6", "java.lang.String", ReferenceModifiers.REF_PARAMETERIZED_TYPEDECL, refs);
-		assertTrue("there should be a REF_PARAMETERIZED_TYPEDECL ref to java.lang.String", ref != null);
-		ref = findReference("classes.Test6", "java.util.Iterator", ReferenceModifiers.REF_RETURNTYPE, refs);
-		assertTrue("there should be a REF_RETURNTYPE ref to java.util.Iterator", ref != null);
-		ref = findReference("classes.Test6", "java.util.Map", ReferenceModifiers.REF_PARAMETERIZED_TYPEDECL, refs);
-		assertTrue("there should be a REF_PARAMETERIZED_TYPEDECL ref to java.util.Map", ref != null);
-		ref = findReference("classes.Test6", "classes.Test6Abstract", ReferenceModifiers.REF_EXTENDS, refs);
-		assertTrue("there should be a REF_EXTENDS ref to classes.Test6Abstract", ref != null);
-	}
-	
-	/**
-	 * Tests a variety of method declarations
-	 */
-	public void testScanMethodDecl() {
-		List refs = getRefSet("Test7");
-		IReference ref = findMemberReference("classes.Test7", "m1", "java.lang.String", null, ReferenceModifiers.REF_RETURNTYPE, refs);
-		assertTrue("m1 should have a REF_RETURNTYPE ref to java.lang.String", ref != null);
-		ref = findMemberReference("classes.Test7", "m1", "java.lang.String", null, ReferenceModifiers.REF_PARAMETER, refs);
-		assertTrue("m1 should have a REF_PARAMETER ref to java.lang.String", ref != null);
-		ref = findMemberReference("classes.Test7", "m2", "java.lang.String", null, ReferenceModifiers.REF_RETURNTYPE, refs);
-		assertTrue("m2 should have a REF_RETURNTYPE ref to java.lang.String", ref != null);
-		ref = findMemberReference("classes.Test7", "m2", "java.lang.String", null, ReferenceModifiers.REF_PARAMETER, refs);
-		assertTrue("m2 should have a REF_PARAMETER ref to java.lang.String", ref != null);
-		ref = findMemberReference("classes.Test7", "m3", "java.lang.String", null, ReferenceModifiers.REF_RETURNTYPE, refs);
-		assertTrue("m3 should have a REF_RETURNTYPE ref to java.lang.String", ref != null);
-		ref = findMemberReference("classes.Test7", "m3", "java.lang.String", null, ReferenceModifiers.REF_PARAMETER, refs);
-		assertTrue("m3 should have a REF_PARAMETER ref to java.lang.String", ref != null);
-		ref = findMemberReference("classes.Test7", "m7", "java.lang.String", null, ReferenceModifiers.REF_RETURNTYPE, refs);
-		assertTrue("m7 should have a REF_RETURNTYPE ref to java.lang.String", ref != null);
-		ref = findMemberReference("classes.Test7", "m7", "java.lang.String", null, ReferenceModifiers.REF_PARAMETER, refs);
-		assertTrue("m7 should have a REF_PARAMETER ref to java.lang.String", ref != null);
-		ref = findMemberReference("classes.Test7", "m8", "java.lang.String", null, ReferenceModifiers.REF_RETURNTYPE, refs);
-		assertTrue("m8 should have a REF_RETURNTYPE ref to java.lang.String", ref != null);
-		ref = findMemberReference("classes.Test7", "m8", "java.lang.String", null, ReferenceModifiers.REF_PARAMETER, refs);
-		assertTrue("m8 should have a REF_PARAMETER ref to java.lang.String", ref != null);
-		ref = findMemberReference("classes.Test7", "m9", "java.lang.String", null, ReferenceModifiers.REF_RETURNTYPE, refs);
-		assertTrue("m9 should have a REF_RETURNTYPE ref to java.lang.String", ref != null);
-		ref = findMemberReference("classes.Test7", "m9", "java.lang.String", null, ReferenceModifiers.REF_PARAMETER, refs);
-		assertTrue("m9 should have a REF_PARAMETER ref to java.lang.String", ref != null);
-		
-		
-	}
-	
-	/**
-	 * Tests a variety of method declarations with array types in them
-	 */
-	public void testScanMethodDeclArrayTypes() {
-		List refs = getRefSet("Test7");
-		IReference ref = findMemberReference("classes.Test7", "m4", "java.lang.Integer", null, ReferenceModifiers.REF_RETURNTYPE, refs);
-		assertTrue("m4 should have a REF_RETURNTYPE ref to java.lang.Integer", ref != null);
-		ref = findMemberReference("classes.Test7", "m4", "java.lang.Double", null, ReferenceModifiers.REF_PARAMETER, refs);
-		assertTrue("m4 should have a REF_PARAMETER ref to java.lang.Double", ref != null);
-		ref = findMemberReference("classes.Test7", "m5", "java.lang.Integer", null, ReferenceModifiers.REF_RETURNTYPE, refs);
-		assertTrue("m5 should have a REF_RETURNTYPE ref to java.lang.Integer", ref != null);
-		ref = findMemberReference("classes.Test7", "m5", "java.lang.Double", null, ReferenceModifiers.REF_PARAMETER, refs);
-		assertTrue("m5 should have a REF_PARAMETER ref to java.lang.Double", ref != null);
-		ref = findMemberReference("classes.Test7", "m6", "java.lang.Integer", null, ReferenceModifiers.REF_RETURNTYPE, refs);
-		assertTrue("m6 should have a REF_RETURNTYPE ref to java.lang.Integer", ref != null);
-		ref = findMemberReference("classes.Test7", "m6", "java.lang.Double", null, ReferenceModifiers.REF_PARAMETER, refs);
-		assertTrue("m6 should have a REF_PARAMETER ref to java.lang.Double", ref != null);
-		ref = findMemberReference("classes.Test7", "m10", "java.lang.Integer", null, ReferenceModifiers.REF_RETURNTYPE, refs);
-		assertTrue("m10 should have a REF_RETURNTYPE ref to java.lang.Integer", ref != null);
-		ref = findMemberReference("classes.Test7", "m10", "java.lang.Double", null, ReferenceModifiers.REF_PARAMETER, refs);
-		assertTrue("m10 should have a REF_PARAMETER ref to java.lang.Double", ref != null);
-		ref = findMemberReference("classes.Test7", "m11", "java.lang.Integer", null, ReferenceModifiers.REF_RETURNTYPE, refs);
-		assertTrue("m11 should have a REF_RETURNTYPE ref to java.lang.Integer", ref != null);
-		ref = findMemberReference("classes.Test7", "m11", "java.lang.Double", null, ReferenceModifiers.REF_PARAMETER, refs);
-		assertTrue("m11 should have a REF_PARAMETER ref to java.lang.Double", ref != null);
-		ref = findMemberReference("classes.Test7", "m12", "java.lang.Integer", null, ReferenceModifiers.REF_RETURNTYPE, refs);
-		assertTrue("m12 should have a REF_RETURNTYPE ref to java.lang.Integer", ref != null);
-		ref = findMemberReference("classes.Test7", "m12", "java.lang.Double", null, ReferenceModifiers.REF_PARAMETER, refs);
-		assertTrue("m12 should have a REF_PARAMETER ref to java.lang.Double", ref != null);
-	}
-	
-	/**
-	 * Tests a variety of method declarations with generic types
-	 */
-	public void testScanMethodDeclGenerics() {
-		List refs = getRefSet("Test8");
-		IReference ref = findMemberReference("classes.Test8", "m1", "java.util.ArrayList", null, ReferenceModifiers.REF_RETURNTYPE, refs);
-		assertTrue("there should be a REF_RETURNTYPE ref for m1", ref != null);
-		ref = findMemberReference("classes.Test8", "m1", "java.util.Map", null, ReferenceModifiers.REF_PARAMETER, refs);
-		assertTrue("there should be a REF_PARAMETER ref for m1", ref != null);
-		ref = findMemberReference("classes.Test8", "m1", "java.lang.Double", null, ReferenceModifiers.REF_PARAMETER, refs);
-		assertTrue("there should be a REF_PARAMETER ref for m1 for java.lang.Double", ref != null);
-		ref = findMemberReference("classes.Test8", "m1", "java.lang.Integer", null, ReferenceModifiers.REF_PARAMETERIZED_METHODDECL, refs);
-		assertTrue("there should be a REF_PARAMETERIZED_METHODDECL ref for m1 for java.lang.Integer", ref != null);
-		ref = findMemberReference("classes.Test8", "m1", "java.lang.String", null, ReferenceModifiers.REF_PARAMETERIZED_METHODDECL, refs);
-		assertTrue("there should be a REF_PARAMETERIZED_METHODDECL ref for m1 for java.lang.String", ref != null);
-		ref = findMemberReference("classes.Test8", "m1", "classes.Test8Outer", null, ReferenceModifiers.REF_PARAMETERIZED_METHODDECL, refs);
-		assertTrue("there should be a REF_PARAMETERIZED_METHODDECL ref for m1 for classes.Test8Outer", ref != null);
-		
-		ref = findMemberReference("classes.Test8", "m2", "java.util.ArrayList", null, ReferenceModifiers.REF_RETURNTYPE, refs);
-		assertTrue("there should be a REF_RETURNTYPE ref for m2", ref != null);
-		ref = findMemberReference("classes.Test8", "m2", "java.util.Map", null, ReferenceModifiers.REF_PARAMETER, refs);
-		assertTrue("there should be a REF_PARAMETER ref for m2", ref != null);
-		ref = findMemberReference("classes.Test8", "m2", "java.lang.Double", null, ReferenceModifiers.REF_PARAMETER, refs);
-		assertTrue("there should be a REF_PARAMETER ref for m2 for java.lang.Double", ref != null);
-		ref = findMemberReference("classes.Test8", "m2", "java.lang.Integer", null, ReferenceModifiers.REF_PARAMETERIZED_METHODDECL, refs);
-		assertTrue("there should be a REF_PARAMETERIZED_METHODDECL ref for m2 for java.lang.Integer", ref != null);
-		ref = findMemberReference("classes.Test8", "m2", "java.lang.String", null, ReferenceModifiers.REF_PARAMETERIZED_METHODDECL, refs);
-		assertTrue("there should be a REF_PARAMETERIZED_METHODDECL ref for m2 for java.lang.String", ref != null);
-		ref = findMemberReference("classes.Test8", "m2", "classes.Test8Outer", null, ReferenceModifiers.REF_PARAMETERIZED_METHODDECL, refs);
-		assertTrue("there should be a REF_PARAMETERIZED_METHODDECL ref for m2 for classes.Test8Outer", ref != null);
-	}
-	
-	/**
-	 * Tests a variety of field declarations
-	 */
-	public void testScanFieldDecl() {
-		List refs = getRefSet("Test9");
-		IReference ref = findMemberReference("classes.Test9", "strs", "java.lang.String", null, ReferenceModifiers.REF_FIELDDECL, refs);
-		assertTrue("there should be a REF_FIELDDECL ref for java.lang.String", ref != null);
-		ref = findMemberReference("classes.Test9", "list", "java.util.ArrayList", null, ReferenceModifiers.REF_FIELDDECL, refs);
-		assertTrue("there should be a REF_FIELDDECL ref for java.util.ArrayList", ref != null);
-		ref = findMemberReference("classes.Test9", "object", "java.lang.Object", null, ReferenceModifiers.REF_FIELDDECL, refs);
-		assertTrue("there should be a REF_FIELDDECL ref for java.lang.Object", ref != null);
-		//TODO does not collect ref to Runnable in Test9 as there is no direct ref to Runnable in that classfile
-		
-	}
-	
-	/**
-	 * Tests a variety of arrays that have been declared as local variables in methods
-	 */
-	public void testScanLocalVariableArrays() {
-		List refs = getRefSet("Test10");
-		IReference ref = findMemberReference("classes.Test10", null, "java.lang.String", null, ReferenceModifiers.REF_ARRAYALLOC, refs);
-		assertTrue("there should be a REF_ARRAYALLOC ref to java.lang.String", ref != null);
-		ref = findMemberReference("classes.Test10", null, "java.lang.Object", null, ReferenceModifiers.REF_ARRAYALLOC, refs);
-		assertTrue("there should be a REF_ARRAYALLOC ref to java.lang.Object", ref != null);
-		ref = findMemberReference("classes.Test10", null, "java.lang.Integer", null, ReferenceModifiers.REF_ARRAYALLOC, refs);
-		assertTrue("there should be a REF_ARRAYALLOC ref to java.lang.Integer", ref != null);
-		ref = findMemberReference("classes.Test10", null, "java.lang.Double", null, ReferenceModifiers.REF_ARRAYALLOC, refs);
-		assertTrue("there should be a REF_ARRAYALLOC ref to java.lang.Double", ref != null);
-	}
-	
-	/**
-	 * Tests a variety of LDC ops that load things like Integer.class onto the stack
-	 */
-	public void testScanConstantPoolAccess() {
-		List refs = getRefSet("Test11");
-		IReference ref = findMemberReference("classes.Test11", null, "java.lang.Integer", null, ReferenceModifiers.REF_CONSTANTPOOL, refs);
-		assertTrue("there should be a REF_CONSTANTPOOL ref to java.lang.Integer", ref != null);
-		ref = findMemberReference("classes.Test11", null, "java.lang.Double", null, ReferenceModifiers.REF_CONSTANTPOOL, refs);
-		assertTrue("there should be a REF_CONSTANTPOOL ref to java.lang.Integer", ref != null);
-		ref = findMemberReference("classes.Test11", null, "java.lang.String", null, ReferenceModifiers.REF_CONSTANTPOOL, refs);
-		assertTrue("there should be a REF_CONSTANTPOOL ref to java.lang.Integer", ref != null);	
-	}
-	
-	/**
-	 * Tests a variety of LDC ops that load things like Integer.class onto the stack. This method uses a 
-	 * 1.4 code level class, and checks that the LDC ref is actually processed via a Class.forName static method call
-	 */
-	public void testScanConstantPoolAccess1_4() {
-		List refs = getRefSet("Test12");
-		IReference ref = findMemberReference("classes.Test12", null, "java.lang.Integer", null, ReferenceModifiers.REF_CONSTANTPOOL, refs);
-		assertTrue("there should be a REF_CONSTANTPOOL ref to java.lang.Integer", ref != null);
-		ref = findMemberReference("classes.Test12", null, "java.lang.Double", null, ReferenceModifiers.REF_CONSTANTPOOL, refs);
-		assertTrue("there should be a REF_CONSTANTPOOL ref to java.lang.Integer", ref != null);
-		ref = findMemberReference("classes.Test12", null, "java.lang.String", null, ReferenceModifiers.REF_CONSTANTPOOL, refs);
-		assertTrue("there should be a REF_CONSTANTPOOL ref to java.lang.Integer", ref != null);	
-	}
-	
-	/**
-	 * Tests a variety of method calls 
-	 */
-	public void testScanMethodCalls() {
-		List refs = getRefSet("Test13");
-		IReference ref = findMemberReference("classes.Test13", "m1", "classes.Test13", "m2", ReferenceModifiers.REF_VIRTUALMETHOD, refs);
-		assertTrue("the should be a REF_VIRTUALMETHOD ref to m2 from classes.Test13", ref != null);
-		ref = findMemberReference("classes.Test13", "m1", "classes.Test13", "m3", ReferenceModifiers.REF_VIRTUALMETHOD, refs);
-		assertTrue("the should be a REF_VIRTUALMETHOD ref to m3 from classes.Test13", ref != null);
-		ref = findMemberReference("classes.Test13", "m4", "classes.Test13A", "getInteger", ReferenceModifiers.REF_VIRTUALMETHOD, refs);
-		assertTrue("the should be a REF_VIRTUALMETHOD ref to getInteger from classes.Test13A", ref != null);
-		ref = findMemberReference("classes.Test13", "m3", "classes.Test13A", "doSomething", ReferenceModifiers.REF_STATICMETHOD, refs);
-		assertTrue("the should be a REF_STATICMETHOD ref to doSomething from classes.Test13A", ref != null);
-	}
-	
-	/**
-	 * Cleans up after the tests are done. This must be the last test run
-	 */
-	public void testCleanup() {
-		// remove workspace root
-		assertTrue(TestSuiteHelper.delete(new File(WORKSPACE_ROOT.toOSString())));
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ComponentManifestTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ComponentManifestTests.java
deleted file mode 100644
index fe8eaf1..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ComponentManifestTests.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.model.tests;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.pde.api.tools.internal.BundleVersionRange;
-import org.eclipse.pde.api.tools.internal.RequiredComponentDescription;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.IRequiredComponentDescription;
-
-/**
- * @since 1.0.0
- */
-public class ComponentManifestTests extends TestCase {
-
-	public static Test suite() {
-		return new TestSuite(ComponentManifestTests.class);
-	}	
-	
-	public ComponentManifestTests() {
-		super();
-	}
-	
-	public ComponentManifestTests(String name) {
-		super(name);
-	}
-	
-	public void testComponentManifest() throws FileNotFoundException, CoreException {
-		IPath path = TestSuiteHelper.getPluginDirectoryPath();
-		path = path.append("test-manifests");
-		File file = path.toFile();
-		assertTrue("Missing manifest directory", file.exists());
-		IApiProfile baseline = TestSuiteHelper.newApiProfile("test", TestSuiteHelper.getEEDescriptionFile());
-		IApiComponent component = baseline.newApiComponent(file.getAbsolutePath());
-		baseline.addApiComponents(new IApiComponent[] { component });
-		assertEquals("Id: ", "org.eclipse.debug.ui" , component.getId());
-		assertEquals("Name: ", "Debug Platform UI" , component.getName());
-		assertEquals("Version: ", "3.3.100.qualifier" , component.getVersion());
-		String[] envs = component.getExecutionEnvironments();
-		assertEquals("Wrong number of execution environments", 1, envs.length);
-		assertEquals("Version: ", "J2SE-1.4" , envs[0]);
-		
-		IRequiredComponentDescription[] requiredComponents = component.getRequiredComponents();
-		assertEquals("Wrong number of required components", 11, requiredComponents.length);
-		
-		List<RequiredComponentDescription> reqs = new ArrayList<RequiredComponentDescription>();
-		reqs.add(new RequiredComponentDescription("org.eclipse.core.expressions", new BundleVersionRange("(3.3.0,4.0.0)")));
-		reqs.add(new RequiredComponentDescription("org.eclipse.core.variables", new BundleVersionRange("[3.2.0,4.0.0]")));
-		reqs.add(new RequiredComponentDescription("org.eclipse.ui", new BundleVersionRange("[3.3.0,4.0.0]")));
-		reqs.add(new RequiredComponentDescription("org.eclipse.ui.console", new BundleVersionRange("[3.2.0,4.0.0)")));
-		reqs.add(new RequiredComponentDescription("org.eclipse.help", new BundleVersionRange("3.3.0")));
-		reqs.add(new RequiredComponentDescription("org.eclipse.debug.core", new BundleVersionRange("3.4.0")));
-		reqs.add(new RequiredComponentDescription("org.eclipse.jface.text", new BundleVersionRange("[3.3.0,4.0.0)")));
-		reqs.add(new RequiredComponentDescription("org.eclipse.ui.workbench.texteditor", new BundleVersionRange("[3.3.0,4.0.0)")));
-		reqs.add(new RequiredComponentDescription("org.eclipse.ui.ide", new BundleVersionRange("[3.3.0,4.0.0)")));
-		reqs.add(new RequiredComponentDescription("org.eclipse.ui.editors", new BundleVersionRange("[3.3.0,4.0.0)")));
-		reqs.add(new RequiredComponentDescription("org.eclipse.core.runtime", new BundleVersionRange("[3.3.0,4.0.0)")));
-		
-		for (int i = 0; i < reqs.size(); i++) {
-			assertEquals("Wrong required component", reqs.get(i), requiredComponents[i]);
-		}
-		baseline.dispose();
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ElementDescriptorTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ElementDescriptorTests.java
deleted file mode 100644
index 389ba3d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ElementDescriptorTests.java
+++ /dev/null
@@ -1,379 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.model.tests;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IArrayTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IFieldDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPrimitiveTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-
-/**
- * Tests for element descriptors.
- * 
- * @since 1.0.0
- */
-public class ElementDescriptorTests extends TestCase {
-
-	public static Test suite() {
-		return new TestSuite(ElementDescriptorTests.class);
-	}	
-	
-	public ElementDescriptorTests() {
-		super();
-	}
-	
-	public ElementDescriptorTests(String name) {
-		super(name);
-	}
-	
-	/**
-	 * Tests equality of default package
-	 */
-	public void testDefaultPackageEq() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("");
-		IPackageDescriptor pkg2 = Factory.packageDescriptor("");
-		assertEquals("Default packages should be equal", pkg1, pkg2);
-	}
-	
-	/**
-	 * Tests non-equality of different packages
-	 */
-	public void testPackageNonEq() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("a.b.c");
-		IPackageDescriptor pkg2 = Factory.packageDescriptor("d.e.f");
-		assertFalse("packages should be equal", pkg1.equals(pkg2));
-	}	
-	
-	/**
-	 * Tests equality of non-default package
-	 */
-	public void testNonDefaultPackageEq() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("a.b.c");
-		IPackageDescriptor pkg2 = Factory.packageDescriptor("a.b.c");
-		assertEquals("a.b.c packages should be equal", pkg1, pkg2);
-	}	
-	
-	/**
-	 * Tests equality of types in the default package
-	 */
-	public void testTypeDefaultPackageEq() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("");
-		IPackageDescriptor pkg2 = Factory.packageDescriptor("");
-		IReferenceTypeDescriptor type1 = pkg1.getType("A");
-		IReferenceTypeDescriptor type2 = pkg2.getType("A");
-		assertEquals("Types in default package should be equal", type1, type2);
-	}	
-	
-	/**
-	 * Tests equality of inner types in the default package
-	 */
-	public void testInnerTypeDefaultPackageEq() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("");
-		IPackageDescriptor pkg2 = Factory.packageDescriptor("");
-		IReferenceTypeDescriptor type1 = pkg1.getType("A");
-		IReferenceTypeDescriptor type2 = pkg2.getType("A");
-		IReferenceTypeDescriptor inner1 = type1.getType("B");
-		IReferenceTypeDescriptor inner2 = type2.getType("B");
-		assertEquals("Types in default package should be equal", inner1, inner2);
-	}	
-	
-	
-	/**
-	 * Tests equality of inner types in non-default package
-	 */
-	public void testInnerTypeNonDefaultPackageEq() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("a.b.c");
-		IPackageDescriptor pkg2 = Factory.packageDescriptor("a.b.c");
-		IReferenceTypeDescriptor type1 = pkg1.getType("A");
-		IReferenceTypeDescriptor type2 = pkg2.getType("A");
-		IReferenceTypeDescriptor inner1 = type1.getType("B");
-		IReferenceTypeDescriptor inner2 = type2.getType("B");
-		assertEquals("Types in default package should be equal", inner1, inner2);
-	}	
-	
-	/**
-	 * Tests package retrieval
-	 */
-	public void testInnerTypePackage() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("a.b.c");
-		IReferenceTypeDescriptor type1 = pkg1.getType("A");
-		IReferenceTypeDescriptor inner1 = type1.getType("B");
-		assertEquals("Wrong package", pkg1, inner1.getPackage());
-	}		
-	
-	/**
-	 * Tests non-equality of inner types in non-default package
-	 */
-	public void testInnerTypeNonDefaultPackageNonEq() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("a.b.c");
-		IPackageDescriptor pkg2 = Factory.packageDescriptor("d.e.f");
-		IReferenceTypeDescriptor type1 = pkg1.getType("A");
-		IReferenceTypeDescriptor type2 = pkg2.getType("A");
-		IReferenceTypeDescriptor inner1 = type1.getType("B");
-		IReferenceTypeDescriptor inner2 = type2.getType("B");
-		assertFalse("Types in different package should not be equal", inner1.equals(inner2));
-	}	
-	
-	/**
-	 * Tests equality of inner types in non-default package
-	 */
-	public void testDeepInnerTypeNonDefaultPackageEq() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("a.b.c");
-		IPackageDescriptor pkg2 = Factory.packageDescriptor("a.b.c");
-		IReferenceTypeDescriptor type1 = pkg1.getType("A");
-		IReferenceTypeDescriptor type2 = pkg2.getType("A");
-		IReferenceTypeDescriptor i1 = type1.getType("B");
-		IReferenceTypeDescriptor i2 = type2.getType("B");
-		IReferenceTypeDescriptor inner1 = i1.getType("C");
-		IReferenceTypeDescriptor inner2 = i2.getType("C");
-		assertEquals("Types in default package should be equal", inner1, inner2);
-	}	
-	
-	/**
-	 * Tests non-equality of different types
-	 */
-	public void testTypeNonEq() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("a.b.c");
-		IPackageDescriptor pkg2 = Factory.packageDescriptor("d.e.f");
-		IReferenceTypeDescriptor type1 = pkg1.getType("A");
-		IReferenceTypeDescriptor type2 = pkg2.getType("A");
-		assertFalse("Types in different package should not be equal", type1.equals(type2));
-	}	
-	
-	/**
-	 * Tests equality of types in non-default package
-	 */
-	public void testTypeNonDefaultPackageEq() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("a.b.c");
-		IPackageDescriptor pkg2 = Factory.packageDescriptor("a.b.c");
-		IReferenceTypeDescriptor type1 = pkg1.getType("A");
-		IReferenceTypeDescriptor type2 = pkg2.getType("A");
-		assertEquals("Types in default package should be equal", type1, type2);
-	}
-	
-	/**
-	 * Tests package retrieval
-	 */
-	public void testTypePackage() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("a.b.c");
-		IReferenceTypeDescriptor type1 = pkg1.getType("A");
-		assertEquals("Wrong package", pkg1, type1.getPackage());
-	}
-	
-	/**
-	 * Tests equality of fields
-	 */
-	public void testFieldEq() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("a.b.c");
-		IPackageDescriptor pkg2 = Factory.packageDescriptor("a.b.c");
-		IReferenceTypeDescriptor type1 = pkg1.getType("A");
-		IReferenceTypeDescriptor type2 = pkg2.getType("A");
-		IFieldDescriptor field1 = type1.getField("name");
-		IFieldDescriptor field2 = type2.getField("name");
-		assertEquals("Fields should be equal", field1, field2);
-	}
-	
-	/**
-	 * Tests package retrieval
-	 */
-	public void testFieldPackage() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("a.b.c");
-		IReferenceTypeDescriptor type1 = pkg1.getType("A");
-		IFieldDescriptor field1 = type1.getField("name");
-		assertEquals("Wrong package", pkg1, field1.getPackage());
-	}
-	
-	/**
-	 * Tests non-equality of fields
-	 */
-	public void testFieldNonEq() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("a.b.c");
-		IPackageDescriptor pkg2 = Factory.packageDescriptor("a.b.c");
-		IReferenceTypeDescriptor type1 = pkg1.getType("A");
-		IReferenceTypeDescriptor type2 = pkg2.getType("A");
-		IFieldDescriptor field1 = type1.getField("name");
-		IFieldDescriptor field2 = type2.getField("age");
-		assertFalse("Fields should not be equal", field1.equals(field2));
-	}	
-	
-	/**
-	 * Tests equality of methods without parameters
-	 */
-	public void testMethodNoParamsEq() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("a.b.c");
-		IPackageDescriptor pkg2 = Factory.packageDescriptor("a.b.c");
-		IReferenceTypeDescriptor type1 = pkg1.getType("A");
-		IReferenceTypeDescriptor type2 = pkg2.getType("A");
-		IMethodDescriptor m1 = type1.getMethod("foo", "()V");
-		IMethodDescriptor m2 = type2.getMethod("foo", "()V");
-		assertEquals("Methods should be equal", m1, m2);
-	}	
-	
-	/**
-	 * Tests equality of methods with parameters
-	 */
-	public void testMethodParamsEq() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("a.b.c");
-		IPackageDescriptor pkg2 = Factory.packageDescriptor("a.b.c");
-		IReferenceTypeDescriptor type1 = pkg1.getType("A");
-		IReferenceTypeDescriptor type2 = pkg2.getType("A");
-		IMethodDescriptor m1 = type1.getMethod("foo", Signature.createMethodSignature(
-				new String[]{Factory.intType().getSignature(), type1.getSignature()}, "V"));
-		IMethodDescriptor m2 = type2.getMethod("foo", Signature.createMethodSignature(
-				new String[]{Factory.intType().getSignature(), type2.getSignature()}, "V"));
-		assertEquals("Methods should be equal", m1, m2);
-	}	
-	
-	/**
-	 * Tests non-equality of methods with parameters= types
-	 */
-	public void testMethodParamsNonEq() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("a.b.c");
-		IPackageDescriptor pkg2 = Factory.packageDescriptor("a.b.c");
-		IReferenceTypeDescriptor type1 = pkg1.getType("A");
-		IReferenceTypeDescriptor type2 = pkg2.getType("A");
-		IMethodDescriptor m1 = type1.getMethod("foo", Signature.createMethodSignature(
-				new String[]{Factory.intType().getSignature(), type1.getSignature()}, "V"));
-		IMethodDescriptor m2 = type2.getMethod("foo", Signature.createMethodSignature(
-				new String[]{Factory.intType().getSignature(), Factory.booleanType().getSignature()}, "V"));
-		assertFalse("Methods should not be equal", m1.equals(m2));
-	}
-	
-	/**
-	 * Tests non-equality of methods with different number of parameters
-	 */
-	public void testMethodDiffParamsNonEq() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("a.b.c");
-		IPackageDescriptor pkg2 = Factory.packageDescriptor("a.b.c");
-		IReferenceTypeDescriptor type1 = pkg1.getType("A");
-		IReferenceTypeDescriptor type2 = pkg2.getType("A");
-		IMethodDescriptor m1 = type1.getMethod("foo", Signature.createMethodSignature(
-				new String[]{Factory.intType().getSignature()}, "V"));
-		IMethodDescriptor m2 = type2.getMethod("foo", Signature.createMethodSignature(
-				new String[]{Factory.intType().getSignature(), Factory.booleanType().getSignature()}, "V"));
-		assertFalse("Methods should not be equal", m1.equals(m2));
-	}	
-	
-	/**
-	 * Tests package retrieval
-	 */
-	public void testMethodPackage() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("a.b.c");
-		IReferenceTypeDescriptor type1 = pkg1.getType("A");
-		IMethodDescriptor m1 = type1.getMethod("foo", Signature.createMethodSignature(
-				new String[]{Factory.intType().getSignature()}, "V"));
-		assertEquals("Wrong package", pkg1, m1.getPackage());
-	}		
-	
-	/**
-	 * Tests equality of primitive types
-	 */
-	public void testPrimitiveTypeEq() {
-		assertEquals("Primitives should be equal", Factory.booleanType(), Factory.booleanType());
-		assertEquals("Primitives should be equal", Factory.byteType(), Factory.byteType());
-		assertEquals("Primitives should be equal", Factory.charType(), Factory.charType());
-		assertEquals("Primitives should be equal", Factory.doubleType(), Factory.doubleType());
-		assertEquals("Primitives should be equal", Factory.floatType(), Factory.floatType());
-		assertEquals("Primitives should be equal", Factory.intType(), Factory.intType());
-		assertEquals("Primitives should be equal", Factory.longType(), Factory.longType());
-		assertEquals("Primitives should be equal", Factory.shortType(), Factory.shortType());
-	}
-	
-	/**
-	 * Tests non-equality of primitive types
-	 */
-	public void testPrimitiveTypeNonEq() {
-		assertFalse("Different primitives should not be equal", Factory.booleanType().equals(Factory.byteType()));
-		assertFalse("Different primitives should not be equal", Factory.byteType().equals(Factory.charType()));
-		assertFalse("Different primitives should not be equal", Factory.charType().equals(Factory.doubleType()));
-		assertFalse("Different primitives should not be equal", Factory.doubleType().equals(Factory.floatType()));
-		assertFalse("Different primitives should not be equal", Factory.floatType().equals(Factory.intType()));
-		assertFalse("Different primitives should not be equal", Factory.intType().equals(Factory.longType()));
-		assertFalse("Different primitives should not be equal", Factory.longType().equals(Factory.shortType()));
-		assertFalse("Different primitives should not be equal", Factory.shortType().equals(Factory.booleanType()));
-	}	
-	
-	/**
-	 * Tests equality of array types
-	 */
-	public void testArrayTypesEq() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("java.lang");
-		IPackageDescriptor pkg2 = Factory.packageDescriptor("java.lang");
-		IReferenceTypeDescriptor type1 = pkg1.getType("Object");
-		IReferenceTypeDescriptor type2 = pkg2.getType("Object");
-		IArrayTypeDescriptor array1 = type1.getArray(1);
-		IArrayTypeDescriptor array2 = type2.getArray(1);
-		assertEquals("Arrays should be equal", array1, array2);
-	}
-	
-	/**
-	 * Tests non-equality of array with different types
-	 */
-	public void testArrayTypesNonEq() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("java.lang");
-		IPackageDescriptor pkg2 = Factory.packageDescriptor("java.lang");
-		IReferenceTypeDescriptor type1 = pkg1.getType("Object");
-		IReferenceTypeDescriptor type2 = pkg2.getType("String");
-		IArrayTypeDescriptor array1 = type1.getArray(1);
-		IArrayTypeDescriptor array2 = type2.getArray(1);
-		assertFalse("Arrays should not be equal", array1.equals(array2));
-	}	
-	
-	
-	/**
-	 * Tests non-equality of arrays with different dimensions
-	 */
-	public void testArrayDimensionNonEq() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("java.lang");
-		IPackageDescriptor pkg2 = Factory.packageDescriptor("java.lang");
-		IReferenceTypeDescriptor type1 = pkg1.getType("Object");
-		IReferenceTypeDescriptor type2 = pkg2.getType("Object");
-		IArrayTypeDescriptor array1 = type1.getArray(1);
-		IArrayTypeDescriptor array2 = type2.getArray(3);
-		assertFalse("Arrays should not be equal", array1.equals(array2));
-	}	
-	
-	/**
-	 * Tests reference type signature generation
-	 */
-	public void testTypeSignature() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("java.lang");
-		IReferenceTypeDescriptor type1 = pkg1.getType("Object");
-		assertEquals("Wrong signature", "Ljava.lang.Object;", type1.getSignature());
-	}
-	
-	/**
-	 * Tests array type signature generation
-	 */
-	public void testArrayTypeSignature() {
-		IPackageDescriptor pkg1 = Factory.packageDescriptor("java.lang");
-		IReferenceTypeDescriptor type1 = pkg1.getType("Object");
-		IArrayTypeDescriptor array = type1.getArray(1);
-		assertEquals("Wrong signature", "[Ljava.lang.Object;", array.getSignature());
-	}
-	
-	/**
-	 * Tests primitive array type signature generation
-	 */
-	public void testPrimitiveArrayTypeSignature() {
-		IPrimitiveTypeDescriptor intType = Factory.intType();
-		IArrayTypeDescriptor array = intType.getArray(2);
-		assertEquals("Wrong signature", "[[I", array.getSignature());
-	}	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ExportComponentTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ExportComponentTests.java
deleted file mode 100644
index cfdaf3b..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/ExportComponentTests.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.model.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchEngine;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchScope;
-import org.eclipse.pde.api.tools.internal.provisional.search.IReference;
-import org.eclipse.pde.api.tools.internal.provisional.search.ReferenceModifiers;
-import org.eclipse.pde.api.tools.tests.util.Util;
-
-/**
- * Tests exporting API components.
- * 
- * @since 1.0.0
- */
-public class ExportComponentTests extends TestCase {
-
-	/**
-	 * Exports the SDK compressing class files.
-	 * 
-	 * @throws CoreException
-	 * @throws IOException 
-	 */
-	public void testExportSDKCompress() throws CoreException, IOException {
-		HashMap<String, Object> options = new HashMap<String, Object>();
-		options.put(IApiComponent.EXPORT_COMPRESS, Boolean.TRUE);
-		exportSDKTest(options);
-	}
-	
-	/**
-	 * Exports the SDK creating compressed stub class files
-	 * 
-	 * @throws CoreException
-	 * @throws IOException 
-	 */
-	public void testExportSDKCompressStubs() throws CoreException, IOException {
-		HashMap<String, Object> options = new HashMap<String, Object>();
-		options.put(IApiComponent.EXPORT_COMPRESS, Boolean.TRUE);
-		options.put(IApiComponent.EXPORT_CLASS_FILE_STUBS, Boolean.TRUE);
-		exportSDKTest(options);
-	}	
-	
-	/**
-	 * Exports the SDK, builds a new profile out of it and
-	 * compares it to the original SDK. Should be no differences.
-	 * 
-	 * @param options export options
-	 * @throws CoreException
-	 * @throws IOException 
-	 */
-	protected void exportSDKTest(Map<String, Object> options) throws CoreException, IOException {
-		File jdt = TestSuiteHelper.getBundle("org.eclipse.jdt.debug.ui");
-		assertNotNull("Missing jdt.debug.ui", jdt);
-		IApiProfile profile = TestSuiteHelper.createProfile("eclipse", jdt.getParentFile());
-		assertNotNull("the testing baseline should exist", profile);
-		File tempFile = File.createTempFile("api", "tmp");
-		File exportRoot = new File(tempFile.getParentFile(), "exp-test");
-		exportRoot.mkdirs();
-		File[] listFiles = exportRoot.listFiles();
-		for (int i = 0; i < listFiles.length; i++) {
-			File file = listFiles[i];
-			if (file.exists()) {
-				assertTrue("File could not be deleted : " + file.getAbsolutePath(), file.delete());
-			}
-		}
-		options.put(IApiComponent.EXPORT_DIRECTORY, exportRoot.getAbsolutePath());
-		
-		IApiComponent[] components = profile.getApiComponents();
-		for (int i = 0; i < components.length; i++) {
-			IApiComponent component = components[i];
-			if (!component.isSystemComponent()) {
-				component.export(options, null);
-			}
-		}
-		// check that delta is empty when compared
-		IApiProfile profile2 = TestSuiteHelper.createProfile("eclipse-2", exportRoot);
-		IApiComponent[] all = profile.getApiComponents();
-		try {
-			for (int i = 0; i < all.length; i++) {
-				IApiComponent apiComponent = all[i];
-				IDelta delta = ApiComparator.compare(apiComponent, profile2, VisibilityModifiers.API, true);
-				if (delta != ApiComparator.NO_DELTA) {
-					System.out.println(delta);
-				}
-				assertTrue("Profiles should be identical", delta.isEmpty());
-			}
-			// check that reference information is the same
-			IApiSearchEngine engine = Factory.newSearchEngine();
-			for (int i = 0; i < components.length; i++) {
-				IApiComponent component = components[i];
-				if (!component.isSystemComponent()) {
-					IApiComponent component2 = profile2.getApiComponent(component.getId());
-					IApiSearchScope scope = Factory.newScope(new IApiComponent[]{component});
-					IApiSearchScope scope2 = Factory.newScope(new IApiComponent[]{component2});
-					IApiSearchCriteria criteria = Factory.newSearchCriteria();
-					criteria.setReferenceKinds(ReferenceModifiers.MASK_REF_ALL);
-					criteria.setReferencedRestrictions(
-							VisibilityModifiers.ALL_VISIBILITIES,
-							RestrictionModifiers.ALL_RESTRICTIONS);
-					IReference[] references = Util.getReferences(engine.search(scope, new IApiSearchCriteria[]{criteria}, null));
-					IReference[] references2 = Util.getReferences(engine.search(scope2, new IApiSearchCriteria[]{criteria}, null));
-					Set<IReference> referencesSet = new HashSet<IReference>();
-					for (int j = 0; j < references.length; j++) {
-						referencesSet.add(references[j]);
-					}
-					Set<IReference> referencesSet2 = new HashSet<IReference>();
-					for (int j = 0; j < references2.length; j++) {
-						referencesSet2.add(references2[j]);
-					}
-					if (referencesSet.size() != referencesSet2.size()) {
-						assertEquals("Different number of references for " + component.getId(), referencesSet.size(), referencesSet2.size());
-//						System.out.println("Different number of references for " + component.getId() + " was (before export) " + referencesSet.size() + " found (exported) " + referencesSet2.size());
-//						System.out.println("======================================= FIRST SET ========================================");
-//						for (Iterator iterator = referencesSet.iterator(); iterator.hasNext();) {
-//							IReference reference = (IReference) iterator.next();
-//							System.out.println(reference);
-//						}
-//						System.out.println("======================================= FIRST SET ========================================");
-//						System.out.println("======================================= SECOND SET ========================================");
-//						for (Iterator iterator = referencesSet2.iterator(); iterator.hasNext();) {
-//							IReference reference = (IReference) iterator.next();
-//							System.out.println(reference);
-//						}
-//						System.out.println("======================================= SECOND SET ========================================");
-					}
-				}
-			}
-		} finally {
-			// clean-up
-			profile.dispose();
-			profile2.dispose();
-			listFiles = exportRoot.listFiles();
-			for (int i = 0; i < listFiles.length; i++) {
-				File file = listFiles[i];
-				if (file.exists()) {
-					assertTrue("File could not be deleted : " + file.getAbsolutePath(), file.delete());
-				}
-			}
-			tempFile.delete();
-			exportRoot.delete();
-		}
-	}	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/StubComponentTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/StubComponentTests.java
deleted file mode 100644
index 890e083..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/StubComponentTests.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.model.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchEngine;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchScope;
-import org.eclipse.pde.api.tools.internal.provisional.search.IReference;
-import org.eclipse.pde.api.tools.internal.provisional.search.ReferenceModifiers;
-import org.eclipse.pde.api.tools.tests.util.Util;
-
-/**
- * Tests class file stubs.
- * 
- * @since 1.0.0
- */
-public class StubComponentTests extends TestCase {
-	
-	/**
-	 * Exports components creating compressed stub class files.
-	 * Ensures that references in the original and stub are the same.
-	 * 
-	 * @throws CoreException
-	 * @throws IOException 
-	 */
-	public void testReferencesInStubs() throws CoreException, IOException {
-		HashMap<String, Object> options = new HashMap<String, Object>();
-		options.put(IApiComponent.EXPORT_COMPRESS, Boolean.TRUE);
-		options.put(IApiComponent.EXPORT_CLASS_FILE_STUBS, Boolean.TRUE);
-		exportSDKTest(options);
-	}	
-	
-	/**
-	 * Exports the SDK, builds a new profile out of it and
-	 * compares it to the original SDK. Should be no differences.
-	 * 
-	 * @param options export options
-	 * @throws CoreException
-	 * @throws IOException 
-	 */
-	protected void exportSDKTest(Map<String, Object> options) throws CoreException, IOException {
-		File jdt = TestSuiteHelper.getBundle("org.eclipse.jdt.debug.ui");
-		assertNotNull("Missing jdt.debug.ui", jdt);
-		IApiProfile profile = TestSuiteHelper.createProfile("eclipse", jdt.getParentFile());
-		assertNotNull("the testing baseline should exist", profile);
-		File tempFile = File.createTempFile("api", "tmp");
-		File exportRoot = new File(tempFile.getParentFile(), "exp-test");
-		exportRoot.mkdirs();
-		File[] listFiles = exportRoot.listFiles();
-		for (int i = 0; i < listFiles.length; i++) {
-			listFiles[i].delete();
-		}
-		options.put(IApiComponent.EXPORT_DIRECTORY, exportRoot.getAbsolutePath());
-		
-		IApiComponent[] components = profile.getApiComponents();
-		for (int i = 0; i < components.length; i++) {
-			IApiComponent component = components[i];
-			if (!component.isSystemComponent()) {
-				component.export(options, null);
-			}
-			component.close();
-		}
-		
-		// check that delta is empty when compared		
-		IApiProfile profile2 = TestSuiteHelper.createProfile("eclipse-2", exportRoot);
-		
-		// check that reference information is the same
-		IApiSearchEngine engine = Factory.newSearchEngine();
-		boolean ok = true; 
-		for (int i = 0; i < components.length; i++) {
-			IApiComponent component = components[i];
-			if (!component.isSystemComponent()) {
-				IApiComponent component2 = profile2.getApiComponent(component.getId());
-				IApiSearchScope scope = Factory.newScope(new IApiComponent[]{component});
-				IApiSearchScope scope2 = Factory.newScope(new IApiComponent[]{component2});
-				IApiSearchCriteria criteria = Factory.newSearchCriteria();
-				criteria.setReferenceKinds(ReferenceModifiers.MASK_REF_ALL);
-				criteria.setReferencedRestrictions(
-						VisibilityModifiers.ALL_VISIBILITIES,
-						RestrictionModifiers.ALL_RESTRICTIONS);
-				IReference[] references = Util.getReferences(engine.search(scope, new IApiSearchCriteria[]{criteria}, null));
-				IReference[] references2 = Util.getReferences(engine.search(scope2, new IApiSearchCriteria[]{criteria}, null));
-				System.out.println(component.getId() + " origRefs: " + references.length + " stubRefs: " + references2.length);
-				Set<IReference> leftOver = new HashSet<IReference>();
-				for (int j = 0; j < references.length; j++) {
-					leftOver.add(references[j]);
-				}
-				for (int j = 0; j < references2.length; j++) {
-					leftOver.remove(references2[j]);
-				}
-				System.out.println("difference: " + leftOver.size());
-				Iterator<IReference> iterator = leftOver.iterator();
-				while (iterator.hasNext()) {
-					IReference reference = (IReference) iterator.next();
-					System.out.println(reference);
-				}
-				if (leftOver.size() > 0) {
-					ok = false;
-					break;
-				}
-				component2.close();
-			}
-			component.close();
-		}
-
-		// clean-up
-		profile.dispose();
-		profile2.dispose();
-		listFiles = exportRoot.listFiles();
-		for (int i = 0; i < listFiles.length; i++) {
-			listFiles[i].delete();
-		}
-		tempFile.delete();
-		exportRoot.delete();
-		assertTrue("Different refs", ok);
-	}	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/TagScannerTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/TagScannerTests.java
deleted file mode 100644
index a353532..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/TagScannerTests.java
+++ /dev/null
@@ -1,905 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.model.tests;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.pde.api.tools.internal.ApiDescription;
-import org.eclipse.pde.api.tools.internal.ArchiveClassFileContainer;
-import org.eclipse.pde.api.tools.internal.CompilationUnit;
-import org.eclipse.pde.api.tools.internal.DirectoryClassFileContainer;
-import org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
-import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.scanner.TagScanner;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Class tests that the tag scanner for the API tools correctly scans source 
- * for API tags
- * 
- * @since 1.0.0
- */
-public class TagScannerTests extends TestCase {
-
-	private static final IPath SRC_LOC = TestSuiteHelper.getPluginDirectoryPath().append("test-source");
-	private static final IPath BIN_LOC = TestSuiteHelper.getPluginDirectoryPath().append("test-classes");
-	
-	/**
-	 * Creates a new empty API component description, not owned by any component.
-	 * 
-	 * @return
-	 */
-	protected IApiDescription newDescription() {
-		return new ApiDescription(null);
-	}
-	
-	/**
-	 * Creates a new {@link ArchiveClassFileContainer} on the given path
-	 * @param path
-	 * @return
-	 */
-	protected IClassFileContainer newArchiveClassFileContainer(IPath path) {
-		return new ArchiveClassFileContainer(path.toOSString(), null);
-	}
-	
-	/**
-	 * Returns a new compilation unit on the standard test source path with the
-	 * specified name appended
-	 * @param name
-	 * @return a new compilation unit
-	 */
-	private CompilationUnit getCompilationUnit(String name) {
-		Path path = (Path)SRC_LOC.append(name);
-		return new CompilationUnit(path.toOSString());
-	}
-	
-	/**
-	 * Performs the scan to populate the manifest and traps exceptions thrown from the scanner
-	 * @param name
-	 * @param manifest
-	 * @param cfc
-	 */
-	protected void doScan(String name, IApiDescription manifest, IClassFileContainer cfc) {
-		try {
-			TagScanner.newScanner().scan(getCompilationUnit(name), manifest, cfc);
-		}
-		catch(CoreException e) {
-			fail(MessageFormat.format("Error scanning: {0}", new String[] {name}));
-		}
-	}
-	
-	/**
-	 * Performs the scan to populate the manifest and traps exceptions thrown from the scanner
-	 * @param name
-	 * @param manifest
-	 */
-	protected void doScan(String name, IApiDescription manifest) {
-		try {
-			TagScanner.newScanner().scan(getCompilationUnit(name), manifest, null);
-		}
-		catch(CoreException e) {
-			fail(MessageFormat.format("Error scanning: {0}", new String[] {name}));
-		}
-	}
-	
-	/**
-	 * Tests that methods with non-simple type parameters have their signatures resolved if a backing class file 
-	 * is provided (via an {@link IClassFileContainer})
-	 */
-	public void testBug212276() {
-		DirectoryClassFileContainer container = new DirectoryClassFileContainer(BIN_LOC.toOSString(), null);
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod10.java", manifest, container);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod10", "one", "(Ljava/lang/String;Ljava/lang/Integer;)V"));
-		assertTrue("There should exist a description for method 'void one(String, Integer)'", description != null);
-		assertTrue("There should be API visibility for method 'void one(String, Integer)'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'void one(String, Integer)'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod10", "two", "(Ljava/util/List;Ljava/lang/Runnable;)V"));
-		assertTrue("There should exist a description for method 'void two(List, Runnable)'", description != null);
-		assertTrue("There should be API visibility for method 'void two(List, Runnable)'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void two(List, Runnable)'", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod10", "one", "(Ljava/lang/Object;Ljava/lang/Integer;)V"));
-		assertTrue("There should exist a description for method 'void one(Object, Integer)'", description != null);
-		assertTrue("There should be API visibility for method 'void one(Object, Integer)'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction and no extend restriction on method 'void one(Object, Integer)'", description.getRestrictions() == (RestrictionModifiers.NO_EXTEND | RestrictionModifiers.NO_REFERENCE));
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod10", "one", "([[Ljava/lang/String;Ljava/lang/Integer;)V"));
-		assertTrue("There should exist a description for method 'void one(String[][], Integer)'", description != null);
-		assertTrue("There should be API visibility for method 'void one(String[][], Integer)'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void one(String[][], Integer)'", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-	}
-	
-	/**
-	 * Tests that when given a class file container and the class file is not found
-	 * and is required to resolve a method signature, an exception is thrown.
-	 */
-	public void testMissingClassfile() {
-		IClassFileContainer container = new IClassFileContainer() {
-			public String[] getPackageNames() throws CoreException {
-				return new String[]{"there.are.none"};
-			}
-			public String getOrigin() {
-				return "none";
-			}
-			public IClassFile findClassFile(String qualifiedName, String id) throws CoreException {
-				return null;
-			}
-			public IClassFile findClassFile(String qualifiedName) throws CoreException {
-				return null;
-			}
-			public void close() throws CoreException {
-			}
-		
-			public void accept(ClassFileContainerVisitor visitor) throws CoreException {
-			}
-		};
-		IApiDescription manifest = newDescription();
-		try { 
-			TagScanner.newScanner().scan(getCompilationUnit("a/b/c/TestMethod10.java"), manifest, container);
-		} catch (CoreException e) {
-			return;
-		}
-		fail("Should have been a core exception for missing class file");
-	}	
-	
-	/**
-	 * Tests that a source file with one type which has javadoc tags
-	 * is scanned correctly. Scans the file <code>TestClass1</code>
-	 */
-	public void testSingleTypeDefaultPackage() {	
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestClass1.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass1"));
-		assertNotNull("the description for TestClass1 should exist", description);
-		assertTrue("There should be no instantiate on TestClass1", description.getRestrictions() == RestrictionModifiers.NO_INSTANTIATE);
-		assertTrue("TestClass1 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-	}
-	
-	/**
-	 * Tests that a source file with one type which has javadoc tags and contains 
-	 * one inner static type with tags is scanned correctly. 
-	 * Scans the file <code>TestClass2</code> 
-	 */
-	public void testSingleInnerStaticTypeDefaultPackage() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestClass2.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass2"));
-		assertNotNull("the description for TestClass2 should exist", description);
-		assertTrue("There should be no subclass on TestClass2", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-		assertTrue("TestClass2 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass2$InnerTestClass2"));
-		assertNotNull("the description for TestClass2$InnerTestClass2 should exist", description);
-		assertTrue("There should be no subclass or instantiate on TestClass2$InnerTestClass2", description.getRestrictions() == (RestrictionModifiers.NO_EXTEND | RestrictionModifiers.NO_INSTANTIATE));
-		assertTrue("TestClass2$InnerTestClass2 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-	}
-	
-	/**
-	 * Tests that a source file with one type which has javadoc tags and contains 
-	 * one inner static type with tags is scanned correctly. 
-	 * Scans the file <code>TestClass3</code> 
-	 */
-	public void testSingleInnerTypeDefaultPackage() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestClass3.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass3"));
-		assertNotNull("the description for TestClass3 should exist", description);
-		assertTrue("There should be no restrictions on TestClass3", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-		assertTrue("TestClass3 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass3$InnerTestClass3"));
-		assertNotNull("the description for TestClass3$InnerTestClass3 should exist", description);
-		assertTrue("There should be no subclass on TestClass3$InnerTestClass3", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-		assertTrue("TestClass3$InnerTestClass3 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-	}
-	
-	/**
-	 * Tests that a source file with one type which has javadoc tags and contains 
-	 * more than one nested inner static type with tags is scanned correctly. 
-	 * Scans the file <code>TestClass4</code> 
-	 */
-	public void testMultiNestedInnerTypeDefaultPackage() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestClass4.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass4"));
-		assertNotNull("the description for TestClass4 should exist", description);
-		assertTrue("There should be no restrictions on TestClass4", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-		assertTrue("TestClass4 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass4$InnerTestClass4"));
-		assertNotNull("the description for TestClass4$InnerTestClass4 should exist", description);
-		assertTrue("There should be no restrictions on TestClass4$InnerTestClass4", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-		assertTrue("TestClass4$InnerTestClass4 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass4$InnerTestClass4$Inner2TestClass4"));
-		assertNotNull("the description for TestClass4$InnerTestClass4$Inner2TestClass4 should exist", description);
-		assertTrue("There should be no restrictions on TestClass4$InnerTestClass4$Inner2TestClass4", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-		assertTrue("TestClass4$InnerTestClass4$Inner2TestClass4 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass4$InnerTestClass4$Inner2TestClass4$Inner3TestClass4"));
-		assertNotNull("the description for TestClass4$InnerTestClass4$Inner2TestClass4$Inner3TestClass4 should exist", description);
-		assertTrue("There should be no subclass, no instantiate, no reference on TestClass4$InnerTestClass4$Inner2TestClass4$Inner3TestClass4", description.getRestrictions() == (RestrictionModifiers.NO_EXTEND | RestrictionModifiers.NO_INSTANTIATE));
-		assertTrue("TestClass4$InnerTestClass4$Inner2TestClass4$Inner3TestClass4 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-	}
-	
-	/**
-	 * Tests that a source file with more than one type which has javadoc tags
-	 * Scans the file <code>TestClass5</code> 
-	 */
-	public void testMultiTypeDefaultPackage() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestClass5.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass5"));
-		assertNotNull("the description for TestClass5 should exist", description);
-		assertTrue("There should be no restrictions on TestClass5", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-		assertTrue("TestClass5 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass5a"));
-		assertNotNull("the description for TestClass5a should exist", description);
-		assertTrue("There should be no subclass on TestClass5a", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-		assertTrue("TestClass5a should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass5b"));
-		assertNotNull("the description for TestClass5b should exist", description);
-		assertTrue("There should be no reference on TestClass5b", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-		assertTrue("TestClass5b should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-	}
-	
-	/**
-	 * Tests that a source file with one type which has javadoc tags and contains 
-	 * more than one inner type with tags is scanned correctly. 
-	 * Scans the file <code>TestClass6</code> 
-	 */
-	public void testMultiInnerTypeDefaultPackage() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestClass6.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass6"));
-		assertNotNull("the description for TestClass6 should exist", description);
-		assertTrue("There should be no restrictions on TestClass6", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-		assertTrue("TestClass6 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass6$InnerTestClass6a"));
-		assertNotNull("the description for TestClass6$InnerTestClass6a should exist", description);
-		assertTrue("There should be no subclass on TestClass6$InnerTestClass6a", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-		assertTrue("TestClass6$InnerTestClass6a should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass6$InnerTestClass6b"));
-		assertNotNull("the description for TestClass6$InnerTestClass6b should exist", description);
-		assertTrue("There should be no instantiate on TestClass6$InnerTestClass6b", description.getRestrictions() == RestrictionModifiers.NO_INSTANTIATE);
-		assertTrue("TestClass6$InnerTestClass6b should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass6$InnerTestClass6c"));
-		assertNotNull("the description for TestClass6$InnerTestClass6c should exist", description);
-		assertTrue("There should be no restrictions on TestClass6$InnerTestClass6c", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-		assertTrue("TestClass6$InnerTestClass6c should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-	}
-	
-	/**
-	 * Tests that a source file with more than one type which has javadoc tags and contains 
-	 * more than one inner type with tags is scanned correctly. 
-	 * Scans the file <code>TestClass7</code> 
-	 */
-	public void testMultiTypeMultiInnerTypeDefatulPackage() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestClass7.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass7"));
-		assertNotNull("the description for TestClass7 should exist", description);
-		assertTrue("There should be no restrictions on TestClass7", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-		assertTrue("TestClass7 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass7$InnerTestClass7"));
-		assertNotNull("the description for TestClass7$InnerTestClass7 should exist", description);
-		assertTrue("There should be no restrictions on TestClass7$InnerTestClass7", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-		assertTrue("TestClass7$InnerTestClass7 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass7$InnerTestClass7$Inner2TestClass7"));
-		assertNotNull("the description for TestClass7$InnerTestClass7$Inner2TestClass7 should exist", description);
-		assertTrue("There should be no subclass on TestClass7$InnerTestClass7$Inner2TestClass7", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-		assertTrue("TestClass7$InnerTestClass7$Inner2TestClass7 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass7a"));
-		assertNotNull("the description for TestClass7a should exist", description);
-		assertTrue("There should be no restrictions on TestClass7a", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-		assertTrue("TestClass7a should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass7a$InnerTestClass7a"));
-		assertNotNull("the description for TestClass7a$InnerTestClass7a should exist", description);
-		assertTrue("There should be no reference on TestClass7a$InnerTestClass7a", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-		assertTrue("TestClass7a$InnerTestClass7a should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass7b"));
-		assertNotNull("the description for TestClass7b should exist", description);
-		assertTrue("There should be no reference on TestClass7b", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-		assertTrue("TestClass7b should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass7b$InnerTestClass7b"));
-		assertNotNull("the description for TestClass7b$InnerTestClass7b should exist", description);
-		assertTrue("There should be no extend on TestClass7b$InnerTestClass7b", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-		assertTrue("TestClass7b$InnerTestClass7b should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-	}
-	
-	/**
-	 * Tests that a source file with one interface declaration is scanned correctly. 
-	 * Scans the file <code>TestInterface1</code> 
-	 */
-	public void testInterfaceDefaultPackage() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestInterface1.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestInterface1"));
-		assertNotNull("the description for TestInterface1 should exist", description);
-		assertTrue("There should be no implement on TestInterface1", description.getRestrictions() == RestrictionModifiers.NO_IMPLEMENT);
-		assertTrue("TestInterface1 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-	}
-	
-	/**
-	 * Tests that a source file with more than one interface declaration is scanned correctly. 
-	 * Scans the file <code>TestInterface2</code> 
-	 */
-	public void testMultiInterfaceDefaultPackage() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestInterface2.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestInterface2"));
-		assertNotNull("the description for TestInterface2 should exist", description);
-		assertTrue("There should be no restrictions on TestInterface2", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-		assertTrue("TestInterface2 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestInterface2a"));
-		assertNotNull("the description for TestInterface2a should exist", description);
-		assertTrue("There should be no implement on TestInterface2a", description.getRestrictions() == RestrictionModifiers.NO_IMPLEMENT);
-		assertTrue("TestInterface2a should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestInterface2b"));
-		assertNotNull("the description for TestInterface2b should exist", description);
-		assertTrue("There should be no restrictions on TestInterface2b", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-		assertTrue("TestInterface2b should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-	}
-	
-	/**
-	 * Tests that a source file with one interface declaration and a single nested interface is scanned correctly. 
-	 * Scans the file <code>TestInterface3</code> 
-	 */
-	public void testSingleInnerInterfaceDefaultPackage() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestInterface3.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestInterface3"));
-		assertNotNull("the description for TestInterface3 should exist", description);
-		assertTrue("There should be no restrictions on TestInterface3", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-		assertTrue("TestInterface3 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestInterface3$Inner1"));
-		assertNotNull("the description for TestInterface3$Inner1 should exist", description);
-		assertTrue("There should be no implement on TestInterface3$Inner1", description.getRestrictions() == RestrictionModifiers.NO_IMPLEMENT);
-		assertTrue("TestInterface3$Inner1 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-	}
-	
-	/**
-	 * Tests that a source file with one interface declaration and multi nested interfaces are scanned correctly. 
-	 * Scans the file <code>TestInterface4</code> 
-	 */
-	public void testMultiInnerInterfaceDefaultPackage() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestInterface4.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestInterface4"));
-		assertNotNull("the description for TestInterface4 should exist", description);
-		assertTrue("There should be no restrictions on TestInterface4", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-		assertTrue("TestInterface3 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestInterface4$Inner1"));
-		assertNotNull("the description for TestInterface4$Inner1 should exist", description);
-		assertTrue("There should be no implement on TestInterface4$Inner1", description.getRestrictions() == RestrictionModifiers.NO_IMPLEMENT);
-		assertTrue("TestInterface3$Inner1 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-		description = manifest.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestInterface4$Inner2"));
-		assertNotNull("the description for TestInterface4$Inner2 should exist", description);
-		assertTrue("There should be no restrictions on TestInterface4$Inner2", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-		assertTrue("TestInterface3$Inner2 should have API visibility", description.getVisibility() == VisibilityModifiers.API);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for fields in a base public class.
-	 * Scans the file <code>TestField1</code>
-	 */
-	public void testFieldBaseClass() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestField1.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.fieldDescriptor("a.b.c.TestField1", "field"));
-		assertNotNull("the description for field 'field' in TestField1 should exist", description);
-		assertTrue("there shouldbe API visibility on field 'field'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be no reference on field 'field'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-	}
-	
-	/**
-	 * Tests that the source tags are added/collected properly for fields that have no restriction tags, but the parent class does.
-	 * Scans the file <code>TestField7</code>
-	 */
-	public void testFieldBaseClassInheritedNotSupported() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestField7.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.fieldDescriptor("a.b.c.TestField7", "field1"));
-		assertNotNull("the description for field 'field1' in TestField7 should exist", description);
-		assertEquals("there shouldbe API visibility on field 'field1'", VisibilityModifiers.API, description.getVisibility());
-		assertEquals("There should be no restrictions on field 'field1'", RestrictionModifiers.NO_RESTRICTIONS, description.getRestrictions());
-	}
-	
-	/**
-	 * Tests that the source tags are added/collected properly for fields that have no restriction tags, but the parent class does.
-	 * Scans the file <code>TestField8</code>
-	 */
-	public void testFieldBaseClassInheritedSupported() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestField8.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.fieldDescriptor("a.b.c.TestField8", "field1"));
-		assertNotNull("the description for field 'field1' in TestField8 should exist", description);
-		assertTrue("there shouldbe API visibility on field 'field1'", description.getVisibility() == VisibilityModifiers.API);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for fields in an inner class.
-	 * Scans the file <code>TestField2</code>
-	 */
-	public void testFieldInnerClass() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestField2.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.fieldDescriptor("a.b.c.TestField2$Inner", "field"));
-		assertNotNull("the description for field 'field' in TestField2$Inner should exist", description);
-		assertTrue("there shouldbe API visibility on field 'field'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be no reference on field 'field'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.fieldDescriptor("a.b.c.TestField2$Inner", "number"));
-		assertNotNull("the description for field 'number' in TestField2$Inner should exist", description);
-		assertTrue("there shouldbe API visibility on field 'number'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be no reference on field 'number'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for fields in a static inner class.
-	 * Scans the file <code>TestField3</code>
-	 */
-	public void testFieldStaticInnerClass() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestField3.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.fieldDescriptor("a.b.c.TestField3$Inner", "field"));
-		assertNotNull("the description for field 'field' in TestField3$Inner should exist", description);
-		assertTrue("there shouldbe API visibility on field 'field'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be no reference on field 'field'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.fieldDescriptor("a.b.c.TestField3$Inner", "number"));
-		assertNotNull("the description for field 'number' in TestField3$Inner should exist", description);
-		assertTrue("there shouldbe API visibility on field 'number'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be no reference on field 'number'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for fields in multiple inner classes.
-	 * Scans the file <code>TestField4</code>
-	 */
-	public void testFieldMultiInnerClass() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestField4.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.fieldDescriptor("a.b.c.TestField4$Inner1", "field"));
-		assertNotNull("the description for field 'field' in TestField4$Inner1 should exist", description);
-		assertTrue("there shouldbe API visibility on field 'field' in TestField4$Inner1", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be no reference on field 'field' in TestField4$Inner1", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.fieldDescriptor("a.b.c.TestField4$Inner1$Inner3", "field"));
-		assertNotNull("the description for field 'field' in TestField4$Inner1$Inner3 should exist", description);
-		assertTrue("there shouldbe API visibility on field 'field' in TestField4$Inner1$Inner3", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be no reference on field 'field' in TestField4$Inner1$Inner3", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.fieldDescriptor("a.b.c.TestField4$Inner1$Inner3$Inner", "number"));
-		assertNotNull("the description for field 'number' in TestField4$Inner1$Inner3$Inner should exist", description);
-		assertTrue("there shouldbe API visibility on field 'number' in TestField4$Inner1$Inner3$Inner", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be no reference on field 'number' in TestField4$Inner1$Inner3$Inner", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.fieldDescriptor("a.b.c.TestField4$Inner2", "field"));
-		assertNotNull("the description for field 'field' in TestField4$Inner2 should exist", description);
-		assertTrue("there shouldbe API visibility on field 'field' in TestField4$Inner2", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be no reference on field 'field' in TestField4$Inner2", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for fields in an outer class.
-	 * Scans the file <code>TestField5</code>
-	 */
-	public void testFieldOuterClass() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestField5.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.fieldDescriptor("a.b.c.TestField5Outer", "field"));
-		assertNotNull("the description for field 'field' in a.b.c.TestField5 should exist", description);
-		assertTrue("there shouldbe API visibility on field 'field' in a.b.c.TestField5Outer", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be no reference on field 'field' in a.b.c.TestField5Outer", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for fields in an anonymous class.
-	 * Scans the file <code>TestField6</code>
-	 */
-	public void testFieldAnonymousClass() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestField6.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.fieldDescriptor("a.b.c.TestField6", "number"));
-		assertNotNull("the description for field 'number' in a.b.c.TestField6 should exist", description);
-		assertTrue("there shouldbe API visibility on field 'number' in a.b.c.TestField6", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be no reference on field 'number' in a.b.c.TestField6", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for methods in a base public class.
-	 * Scans the file <code>TestMethod1</code>
-	 */
-	public void testMethodBaseClass() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod1.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod1", "one", "()V"));
-		assertTrue("There should exist a description for method 'void one()'", description != null);
-		assertTrue("There should be API visibility for method 'void one()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'void one()'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod1", "two", "()V"));
-		assertTrue("There should exist a description for method 'void two()'", description != null);
-		assertTrue("There should be API visibility for method 'void two()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void two()'", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod1", "three", "()V"));
-		assertTrue("There should exist a description for method 'void three()'", description != null);
-		assertTrue("There should be API visibility for method 'void three()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'void three()'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for methods in a base public class
-	 * with a single Object parameter.
-	 * Scans the file <code>TestMethod7</code>
-	 */
-	public void testMethodSingleParam() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod7.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod7", "one", "(QString;)V"));
-		assertTrue("There should exist a description for method 'void one(String)'", description != null);
-		assertTrue("There should be API visibility for method 'void one(String)'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'void one(String)'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for methods in a base public class
-	 * with a single primitive parameter.
-	 * Scans the file <code>TestMethod8</code>
-	 */
-	public void testMethodSinglePrimitiveParam() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod8.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod8", "one", "(I)V"));
-		assertTrue("There should exist a description for method 'void one(int)'", description != null);
-		assertTrue("There should be API visibility for method 'void one(int)'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void one(int)'", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for methods in a base public class
-	 * with primitive parameters.
-	 * Scans the file <code>TestMethod9</code>
-	 */
-	public void testMethodPrimitiveParams() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod9.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod9", "one", "(IDF)V"));
-		assertTrue("There should exist a description for method 'void one(int, double , float)'", description != null);
-		assertTrue("There should be API visibility for method 'void one(int, double , float)'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'void one(int, double , float)'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod9", "two", "(DF)V"));
-		assertTrue("There should exist a description for method 'void two(double, float)'", description != null);
-		assertTrue("There should be API visibility for method 'void two(double, float)'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void two(double, float)'", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-		
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for methods in a base public class
-	 * with Object parameters.
-	 * Scans the file <code>TestMethod10</code>
-	 */
-	public void testMethodObjectParams() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod10.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod10", "one", "(QString;QInteger;)V"));
-		assertTrue("There should exist a description for method 'void one(String, Integer)'", description != null);
-		assertTrue("There should be API visibility for method 'void one(String, Integer)'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'void one(String, Integer)'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod10", "two", "(QList;QRunnable;)V"));
-		assertTrue("There should exist a description for method 'void two(List, Runnable)'", description != null);
-		assertTrue("There should be API visibility for method 'void two(List, Runnable)'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void two(List, Runnable)'", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for methods in a base public class
-	 * with primitive array parameters.
-	 * Scans the file <code>TestMethod11</code>
-	 */
-	public void testMethodPrimitiveArrayParams() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod11.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod11", "one", "([I[[C)V"));
-		assertTrue("There should exist a description for method 'void one(int[], char[][])'", description != null);
-		assertTrue("There should be API visibility for method 'void one(int[], char[][])'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'void one(int[], char[][])'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod11", "two", "([[F[D)V"));
-		assertTrue("There should exist a description for method 'void two(float[][], double[])'", description != null);
-		assertTrue("There should be API visibility for method 'void two(float[][], double[])'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void two(float[][], double[])'", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for methods in a base public class
-	 * with Object array parameters.
-	 * Scans the file <code>TestMethod12</code>
-	 */
-	public void testMethodObjectArrayParams() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod12.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod12", "one", "([QString;[[QDouble;)V"));
-		assertTrue("There should exist a description for method 'void one(String[], Double[][])'", description != null);
-		assertTrue("There should be API visibility for method 'void one(String[], Double[][])'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'void one(String[], Double[][])'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod12", "two", "([[QList;[QRunnable;)V"));
-		assertTrue("There should exist a description for method 'void two(List[][], Runnable[])'", description != null);
-		assertTrue("There should be API visibility for method 'void two(List[][], Runnable[])'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void two(List[][], Runnable[])'", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for methods in a base public class
-	 * with a mix of  parameters.
-	 * Scans the file <code>TestMethod13</code>
-	 */
-	public void testMethodMixedParams() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod13.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod13", "one", "(I[[QDouble;[CQInteger;)V"));
-		assertTrue("There should exist a description for method 'void one(int, Double[][], char[], Integer)'", description != null);
-		assertTrue("There should be API visibility for method 'void one(int, Double[][], char[], Integer)'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'void one(int, Double[][], char[], Integer)'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod13", "two", "([[QList;DC[I[QRunnable;)V"));
-		assertTrue("There should exist a description for method 'void two(List[][], double, char, int[], Runnable[])'", description != null);
-		assertTrue("There should be API visibility for method 'void two(List[][], double, char, int[], Runnable[])'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void two(List[][], double, char, int[], Runnable[])'", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for methods in a base public class
-	 * with an Object return type.
-	 * Scans the file <code>TestMethod14</code>
-	 */
-	public void testMethodObjectReturn() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod14.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod14", "one", "(I[[QDouble;[CQInteger;)QString;"));
-		assertTrue("There should exist a description for method 'String one(int, Double[][], char[], Integer)'", description != null);
-		assertTrue("There should be API visibility for method 'String one(int, Double[][], char[], Integer)'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'String one(int, Double[][], char[], Integer)'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod14", "two", "([[QList;DC[I[QRunnable;)QDouble;"));
-		assertTrue("There should exist a description for method 'Double two(List[][], double, char, int[], Runnable[])'", description != null);
-		assertTrue("There should be API visibility for method 'Double two(List[][], double, char, int[], Runnable[])'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'Double two(List[][], double, char, int[], Runnable[])'", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for methods in a base public class
-	 * with a primitive return type.
-	 * Scans the file <code>TestMethod15</code>
-	 */
-	public void testMethodPrimitiveReturn() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod15.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod15", "one", "(I[[QDouble;[CQInteger;)C"));
-		assertTrue("There should exist a description for method 'char one(int, Double[][], char[], Integer)'", description != null);
-		assertTrue("There should be API visibility for method 'char one(int, Double[][], char[], Integer)'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'char one(int, Double[][], char[], Integer)'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod15", "two", "([[QList;DC[I[QRunnable;)D"));
-		assertTrue("There should exist a description for method 'double two(List[][], double, char, int[], Runnable[])'", description != null);
-		assertTrue("There should be API visibility for method 'double two(List[][], double, char, int[], Runnable[])'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'double two(List[][], double, char, int[], Runnable[])'", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for methods in a base public class
-	 * with a primitive array return type.
-	 * Scans the file <code>TestMethod17</code>
-	 */
-	public void testMethodPrimitiveArrayReturn() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod17.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod17", "one", "(I[[QDouble;[CQInteger;)[[C"));
-		assertTrue("There should exist a description for method 'char[][] one(int, Double[][], char[], Integer)'", description != null);
-		assertTrue("There should be API visibility for method 'char[][] one(int, Double[][], char[], Integer)'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'char[][] one(int, Double[][], char[], Integer)'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod17", "two", "([[QList;DC[I[QRunnable;)[D"));
-		assertTrue("There should exist a description for method 'double[] two(List[][], double, char, int[], Runnable[])'", description != null);
-		assertTrue("There should be API visibility for method 'double[] two(List[][], double, char, int[], Runnable[])'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'double[] two(List[][], double, char, int[], Runnable[])'", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for methods in a base public class
-	 * with an Object array return type.
-	 * Scans the file <code>TestMethod16</code>
-	 */
-	public void testMethodObjectArrayReturn() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod16.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod16", "one", "(I[[QDouble;[CQInteger;)[[QString;"));
-		assertTrue("There should exist a description for method 'String[][] one(int, Double[][], char[], Integer)'", description != null);
-		assertTrue("There should be API visibility for method 'String[][] one(int, Double[][], char[], Integer)'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'String[][] one(int, Double[][], char[], Integer)'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod16", "two", "([[QList;DC[I[QRunnable;)[QDouble;"));
-		assertTrue("There should exist a description for method 'Double[] two(List[][], double, char, int[], Runnable[])'", description != null);
-		assertTrue("There should be API visibility for method 'Double[] two(List[][], double, char, int[], Runnable[])'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'Double[] two(List[][], double, char, int[], Runnable[])'", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for methods in an inner class.
-	 * Scans the file <code>TestMethod2</code>
-	 */
-	public void testMethodInnerClass() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod2.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod2$Inner", "one", "()V"));
-		assertTrue("There should exist a description for method 'void one()'", description != null);
-		assertTrue("There should be API visibility for method 'void one()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'void one()'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod2$Inner", "two", "()V"));
-		assertTrue("There should exist a description for method 'void two()'", description != null);
-		assertTrue("There should be API visibility for method 'void two()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void two()'", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for methods in a static inner class.
-	 * Scans the file <code>TestMethod3</code>
-	 */
-	public void testMethodStaticInnerClass() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod3.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod3$Inner", "one", "()V"));
-		assertTrue("There should exist a description for method 'void one()'", description != null);
-		assertTrue("There should be API visibility for method 'void one()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'void one()'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod3$Inner", "two", "()V"));
-		assertTrue("There should exist a description for method 'void two()'", description != null);
-		assertTrue("There should be API visibility for method 'void two()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void two()'", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod3$Inner", "three", "()V"));
-		assertTrue("There should exist a description for method 'void three()'", description != null);
-		assertTrue("There should be API visibility for method 'void three()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void three()'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for methods in multiple inner classes.
-	 * Scans the file <code>TestMethod4</code>
-	 */
-	public void testMethodMultiInnerClass() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod4.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod4$Inner1", "one", "()V"));
-		assertTrue("There should exist a description for method 'void one()'", description != null);
-		assertTrue("There should be API visibility for method 'void one()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'void one()'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod4$Inner1", "two", "()V"));
-		assertTrue("There should exist a description for method 'void two()'", description != null);
-		assertTrue("There should be API visibility for method 'void two()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void two()'", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod4$Inner1", "three", "()V"));
-		assertTrue("There should exist a description for method 'void three()'", description != null);
-		assertTrue("There should be API visibility for method 'void three()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void three()'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod4$Inner1$Inner3", "one", "()V"));
-		assertTrue("There should exist a description for method 'void one()'", description != null);
-		assertTrue("There should be API visibility for method 'void one()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'void one()'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod4$Inner1$Inner3", "two", "()V"));
-		assertTrue("There should exist a description for method 'void two()'", description != null);
-		assertTrue("There should be API visibility for method 'void two()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void two()'", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod4$Inner1$Inner3", "three", "()V"));
-		assertTrue("There should exist a description for method 'void three()'", description != null);
-		assertTrue("There should be API visibility for method 'void three()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void three()'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod4$Inner2", "one", "()V"));
-		assertTrue("There should exist a description for method 'void one()'", description != null);
-		assertTrue("There should be API visibility for method 'void one()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'void one()'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod4$Inner2", "two", "()V"));
-		assertTrue("There should exist a description for method 'void two()'", description != null);
-		assertTrue("There should be API visibility for method 'void two()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void two()'", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod4$Inner2$Inner4", "one", "()V"));
-		assertTrue("There should exist a description for method 'void one()'", description != null);
-		assertTrue("There should be API visibility for method 'void one()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'void one()'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod4$Inner2$Inner4", "two", "()V"));
-		assertTrue("There should exist a description for method 'void two()'", description != null);
-		assertTrue("There should be API visibility for method 'void two()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void two()'", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for methods in an outer class.
-	 * Scans the file <code>TestMethod5</code>
-	 */
-	public void testMethodOuterClass() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod5.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod5Outer", "one", "()V"));
-		assertTrue("There should exist a description for method 'void one()'", description != null);
-		assertTrue("There should be API visibility for method 'void one()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'void one()'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod5Outer", "two", "()V"));
-		assertTrue("There should exist a description for method 'void two()'", description != null);
-		assertTrue("There should be API visibility for method 'void two()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void two()'", description.getRestrictions() == RestrictionModifiers.NO_EXTEND);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod5Outer", "three", "()V"));
-		assertTrue("There should exist a description for method 'void three()'", description != null);
-		assertTrue("There should be API visibility for method 'void three()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void three()'", description.getRestrictions() == RestrictionModifiers.NO_REFERENCE);
-	}
-	
-	/**
-	 * Tests that source tags are added/collected properly for methods in an anonymous class.
-	 * Scans the file <code>TestMethod6</code>
-	 */
-	public void testMethodAnonymousClass() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod6.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod6", "run", "()V"));
-		assertTrue("There should exist a description for method 'void run()'", description != null);
-		assertTrue("There should be API visibility for method 'void run()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'void run()'", description.getRestrictions() == (RestrictionModifiers.NO_REFERENCE | RestrictionModifiers.NO_EXTEND));
-	}
-	
-	/**
-	 * Tests that a method properly inherits restrictions. Restrictions are not inherited.
-	 * Scans the file <code>TestMethod18</code>
-	 */
-	public void testMethodInheritValidRestriction() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod18.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod18", "one", "()V"));
-		assertTrue("There should exist a description for method 'void one()'", description != null);
-		assertTrue("There should be API visibility for method 'void one()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be no restriction on method 'void one()'", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod18Outer", "two", "()V"));
-		assertTrue("There should exist a description for method 'void two()'", description != null);
-		assertTrue("There should be API visibility for method 'void two()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be no restriction on method 'void two()'", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-	}
-	
-	/**
-	 * Tests that a method properly inherits restrictions from 
-	 * source tags are added/collected properly for the enclosing type of the methods.
-	 * In this case the parent tags cannot be inherited, expected result is 'no restriction'
-	 * Scans the file <code>TestMethod19</code>
-	 */
-	public void testMethodInheritInvalidRestrictionClass() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod19.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod19", "one", "()V"));
-		assertTrue("There should exist a description for method 'void one()'", description != null);
-		assertTrue("There should be API visibility for method 'void one()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'void one()'", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod19Outer", "two", "()V"));
-		assertTrue("There should exist a description for method 'void two()'", description != null);
-		assertTrue("There should be API visibility for method 'void two()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void two()'", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-	}
-	
-	/**
-	 * Tests that a method properly inherits restrictions from 
-	 * source tags are added/collected properly for the enclosing type of the methods.
-	 * In this case the parent tags cannot be inherited, expected result is 'no restriction'
-	 * Scans the file <code>TestField20</code>
-	 */
-	public void testMethodInheritInvalidRestrictionInterface() {
-		IApiDescription manifest = newDescription();
-		doScan("a/b/c/TestMethod20.java", manifest);
-		IApiAnnotations description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod20", "one", "()V"));
-		assertTrue("There should exist a description for method 'void one()'", description != null);
-		assertTrue("There should be API visibility for method 'void one()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no reference restriction on method 'void one()'", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-		description = manifest.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestMethod20Outer", "two", "()V"));
-		assertTrue("There should exist a description for method 'void two()'", description != null);
-		assertTrue("There should be API visibility for method 'void two()'", description.getVisibility() == VisibilityModifiers.API);
-		assertTrue("There should be a no extend restriction on method 'void two()'", description.getRestrictions() == RestrictionModifiers.NO_RESTRICTIONS);
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/TestSuiteHelper.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/TestSuiteHelper.java
deleted file mode 100644
index b6612b2..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/model/tests/TestSuiteHelper.java
+++ /dev/null
@@ -1,478 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.model.tests;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import junit.framework.Assert;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.internal.compiler.batch.Main;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.IRequiredComponentDescription;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * Helper methods to set up baselines, etc.
- * 
- * @since 1.0.0
- */
-public class TestSuiteHelper {
-
-	public static final String[] COMPILER_OPTIONS = new String[] {
-		"-1.5",
-		"-preserveAllLocals",
-		"-nowarn"
-	};
-	
-	/**
-	 * Creates a profile from all bundles in the specified directory.
-	 *
-	 * @param rootDirectory directory to collect bundles from
-	 * @return API profile
-	 * @throws CoreException
-	 */
-	public static IApiProfile createProfile(String name, File rootDirectory) throws CoreException {
-		File eeFile = getEEDescriptionFile();
-		IApiProfile baseline = newApiProfile(name, eeFile);
-		// create a component for each jar/directory in the folder
-		File[] files = rootDirectory.listFiles();
-		List<IApiComponent> components = new ArrayList<IApiComponent>();
-		Set<String> requiredComponents = new HashSet<String>();
-		for (int i = 0; i < files.length; i++) {
-			File bundle = files[i];
-			IApiComponent component = baseline.newApiComponent(bundle.getAbsolutePath());
-			if(component != null) {
-				components.add(component);
-				requiredComponents.add(component.getId());
-			}
-		}
-		// collect required components
-		IApiComponent[] base = (IApiComponent[]) components.toArray(new IApiComponent[components.size()]);
-		for (int i = 0; i < base.length; i++) {
-			IApiComponent component = base[i];
-			addAllRequired(baseline, requiredComponents, component, components);
-		} 
-		
-		baseline.addApiComponents((IApiComponent[]) components.toArray(new IApiComponent[components.size()]));
-		return baseline;
-	}	
-	
-	public static IApiProfile createTestingProfile(String testDirectory) throws CoreException {
-		return createTestingProfile(new Path(testDirectory));
-	}
-	
-	/**
-	 * Creates a simple baseline from bundles in the specified directory of 
-	 * the test plug-in project.
-	 * 
-	 * @return Testing API baseline. If for some reason the testing dir is not available
-	 * <code>null</code> is returned
-	 * @throws CoreException
-	 */
-	public static IApiProfile createTestingProfile(IPath testDirectory) throws CoreException {
-		IPath path = TestSuiteHelper.getPluginDirectoryPath();
-		path = path.append(testDirectory);
-		File file = path.toFile();
-		if(file.exists()) {
-			File eeFile = getEEDescriptionFile();
-			IApiProfile baseline = newApiProfile("test", eeFile);
-			// create a component for each jar/directory in the folder
-			File[] files = file.listFiles();
-			List components = new ArrayList();
-			Set requiredComponents = new HashSet();
-			for (int i = 0; i < files.length; i++) {
-				File bundle = files[i];
-				if (!bundle.getName().equals("CVS")) {
-					// ignore CVS folder
-					IApiComponent component = baseline.newApiComponent(bundle.getAbsolutePath());
-					if(component != null) {
-						components.add(component);
-						requiredComponents.add(component.getId());
-					}
-				}
-			}
-			// collect required components
-			IApiComponent[] base = (IApiComponent[]) components.toArray(new IApiComponent[components.size()]);
-			for (int i = 0; i < base.length; i++) {
-				IApiComponent component = base[i];
-				addAllRequired(baseline, requiredComponents, component, components);
-			} 
-			
-			baseline.addApiComponents((IApiComponent[]) components.toArray(new IApiComponent[components.size()]));
-			return baseline;
-		}
-		return null;
-	}
-
-	/**
-	 * Constructs a new {@link IApiProfile} with the given name, id, version, and environment.
-	 * <p>
-	 * Attempts to locate OSGi execution environment profile when not running in 
-	 * an OSGi framework.
-	 * </p>
-	 * @param name
-	 * @param ee execution environment description file
-	 * @return API baseline
-	 * @exception CoreException if unable to create a baseline
-	 */
-	public static IApiProfile newApiProfile(String name, File eeFile) throws CoreException {
-		return Factory.newApiProfile(name, eeFile);
-	}
-
-	/**
-	 * Gets the .ee file supplied to run tests based on system
-	 * property.
-	 * 
-	 * @return
-	 */
-	public static File getEEDescriptionFile() {
-		String eePath = System.getProperty("ee.file");
-		if (eePath == null) {
-			// generate a fake 1.5 ee file
-			File fakeEEFile = null;
-			PrintWriter writer = null;
-			try {
-				fakeEEFile = File.createTempFile("eefile", ".ee");
-				writer = new PrintWriter(new BufferedWriter(new FileWriter(fakeEEFile)));
-				writer.print("-Djava.home=");
-				writer.println(System.getProperty("java.home"));
-				writer.print("-Dee.bootclasspath=");
-				writer.println(org.eclipse.pde.api.tools.internal.util.Util.getJavaClassLibsAsString());
-				writer.println("-Dee.language.level=1.5");
-				writer.println("-Dee.class.library.level=J2SE-1.5");
-				writer.flush();
-			} catch (IOException e) {
-				// ignore
-			} finally {
-				if (writer != null) {
-					writer.close();
-				}
-			}
-			fakeEEFile.deleteOnExit();
-			eePath = fakeEEFile.getAbsolutePath();
-		}
-		Assert.assertNotNull("-Dee.file not specified", eePath);
-		File eeFile = new File(eePath);
-		Assert.assertTrue("EE file does not exist: " + eePath, eeFile.exists());
-		return eeFile;
-	}
-	/**
-	 * Returns a file to the root of the specified bundle or <code>null</code>
-	 * if none. Searches for plug-ins based on the "requiredBundles" system
-	 * property.
-	 * 
-	 * @param bundleName symbolic name
-	 * @return bundle root or <code>null</code>
-	 */
-	public static File getBundle(String bundleName) {
-		String root = System.getProperty("requiredBundles");
-		if (root != null) {
-			File bundlesRoot = new File(root);
-			if (bundlesRoot.exists() && bundlesRoot.isDirectory()) {
-				File[] bundles = bundlesRoot.listFiles();
-				String key = bundleName + "_";
-				for (int i = 0; i < bundles.length; i++) {
-					File file = bundles[i];
-					if (file.getName().startsWith(key)) {
-						return file;
-					}
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Adds all required components to the collection of components.
-	 * 
-	 * @param done set of component id's that have already been collected
-	 * @param component component to add all prerequisites for
-	 * @param collection collection to add prerequisites to.
-	 * @throws CoreException 
-	 */
-	public static void addAllRequired(IApiProfile baseline, Set done, IApiComponent component, List collection) throws CoreException {
-		IRequiredComponentDescription[] descriptions = component.getRequiredComponents();
-		boolean error = false;
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < descriptions.length; i++) {
-			IRequiredComponentDescription description = descriptions[i];
-			if (!done.contains(description.getId())) {
-				File bundle = getBundle(description.getId());
-				if (bundle == null) {
-					if (!description.isOptional()) {
-						buffer.append(description.getId()).append(',');
-						error = true;
-					}
-				} else {
-					IApiComponent apiComponent = baseline.newApiComponent(bundle.getAbsolutePath());
-					collection.add(apiComponent);
-					done.add(apiComponent.getId());
-					addAllRequired(baseline, done, apiComponent, collection);
-				}
-			}
-		}
-		if (error) {
-			throw new CoreException(new Status(IStatus.ERROR,
-					"Missing required bundle: " + String.valueOf(buffer), null));
-		}
-	}
-
-	/**
-	 * Compiles a single source file 
-	 * @param sourcename
-	 * @param destinationpath
-	 * @param compileroptions
-	 * @return true if compilation succeeded false otherwise
-	 */
-	public static boolean compile(String sourcename, String destinationpath, String[] compileroptions) {
-		StringWriter out = new StringWriter();
-		PrintWriter outWriter = new PrintWriter(out);
-		StringWriter err = new StringWriter();
-		PrintWriter errWriter = new PrintWriter(err);
-		List cmd = new ArrayList();
-		cmd.add("-noExit");
-		for (int i = 0, max = compileroptions.length; i < max; i++) {
-			cmd.add(compileroptions[i]);
-		}
-		if (destinationpath != null) {
-			cmd.add("-d");
-			cmd.add(destinationpath);
-		}
-		cmd.add(sourcename);
-		
-		String[] args = new String[cmd.size()];
-		cmd.toArray(args);
-		boolean result = false;
-		try {
-			result = new Main(outWriter, errWriter, true, null, null).compile(args);
-		} catch (RuntimeException e) {
-			e.printStackTrace();
-		}
-		if (!result) {
-			System.err.println(err.getBuffer());
-		}
-		return result;
-	}
-	
-	/**
-	 * Compiles all source files in the specified source paths to the specified destination path, with the given 
-	 * compiler options
-	 * @param sourceFilePaths
-	 * @param destinationPath
-	 * @param compilerOptions
-	 * @return true if the compilation succeeded false otherwise
-	 */
-	public static boolean compile(String[] sourceFilePaths, String destinationPath, String[] compilerOptions) {
-		StringWriter out = new StringWriter();
-		PrintWriter outWriter = new PrintWriter(out);
-		StringWriter err = new StringWriter();
-		PrintWriter errWriter = new PrintWriter(err);
-		List cmd = new ArrayList();
-		cmd.add("-noExit");
-		for (int i = 0, max = compilerOptions.length; i < max; i++) {
-			cmd.add(compilerOptions[i]);
-		}
-		if (destinationPath != null) {
-			cmd.add("-d");
-			cmd.add(destinationPath);
-		}
-		Set directories = new HashSet();
-		for (int i = 0, max = sourceFilePaths.length; i < max; i++) {
-			String sourceFilePath = sourceFilePaths[i];
-			File file = new File(sourceFilePath);
-			if (!file.exists()) continue;
-			if (file.isDirectory()) {
-				directories.add(file.getAbsolutePath());
-			} else {
-				File parent = file.getParentFile();
-				directories.add(parent.getAbsolutePath());
-			}
-			cmd.add(sourceFilePath);
-		}
-		// add all directories as classpath entries
-		if (!directories.isEmpty()) {
-			StringBuffer classpathEntry = new StringBuffer();
-			int length = directories.size();
-			int counter = 0;
-			for (Iterator iterator = directories.iterator(); iterator.hasNext();) {
-				String path = (String) iterator.next();
-				classpathEntry.append(path);
-				if (counter < length - 1) {
-					classpathEntry.append(File.pathSeparatorChar);
-				}
-			}
-			cmd.add("-classpath");
-			cmd.add(String.valueOf(classpathEntry));
-		}
-		String[] args = new String[cmd.size()];
-		cmd.toArray(args);
-		boolean result = false;
-		try {
-			result = new Main(outWriter, errWriter, true, null, null).compile(args);
-		} catch (RuntimeException e) {
-			e.printStackTrace();
-		}
-		if (!result) {
-			System.err.println(err.getBuffer());
-		}
-		return result;
-	}
-	
-	/**
-	 * Delete the file f and all subdirectories if f is a directory
-	 * @param f the given file to delete
-	 * @return true if the file was successfully deleted, false otherwise
-	 */
-	public static boolean delete(File f) {
-		if (!delete0(f)) {
-			System.err.println("Could not delete " + f.getAbsolutePath());
-			return false;
-		}
-		return true;
-	}
-	
-	private static boolean delete0(File f) {
-		if (f.isDirectory()) {
-			File[] files = f.listFiles();
-			for (int i = 0, max = files.length; i < max; i++) {
-				File file = files[i];
-				if (!delete0(file)) {
-					System.err.println("Could not delete " + file.getAbsolutePath());
-					return false;
-				}
-			}
-			return f.delete();
-		} else {
-			return f.delete();
-		}
-	}
-
-	/**
-	 * Copy file into the destination folder.
-	 * If file is not a directory, it is copied into the destination folder.
-	 * If file is a directory, all its files and subfolders are copied to the destination folder.
-	 * 
-	 * <code>dest</code> has to be a directory.
-	 * 
-	 * @param file the given file to copy
-	 * @param dest the given destination folder
-	 * @throws IllegalArgumentException if dest is not a directory
-	 *        or it doesn't exist or if the given file doesn't exist
-	 */
-	public static void copy(File file, File dest) {
-		if (!dest.exists() || !dest.isDirectory()) {
-			throw new IllegalArgumentException("destination is not a directory");
-		}
-		if (!file.exists()) {
-			throw new IllegalArgumentException("The given file to copy doesn't exist");
-		}
-		copy0(file, dest);
-	}
-	
-	private static void copy0(File f, File dest) {
-		dest.mkdirs();
-		if (f.isDirectory()) {
-			String dirName = f.getName();
-			if ("CVS".equals(dirName)) return;
-			File[] files = f.listFiles();
-			for (int i = 0, max = files.length; i < max; i++) {
-				File file = files[i];
-				if (file.isDirectory()) {
-					String name = file.getName();
-					if ("CVS".equals(name)) continue;
-					copy0(new File(f, name), new File(dest, name));
-				} else {
-					copy0(file, dest);
-				}
-			}
-		} else {
-			byte[] bytes = null;
-			BufferedInputStream inputStream = null;
-			try {
-				inputStream = new BufferedInputStream(new FileInputStream(f));
-				bytes = Util.getInputStreamAsByteArray(inputStream, -1);
-			} catch (FileNotFoundException e) {
-				e.printStackTrace();
-			} catch (IOException e) {
-				e.printStackTrace();
-			} finally {
-				if (inputStream != null) {
-					try {
-						inputStream.close();
-					} catch (IOException e) {
-						ApiPlugin.log(e);
-					}
-				}
-			}
-			if (bytes != null) {
-				BufferedOutputStream outputStream = null;
-				try {
-					outputStream = new BufferedOutputStream(new FileOutputStream(new File(dest, f.getName())));
-					outputStream.write(bytes);
-					outputStream.flush();
-				} catch (FileNotFoundException e) {
-					e.printStackTrace();
-				} catch (IOException e) {
-					e.printStackTrace();
-				} finally {
-					if (outputStream != null) {
-						try {
-							outputStream.close();
-						} catch(IOException e) {
-							ApiPlugin.log(e);
-						}
-					}
-				}
-			}
-		}
-	}
-	/**
-	 * Returns the OS path to the directory that contains this plugin.
-	 */
-	public static IPath getPluginDirectoryPath() {
-		if (Platform.isRunning()) {
-			try {
-				URL platformURL = Platform.getBundle("org.eclipse.pde.api.tools.tests").getEntry("/");
-				return new Path(new File(FileLocator.toFileURL(platformURL).getFile()).getAbsolutePath());
-			} catch (IOException e) {
-				e.printStackTrace();
-			}
-		}
-		return new Path(System.getProperty("user.dir"));
-	}
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/problems/tests/ApiProblemFactoryTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/problems/tests/ApiProblemFactoryTests.java
deleted file mode 100644
index bb85e36..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/problems/tests/ApiProblemFactoryTests.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.problems.tests;
-
-import org.eclipse.pde.api.tools.internal.problems.ApiProblemFactory;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemTypes;
-import org.eclipse.pde.api.tools.tests.AbstractApiTest;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Tests various aspects of the {@link ApiProblemFactory}
- * 
- * @since 1.0.0
- */
-public class ApiProblemFactoryTests extends AbstractApiTest {
-
-	String fDefaultMessage = MessageFormat.format("Message not found for problem id:", new String[0]);
-	
-	/**
-	 * Tests that creating an {@link IApiProblem} does not fail
-	 */
-	public void testCreateProblem() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(null, null, null, null, -1, -1, -1, 
-				 IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_METHOD, IApiProblem.ILLEGAL_OVERRIDE, IApiProblem.NO_FLAGS);
-		assertNotNull("a new problem should have been created with null attributes", problem);
-		problem = ApiProblemFactory.newApiProblem("path", new String[0], new String[0], new Object[0], -1, -1, -1, 
-				 IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_METHOD, IApiProblem.ILLEGAL_OVERRIDE, IApiProblem.NO_FLAGS);
-		assertNotNull("a new problem should have been created with non-null attributes", problem);
-	}
-	
-	/**
-	 * Tests creating a new {@link IApiProblem} using the usage specialized factory method
-	 */
-	public void tesCreateUsageProblem() {
-		IApiProblem problem = ApiProblemFactory.newApiUsageProblem(null, null, null, null, -1, -1, -1, 
-				 IElementDescriptor.T_REFERENCE_TYPE, IApiProblem.ILLEGAL_IMPLEMENT);
-		assertNotNull("a new problem should have been created with null attributes", problem);
-		problem = ApiProblemFactory.newApiUsageProblem("path", new String[0], new String[0], new Object[0], -1, -1, -1, 
-				 IElementDescriptor.T_REFERENCE_TYPE, IApiProblem.ILLEGAL_IMPLEMENT);
-		assertNotNull("a new problem should have been created with non-null attributes", problem);
-	}
-	
-	/**
-	 * Tests creating a new {@link IApiProblem} using the since tag specialized factory method
-	 */
-	public void testCreateSincetagProblem() {
-		IApiProblem problem = ApiProblemFactory.newApiSinceTagProblem(null, null, null, null, -1, -1, -1, 
-				 IElementDescriptor.T_REFERENCE_TYPE, IApiProblem.ILLEGAL_IMPLEMENT);
-		assertNotNull("a new problem should have been created with null attributes", problem);
-		problem = ApiProblemFactory.newApiSinceTagProblem("path", new String[0], new String[0], new Object[0], -1, -1, -1, 
-				 IElementDescriptor.T_REFERENCE_TYPE, IApiProblem.ILLEGAL_IMPLEMENT);
-		assertNotNull("a new problem should have been created with non-null attributes", problem);
-	}
-	
-	/**
-	 * Tests creating a new {@link IApiProblem} using the version number specialized factory method
-	 */
-	public void testCreateVersionProblem() {
-		IApiProblem problem = ApiProblemFactory.newApiVersionNumberProblem(null, null, null, null, -1, -1, -1, 
-				 IElementDescriptor.T_REFERENCE_TYPE, IApiProblem.ILLEGAL_IMPLEMENT);
-		assertNotNull("a new problem should have been created with null attributes", problem);
-		problem = ApiProblemFactory.newApiVersionNumberProblem("path", new String[0], new String[0], new Object[0], -1, -1, -1, 
-				 IElementDescriptor.T_REFERENCE_TYPE, IApiProblem.ILLEGAL_IMPLEMENT);
-		assertNotNull("a new problem should have been created with non-null attributes", problem);
-	}
-	
-	/**
-	 * Tests that we can get the correct kind from the preference key
-	 */
-	public void testGetKindFromPref() {
-		int kind = ApiProblemFactory.getProblemKindFromPref(IApiProblemTypes.ILLEGAL_OVERRIDE);
-		assertTrue("the kind should be illegal override", kind == IApiProblem.ILLEGAL_OVERRIDE);
-		kind = ApiProblemFactory.getProblemKindFromPref(IApiProblemTypes.ILLEGAL_EXTEND);
-		assertTrue("the kind should be illegal extend", kind == IApiProblem.ILLEGAL_EXTEND);
-		kind = ApiProblemFactory.getProblemKindFromPref(IApiProblemTypes.ILLEGAL_REFERENCE);
-		assertTrue("the kind should be illegal reference", kind == IApiProblem.ILLEGAL_REFERENCE);
-		kind = ApiProblemFactory.getProblemKindFromPref(IApiProblemTypes.ILLEGAL_IMPLEMENT);
-		assertTrue("the kind should be illegal implement", kind == IApiProblem.ILLEGAL_IMPLEMENT);
-		kind = ApiProblemFactory.getProblemKindFromPref(IApiProblemTypes.ILLEGAL_INSTANTIATE);
-		assertTrue("the kind should be illegal instantiate", kind == IApiProblem.ILLEGAL_INSTANTIATE);
-		kind = ApiProblemFactory.getProblemKindFromPref(IApiProblemTypes.ANNOTATION_CHANGED_CONTRACTED_SUPERINTERFACES_SET);
-		assertTrue("the kind should be CHANGED", kind == IDelta.CHANGED);
-		kind = ApiProblemFactory.getProblemKindFromPref(IApiProblemTypes.ANNOTATION_ADDED_CLASS_BOUND);
-		assertTrue("the kind should be ADDED", kind == IDelta.ADDED);
-		kind = ApiProblemFactory.getProblemKindFromPref(IApiProblemTypes.ANNOTATION_REMOVED_INTERFACE_BOUND);
-		assertTrue("the kind should be REMOVED", kind == IDelta.REMOVED);
-	}
-	
-	/**
-	 * Test getting version number problem messages
-	 */
-	public void testGetVersionMessages() {
-		IApiProblem problem = ApiProblemFactory.newApiVersionNumberProblem("", 
-				new String[] {"1", "2"}, null, null, -1, -1, -1,  IElementDescriptor.T_REFERENCE_TYPE, IApiProblem.MAJOR_VERSION_CHANGE);
-		assertNotNull("there should be a new problem created", problem);
-		String message = problem.getMessage();
-		assertNotNull("the message should not be null", message);
-		assertFalse("the message should be found", message.equals(fDefaultMessage));
-		assertTrue("the message should be correct", message.equals(MessageFormat.format("The major version should be incremented in version 1, since API breakage occurred since version 2", new String[0])));
-		problem = ApiProblemFactory.newApiVersionNumberProblem("", 
-				new String[] {"1", "2"}, null, null, -1, -1, -1,  IElementDescriptor.T_REFERENCE_TYPE, IApiProblem.MAJOR_VERSION_CHANGE_NO_BREAKAGE);
-		assertNotNull("there should be a new problem created", problem);
-		message = problem.getMessage();
-		assertNotNull("the message should not be null", message);
-		assertFalse("the message should be found", message.equals(fDefaultMessage));
-		assertTrue("the message should be correct", message.equals(MessageFormat.format("The major version should be identical in version 1, since no API breakage occurred since version 2", new String[0])));
-		problem = ApiProblemFactory.newApiVersionNumberProblem("", 
-				new String[] {"1", "2"}, null, null, -1, -1, -1,  IElementDescriptor.T_REFERENCE_TYPE, IApiProblem.MINOR_VERSION_CHANGE);
-		assertNotNull("there should be a new problem created", problem);
-		message = problem.getMessage();
-		assertNotNull("the message should not be null", message);
-		assertFalse("the message should be found", message.equals(fDefaultMessage));
-		assertTrue("the message should be correct", message.equals(MessageFormat.format("The minor version should be incremented in version 1, since new APIs have been added since version 2", new String[0])));
-	}
-	
-	/**
-	 * Tests getting API usage problem messages
-	 */
-	public void testGetUsageMessages() {
-		IApiProblem problem = ApiProblemFactory.newApiUsageProblem("", 
-				new String[] {"foo"}, null, null, -1, -1, -1, IElementDescriptor.T_REFERENCE_TYPE, IApiProblem.ILLEGAL_EXTEND);
-		String message = problem.getMessage();
-		assertNotNull("the message should not be null", message);
-		assertFalse("the message should be found", message.equals(fDefaultMessage));
-		assertTrue("the message should be correct", message.equals(MessageFormat.format("Illegally extends foo", new String[0])));
-		problem = ApiProblemFactory.newApiUsageProblem("", 
-				new String[] {"foo"}, null, null, -1, -1, -1, IElementDescriptor.T_REFERENCE_TYPE, IApiProblem.ILLEGAL_IMPLEMENT);
-		message = problem.getMessage();
-		assertNotNull("the message should not be null", message);
-		assertFalse("the message should be found", message.equals(fDefaultMessage));
-		assertTrue("the message should be correct", message.equals(MessageFormat.format("Illegally implements foo", new String[0])));
-		problem = ApiProblemFactory.newApiUsageProblem("", 
-				new String[] {"foo", "bar"}, null, null, -1, -1, -1, IElementDescriptor.T_REFERENCE_TYPE, IApiProblem.ILLEGAL_OVERRIDE);
-		message = problem.getMessage();
-		assertNotNull("the message should not be null", message);
-		assertFalse("the message should be found", message.equals(fDefaultMessage));
-		assertTrue("the message should be correct", message.equals(MessageFormat.format("Illegally overrides foo.bar", new String[0])));
-		problem = ApiProblemFactory.newApiUsageProblem("", 
-				new String[] {"foo"}, null, null, -1, -1, -1, IElementDescriptor.T_REFERENCE_TYPE, IApiProblem.ILLEGAL_INSTANTIATE);
-		message = problem.getMessage();
-		assertNotNull("the message should not be null", message);
-		assertFalse("the message should be found", message.equals(fDefaultMessage));
-		assertTrue("the message should be correct", message.equals(MessageFormat.format("Illegally instantiates foo", new String[0])));
-		problem = ApiProblemFactory.newApiUsageProblem("", 
-				new String[] {"foo", "bar"}, null, null, -1, -1, -1, IElementDescriptor.T_REFERENCE_TYPE, IApiProblem.ILLEGAL_REFERENCE);
-		message = problem.getMessage();
-		assertNotNull("the message should not be null", message);
-		assertFalse("the message should be found", message.equals(fDefaultMessage));
-		assertTrue("the message should be correct", message.equals(MessageFormat.format("Illegally references foo.bar", new String[0])));
-	}
-	
-	/**
-	 * Tests getting (some of) the binary messages
-	 */
-	public void testGetBinaryMessages() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(null, null, null, null, -1, -1, -1,  
-				IApiProblem.CATEGORY_BINARY, IDelta.CLASS_ELEMENT_TYPE, IDelta.ADDED, IDelta.CONSTRUCTOR);
-		String message = problem.getMessage();
-		assertNotNull("the message should not be null", message);
-		assertFalse("the message should be found", message.equals(fDefaultMessage));
-		assertTrue("the message should be correct", message.equals(MessageFormat.format("Added a constructor", new String[0])));
-		problem = ApiProblemFactory.newApiProblem(null, new String[] {"foo()"}, null, null, -1, -1, -1,  
-				IApiProblem.CATEGORY_BINARY, IDelta.INTERFACE_ELEMENT_TYPE, IDelta.ADDED, IDelta.METHOD);
-		message = problem.getMessage();
-		assertNotNull("the message should not be null", message);
-		assertFalse("the message should be found", message.equals(fDefaultMessage));
-		assertTrue("the message should be correct", message.equals(MessageFormat.format("Added method foo() in an interface that is intended to be implemented", new String[0])));
-	}
-	
-	/**
-	 * Tests getting since tag problem messages
-	 */
-	public void testGetSinceTagMessages() {
-		IApiProblem problem = ApiProblemFactory.newApiSinceTagProblem("", 
-				new String[] {"A", "B"}, null, null, -1, -1, -1,  IElementDescriptor.T_RESOURCE, IApiProblem.SINCE_TAG_INVALID);
-		String message = problem.getMessage();
-		assertNotNull("the message should not be null", message);
-		assertFalse("the message should be found", message.equals(fDefaultMessage));
-		assertTrue("the message should be correct", message.equals(MessageFormat.format("Invalid @since tag: A; the expected @since tag value is B", new String[0])));
-		problem = ApiProblemFactory.newApiSinceTagProblem("", 
-				new String[] {"A"}, null, null, -1, -1, -1,  IElementDescriptor.T_RESOURCE, IApiProblem.SINCE_TAG_MALFORMED);
-		message = problem.getMessage();
-		assertNotNull("the message should not be null", message);
-		assertFalse("the message should be found", message.equals(fDefaultMessage));
-		assertTrue("the message should be correct", message.equals(MessageFormat.format("Invalid @since tag: A; the @since tag can only have two fragments", new String[0])));
-		problem = ApiProblemFactory.newApiSinceTagProblem("", 
-				new String[0], null, null, -1, -1, -1,  IElementDescriptor.T_RESOURCE, IApiProblem.SINCE_TAG_MISSING);
-		message = problem.getMessage();
-		assertNotNull("the message should not be null", message);
-		assertFalse("the message should be found", message.equals(fDefaultMessage));
-		assertTrue("the message should be correct", message.equals(MessageFormat.format("Missing @since tag", new String[0])));
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/problems/tests/ApiProblemTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/problems/tests/ApiProblemTests.java
deleted file mode 100644
index 9f3af22..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/problems/tests/ApiProblemTests.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.problems.tests;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.pde.api.tools.internal.problems.ApiProblem;
-import org.eclipse.pde.api.tools.internal.problems.ApiProblemFactory;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemTypes;
-import org.eclipse.pde.api.tools.tests.AbstractApiTest;
-
-/**
- * Tests aspects of a {@link ApiProblem} and {@link ApiProblemFactory}
- * 
- * @since 1.0.0
- */
-public class ApiProblemTests extends AbstractApiTest {
-
-	
-	/**
-	 * Tests that two problems are equal (when they are known to be)
-	 */
-	public void testProblemsEqual() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(new Path("x/y/z").toPortableString(), null, null, null, -1, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IApiProblem.NO_FLAGS);
-		assertNotNull("there should have been a new problem created", problem);
-		IApiProblem problem2 = ApiProblemFactory.newApiProblem(new Path("x/y/z").toPortableString(), null, null, null, -1, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IApiProblem.NO_FLAGS);
-		assertNotNull("there should have been a new problem created", problem2);
-		assertEquals("the two problems should be equal", problem, problem2);
-	}
-	
-	/**
-	 * Tests that two problems are not equal (when they are known not to be)
-	 */
-	public void testProblemsNotEqual() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(null, null, null, null, -1, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IApiProblem.NO_FLAGS);
-		assertNotNull("there should have been a new problem created", problem);
-		IApiProblem problem2 = ApiProblemFactory.newApiProblem(null, null, null, null, -1, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IDelta.ANNOTATION_DEFAULT_VALUE);
-		assertNotNull("there should have been a new problem created", problem2);
-		assertTrue("the two problems should not be equal", !problem.equals(problem2));
-	}
-	
-	/**
-	 * Tests that a problem category is encoded and decoded properly from a problem id
-	 */
-	public void testGetCategory() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(null, null, null, null, -1, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IApiProblem.NO_FLAGS);
-		assertNotNull("there should have been a new problem created", problem);
-		assertEquals("the category should be CATEGORY_BINARY", IApiProblem.CATEGORY_BINARY, problem.getCategory());
-	}
-	
-	/**
-	 * Tests that a problem id is encoded properly
-	 */
-	public void testGetId() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(null, null, null, null, -1, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IApiProblem.NO_FLAGS);
-		assertNotNull("there should have been a new problem created", problem);
-		assertEquals("the problemids should match", problem.getId(), ApiProblemFactory.createProblemId(IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IApiProblem.NO_FLAGS));
-	}
-	
-	/**
-	 * Tests that a problem kind is encoded and decoded properly from a problem id
-	 */
-	public void testGetKind() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(null, null, null, null, -1, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IApiProblem.NO_FLAGS);
-		assertNotNull("there should have been a new problem created", problem);
-		assertEquals("the kind should be ILLEGAL_IMPLEMENT", problem.getKind(), IApiProblem.ILLEGAL_IMPLEMENT);
-	}
-	
-	/**
-	 * Tests that problem flags are encoded and decoded properly
-	 */
-	public void testGetFlags() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(null, null, null, null, -1, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IDelta.ANNOTATION_DEFAULT_VALUE);
-		assertNotNull("there should have been a new problem created", problem);
-		assertEquals("the kind should be ANNOTATION_DEFAULT_VALUE", problem.getFlags(), IDelta.ANNOTATION_DEFAULT_VALUE);
-	}
-	
-	/**
-	 * Tests that a problem element kind is encoded and decoded properly
-	 */
-	public void testGetElementKind() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(null, null, null, null, -1, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IDelta.ANNOTATION_DEFAULT_VALUE);
-		assertNotNull("there should have been a new problem created", problem);
-		assertEquals("the element kind should be T_FIELD", problem.getElementKind(), IElementDescriptor.T_FIELD);
-	}
-	
-	/**
-	 * Tests getting the resource path attribute
-	 */
-	public void testGetResourcePath() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(new Path("x/y/z").toPortableString(), null, null, null, -1, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IDelta.ANNOTATION_DEFAULT_VALUE);
-		assertNotNull("there should have been a new problem created", problem);
-		assertNotNull("there should be a path set on the problem", problem.getResourcePath());
-	}
-	
-	/**
-	 * Tests getting a localized message for the problem
-	 */
-	public void testGetMessage() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(new Path("x/y/z").toPortableString(), null, null, null, -1, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IDelta.ANNOTATION_DEFAULT_VALUE);
-		assertNotNull("there should have been a new problem created", problem);
-		assertNotNull("the message should be null", problem.getMessage());
-		assertTrue("the not found message should be displayed", problem.getMessage().startsWith("Message not found for id: "));
-	}	
-	
-	/**
-	 * Tests getting the charstart attribute
-	 */
-	public void testGetCharStart() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(new Path("x/y/z").toPortableString(), null, null, null, -1, 57, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IDelta.ANNOTATION_DEFAULT_VALUE);
-		assertNotNull("there should have been a new problem created", problem);
-		assertEquals("the charstart should be 57", problem.getCharStart(), 57);
-	}
-	
-	/**
-	 * Tests getting the charend attribute
-	 */
-	public void testGetCharEnd() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(new Path("x/y/z").toPortableString(), null, null, null, -1, -1, 57, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IDelta.ANNOTATION_DEFAULT_VALUE);
-		assertNotNull("there should have been a new problem created", problem);
-		assertEquals("the charend should be 57", problem.getCharEnd(), 57);
-	}
-	
-	/**
-	 * Tests getting the line number attribute
-	 */
-	public void testGetLineNumber() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(new Path("x/y/z").toPortableString(), null, null, null, 57, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IDelta.ANNOTATION_DEFAULT_VALUE);
-		assertNotNull("there should have been a new problem created", problem);
-		assertEquals("the line number should be 57", problem.getLineNumber(), 57);
-	}
-	
-	/**
-	 * Tests that passing in null for problem arguments will return an empty array
-	 */
-	public void testGetExtraArgumentNamesNull() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(new Path("x/y/z").toPortableString(), null, null, null, -1, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IDelta.ANNOTATION_DEFAULT_VALUE);
-		assertNotNull("there should have been a new problem created", problem);
-		assertNotNull("null passed in should return an emtpy array", problem.getExtraMarkerAttributeIds());
-		assertTrue("the argument ids array type should be string", problem.getExtraMarkerAttributeIds() instanceof String[]);
-	}
-	
-	/**
-	 * Tests that passing in null for problem arguments will return an empty array
-	 */
-	public void testGetExtraArgumentValuesNull() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(new Path("x/y/z").toPortableString(), null, null, null, -1, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IDelta.ANNOTATION_DEFAULT_VALUE);
-		assertNotNull("there should have been a new problem created", problem);
-		assertNotNull("null passed in should return an emtpy array", problem.getExtraMarkerAttributeValues());
-		assertTrue("the arguments array type should be object", problem.getExtraMarkerAttributeValues() instanceof Object[]);
-	}
-	
-	/**
-	 * Tests that non-null argument names and null values will return an empty array 
-	 * from a call to getExtramarkerAttributeIds (we have to have matching arrays for valid returns)
-	 */
-	public void tesGetExtraArgumentIdsNotNullValuesNull() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(new Path("x/y/z").toPortableString(), null, new String[] {"test1", "test2", "test3"}, null, -1, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IDelta.ANNOTATION_DEFAULT_VALUE);
-		assertNotNull("there should have been a new problem created", problem);
-		assertNotNull("argument ids should not be null", problem.getExtraMarkerAttributeIds());
-		assertTrue("the argument ids array type should be string", problem.getExtraMarkerAttributeIds() instanceof String[]);
-		assertTrue("argument size should be 0", problem.getExtraMarkerAttributeIds().length == 0);
-	}
-	
-	/**
-	 * Tests that non-null argument values and null ids will return an empty array 
-	 * from a call to getExtraMarkerAttributeValues (we have to have matching arrays for valid returns)
-	 */
-	public void tesGetExtraArgumentNamesNotNullIdsNull() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(new Path("x/y/z").toPortableString(), null, null, new String[] {"test1", "test2", "test3"}, -1, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IDelta.ANNOTATION_DEFAULT_VALUE);
-		assertNotNull("there should have been a new problem created", problem);
-		assertNotNull("arguments should not be null", problem.getExtraMarkerAttributeValues());
-		assertTrue("the arguments array type should be object", problem.getExtraMarkerAttributeValues() instanceof Object[]);
-		assertTrue("argument size should be 0", problem.getExtraMarkerAttributeValues().length == 0);
-	}
-
-	/**
-	 * Tests that non-null argument values and non-null ids will return an empty array 
-	 * from a call to getExtraMarkerAttributeValues when the arrays are not the same size (we have to have matching arrays for valid returns)
-	 */
-	public void tesGetExtraArgumentsNotSameSize() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(new Path("x/y/z").toPortableString(), null, new String[] {"id1", "id2"}, new String[] {"test1", "test2", "test3"}, -1, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IDelta.ANNOTATION_DEFAULT_VALUE);
-		assertNotNull("there should have been a new problem created", problem);
-		assertNotNull("argument ids should not be null", problem.getExtraMarkerAttributeValues());
-		assertNotNull("argument values should not be null", problem.getExtraMarkerAttributeValues());
-		assertTrue("the argument ids array type should be string", problem.getExtraMarkerAttributeIds() instanceof String[]);
-		assertTrue("the arguments array type should be object", problem.getExtraMarkerAttributeValues() instanceof Object[]);
-		assertTrue("argument size should be 0", problem.getExtraMarkerAttributeIds().length == 0);
-		assertTrue("argument size should be 0", problem.getExtraMarkerAttributeValues().length == 0);
-	}
-	
-	/**
-	 * Tests that non-null argument values and non-null ids will return an the passed in arrays
-	 * from a call to getExtraMarkerAttributeValues when the arrays are the same size (we have to have matching arrays for valid returns)
-	 */
-	public void tesGetExtraArgumentsSameSize() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(new Path("x/y/z").toPortableString(), null, new String[] {"id1", "id2", "id3"}, new String[] {"value1", "value2", "value3"}, -1, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IDelta.ANNOTATION_DEFAULT_VALUE);
-		assertNotNull("there should have been a new problem created", problem);
-		assertNotNull("argument ids should not be null", problem.getExtraMarkerAttributeValues());
-		assertNotNull("argument values should not be null", problem.getExtraMarkerAttributeValues());
-		assertTrue("the argument ids array type should be string", problem.getExtraMarkerAttributeIds() instanceof String[]);
-		assertTrue("the arguments array type should be object", problem.getExtraMarkerAttributeValues() instanceof Object[]);
-		assertTrue("argument size should be 3", problem.getExtraMarkerAttributeIds().length == 3);
-		assertTrue("argument size should be 3", problem.getExtraMarkerAttributeValues().length == 3);
-	}
-	
-	/**
-	 * Tests that passing in null for message arguments will return an empty array
-	 */
-	public void testGetMessageArgumentsNull() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(new Path("x/y/z").toPortableString(), null, null, null, -1, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IDelta.ANNOTATION_DEFAULT_VALUE);
-		assertNotNull("there should have been a new problem created", problem);
-		assertNotNull("null passed in should return an emtpy array", problem.getMessageArguments());
-		assertTrue("the arguments array type should be string", problem.getMessageArguments() instanceof String[]);
-	}
-	
-	/**
-	 * Tests that non-null message arguments passed a retrievable
-	 */
-	public void testGetMessageArgumentsNotNull() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(new Path("x/y/z").toPortableString(), new String[] {"test1", "test2", "test3"}, null, null, -1, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IDelta.ANNOTATION_DEFAULT_VALUE);
-		assertNotNull("there should have been a new problem created", problem);
-		assertNotNull("arguments should not be null", problem.getMessageArguments());
-		assertTrue("the arguments array type should be string", problem.getMessageArguments() instanceof String[]);
-		assertTrue("argument size should be 3", problem.getMessageArguments().length == 3);
-	}
-	
-	/**
-	 * Tests that toString does not return null
-	 */
-	public void testToString() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(new Path("x/y/z").toPortableString(), new String[] {"test1, test2, test3"}, null, null, -1, -1, -1, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IDelta.ANNOTATION_DEFAULT_VALUE);
-		assertNotNull("there should have been a new problem created", problem);
-		assertNotNull("there should be a string", problem.toString());
-	}
-	
-	/**
-	 * Tests getting the severity attribute
-	 */
-	public void testGetSeverity() {
-		if(ApiPlugin.isRunningInFramework()) {
-			Preferences store = ApiPlugin.getDefault().getPluginPreferences();
-			store.setValue(IApiProblemTypes.ILLEGAL_IMPLEMENT, ApiPlugin.VALUE_IGNORE);
-			IApiProblem problem = ApiProblemFactory.newApiProblem(new Path("x/y/z").toPortableString(), new String[] {"test1, test2, test3"}, null, null, -1, -1, -1, IApiProblem.CATEGORY_USAGE, IElementDescriptor.T_REFERENCE_TYPE, IApiProblem.ILLEGAL_IMPLEMENT, IApiProblem.NO_FLAGS);
-			assertNotNull("there should have been a new problem created", problem);
-			assertEquals("the severity should be IGNORE", IMarker.SEVERITY_INFO, problem.getSeverity());
-			store.setValue(IApiProblemTypes.ILLEGAL_IMPLEMENT, store.getDefaultString(IApiProblemTypes.ILLEGAL_IMPLEMENT));
-		}
-		else {
-			IApiProblem problem = ApiProblemFactory.newApiProblem(new Path("x/y/z").toPortableString(), new String[] {"test1, test2, test3"}, null, null, -1, -1, -1, IApiProblem.CATEGORY_USAGE, IElementDescriptor.T_REFERENCE_TYPE, IApiProblem.ILLEGAL_IMPLEMENT, IApiProblem.NO_FLAGS);
-			assertNotNull("there should have been a new problem created", problem);
-			assertEquals("the severity should be WARNING (no framework running)", IMarker.SEVERITY_WARNING, problem.getSeverity());
-		}
-	}
-	
-	/**
-	 * Regression test for the hash code of an {@link IApiProblem}.
-	 */
-	public void testGetHashCode() {
-		IApiProblem problem = ApiProblemFactory.newApiProblem(new Path("x/y/z").toPortableString(), new String[] {"test1, test2, test3"}, null, null, 2, 2, 2, IApiProblem.CATEGORY_BINARY, IElementDescriptor.T_FIELD, IApiProblem.ILLEGAL_IMPLEMENT, IDelta.ANNOTATION_DEFAULT_VALUE);
-		assertNotNull("there should have been a new problem created", problem);
-		assertEquals("the hashcode should be equal to the sum of: id, resourcepath.hashCode", 
-				problem.hashCode(), (problem.getId() + problem.getResourcePath().hashCode()));
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/ClassFileStubTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/ClassFileStubTests.java
deleted file mode 100644
index 4d95f38..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/ClassFileStubTests.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.reference.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.ToolFactory;
-import org.eclipse.jdt.core.util.IClassFileReader;
-import org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchEngine;
-import org.eclipse.pde.api.tools.internal.provisional.search.IReference;
-import org.eclipse.pde.api.tools.internal.provisional.search.ReferenceModifiers;
-import org.eclipse.pde.api.tools.model.tests.TestSuiteHelper;
-import org.eclipse.pde.api.tools.tests.util.Util;
-
-/**
- * Tests for class file stubs.
- * 
- * @since 1.0.0
- */
-public class ClassFileStubTests extends TestCase {
-
-	/**
-	 * Tests that the class files generated can be read by the JDT class
-	 * file reader.
-	 * @throws IOException 
-	 * @throws CoreException 
-	 */
-	public void testClassFileReader() throws CoreException, IOException {
-		Map<String, Object> options = new HashMap<String, Object>();
-		options.put(IApiComponent.EXPORT_COMPRESS, Boolean.TRUE);
-		options.put(IApiComponent.EXPORT_CLASS_FILE_STUBS, Boolean.TRUE);
-		IApiProfile[] profiles = exportSDK(options);
-		IApiProfile profile = profiles[1];
-		IApiComponent[] components = profile.getApiComponents();
-		
-		try {
-			for (int i = 0; i < components.length; i++) {
-				IApiComponent apiComponent = components[i];
-				ClassFileContainerVisitor visitor = new ClassFileContainerVisitor() {
-					public void visit(String packageName, IClassFile classFile) {
-						InputStream inputStream = null;
-						try {
-							inputStream = classFile.getInputStream();
-							ToolFactory.createDefaultClassFileReader(inputStream, IClassFileReader.METHOD_INFOS);
-						} catch (CoreException e) {
-							e.printStackTrace();
-						} finally {
-							if (inputStream != null) {
-								try {
-									inputStream.close();
-								} catch(IOException e) {
-									// ignore
-								}
-							}
-						}
-					}
-				};
-				apiComponent.accept(visitor);
-			}
-		} finally {
-			cleanupProfiles(profiles);
-		}
-	}
-	
-	/**
-	 * Tests that reference info is the same in stubs and original file.
-	 * 
-	 * @throws IOException 
-	 * @throws CoreException 
-	 */
-	public void testClassFileStubReferences() throws CoreException, IOException {
-		Map<String, Object> options = new HashMap<String, Object>();
-		options.put(IApiComponent.EXPORT_COMPRESS, Boolean.TRUE);
-		options.put(IApiComponent.EXPORT_CLASS_FILE_STUBS, Boolean.TRUE);
-		IApiProfile[] profiles = exportSDK(options);
-		try {
-			IApiProfile original = profiles[0];
-			IApiProfile exported = profiles[1];
-			
-			IApiComponent component = original.getApiComponent("org.eclipse.pde");
-			IApiComponent component2 = exported.getApiComponent("org.eclipse.pde");
-			IApiSearchEngine engine = Factory.newSearchEngine();
-			IApiSearchCriteria criteria = Factory.newSearchCriteria();
-			criteria.setReferenceKinds(ReferenceModifiers.MASK_REF_ALL);
-			criteria.setReferencedRestrictions(
-					VisibilityModifiers.ALL_VISIBILITIES,
-					RestrictionModifiers.ALL_RESTRICTIONS);
-			IReference[] refs = Util.getReferences(engine.search(Factory.newScope(
-					new IApiComponent[]{component}), new IApiSearchCriteria[]{criteria}, null));
-			IReference[] refs2 = Util.getReferences(engine.search(Factory.newScope(
-					new IApiComponent[]{component2}), new IApiSearchCriteria[]{criteria}, null));
-			Set<IReference> set = new HashSet<IReference>();
-			System.out.println("original refs: " + refs.length + " stub refs: " + refs2.length);
-			for (int i = 0; i < refs.length; i++) {
-				set.add(refs[i]);
-			}
-			for (int i = 0; i < refs2.length; i++) {
-				set.remove(refs2[i]);
-			}
-			Iterator<IReference> iterator = set.iterator();
-			while (iterator.hasNext()) {
-				IReference reference = (IReference) iterator.next();
-				System.out.println(reference);
-			}
-		} finally {
-			cleanupProfiles(profiles);
-		}
-	}
-
-	private void cleanupProfiles(IApiProfile[] profiles) {
-		if (profiles == null) return;
-		for (int i = 0, max = profiles.length; i < max; i++) {
-			IApiProfile apiProfile = profiles[i];
-			apiProfile.dispose();
-		}
-	}	
-	
-	/**
-	 * Exports the SDK, builds a new profile out of it. Returns the original and exported profiles.
-	 * 
-	 * @param options export options
-	 * @throws CoreException
-	 * @throws IOException 
-	 */
-	protected IApiProfile[] exportSDK(Map<String, Object> options) throws CoreException, IOException {
-		File jdt = TestSuiteHelper.getBundle("org.eclipse.jdt.debug.ui");
-		assertNotNull("Missing jdt.debug.ui", jdt);
-		IApiProfile profile = TestSuiteHelper.createProfile("eclipse", jdt.getParentFile());
-		assertNotNull("the testing baseline should exist", profile);
-		File tempFile = File.createTempFile("api", "tmp");
-		File exportRoot = new File(tempFile.getParentFile(), "exp-test");
-		exportRoot.mkdirs();
-		File[] listFiles = exportRoot.listFiles();
-		for (int i = 0; i < listFiles.length; i++) {
-			listFiles[i].delete();
-		}
-		options.put(IApiComponent.EXPORT_DIRECTORY, exportRoot.getAbsolutePath());
-		
-		IApiComponent[] components = profile.getApiComponents();
-		for (int i = 0; i < components.length; i++) {
-			IApiComponent component = components[i];
-			if (!component.isSystemComponent()) {
-				component.export(options, null);
-			}
-		}
-		
-		// check that delta is empty when compared		
-		IApiProfile profile2 = TestSuiteHelper.createProfile("eclipse-2", exportRoot);
-		return new IApiProfile[]{profile, profile2};
-	}	
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/DiscouragedAccessTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/DiscouragedAccessTests.java
deleted file mode 100644
index 1ec8a9c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/DiscouragedAccessTests.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.reference.tests;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchEngine;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchScope;
-import org.eclipse.pde.api.tools.internal.provisional.search.ILocation;
-import org.eclipse.pde.api.tools.internal.provisional.search.IReference;
-import org.eclipse.pde.api.tools.internal.provisional.search.ReferenceModifiers;
-import org.eclipse.pde.api.tools.model.tests.TestSuiteHelper;
-import org.eclipse.pde.api.tools.tests.util.Util;
-
-/**
- * This class tests discouraged access between components.
- * 
- * @since 1.0.0
- */
-public class DiscouragedAccessTests extends TestCase {
-	
-	/**
-	 * Extract all references in JDT debug UI
-	 * 
-	 * @throws CoreException
-	 */
-	public void testDiscouragedAccess() throws CoreException {
-		// build baseline
-		File jdt = TestSuiteHelper.getBundle("org.eclipse.jdt.debug.ui");
-		assertNotNull("Missing jdt.debug.ui", jdt);
-		IApiProfile profile = TestSuiteHelper.createProfile("eclipse", jdt.getParentFile());
-		
-		// search
-		IApiComponent jdtComponent = profile.getApiComponent("org.eclipse.jdt.debug.ui");
-		IApiSearchEngine engine = Factory.newSearchEngine();
-		IApiSearchScope scope = Factory.newScope(new IApiComponent[]{jdtComponent});
-		long start = System.currentTimeMillis();
-		IApiSearchCriteria criteria = Factory.newSearchCriteria();
-		criteria.setReferenceKinds(ReferenceModifiers.MASK_REF_ALL);
-		criteria.setReferencedRestrictions(
-				VisibilityModifiers.ALL_VISIBILITIES,
-				RestrictionModifiers.ALL_RESTRICTIONS);
-		IReference[] references = Util.getReferences(engine.search(scope, new IApiSearchCriteria[]{criteria}, null));
-		long stop = System.currentTimeMillis();
-		System.out.println("Search time: " + (stop - start) + "ms");
-				
-		// analyze
-		int total = 0;
-		int priv = 0;
-		int unres = 0;
-		int internal = 0;
-		int external = 0;
-		int virtual = 0;
-		int pvirtual = 0;
-		int pvirtualext = 0;
-		int pvirtualint = 0;
-		Map<String, List<IReference>> illegalRefsByType = new HashMap<String, List<IReference>>(); 
-		Map<String, Set<String>> illegalSetRefsByType = new HashMap<String, Set<String>>();
-		for (int i = 0; i < references.length; i++) {
-			IReference ref = references[i];
-			total++;
-			IApiAnnotations resolved = ref.getResolvedAnnotations();
-			if (resolved != null) {
-				if(ref.getReferenceKind() == ReferenceModifiers.REF_VIRTUALMETHOD) {
-					virtual++;
-				}
-				if (VisibilityModifiers.isPrivate(resolved.getVisibility())) {
-					if(ref.getReferenceKind() == ReferenceModifiers.REF_VIRTUALMETHOD) {
-						pvirtual++;
-					}
-					priv++;
-					ILocation target = ref.getReferencedLocation();
-					if (jdtComponent.equals(target.getApiComponent())) {
-						if(ref.getReferenceKind() == ReferenceModifiers.REF_VIRTUALMETHOD) {
-							pvirtualint++;
-						}
-						internal++;
-					} else {
-						if(ref.getReferenceKind() == ReferenceModifiers.REF_VIRTUALMETHOD) {
-							pvirtualext++;
-						}
-						external++;
-						String sourceName = ref.getSourceLocation().getType().getQualifiedName();
-						List<IReference> list = illegalRefsByType.get(sourceName);
-						Set<String> set = illegalSetRefsByType.get(sourceName);
-						if (list == null) {
-							list = new ArrayList<IReference>();
-							set = new HashSet<String>();
-							illegalRefsByType.put(sourceName, list);
-							illegalSetRefsByType.put(sourceName, set);
-						}
-						list.add(ref);
-						set.add(ref.getReferencedLocation().getType().getQualifiedName());
-					}
-				}				
-			} else {
-				unres++;
-			}
-		}
-		
-		// count effective import statements for illegal references
-		int imports = 0;
-		Iterator<Set<String>> iterator3 = illegalSetRefsByType.values().iterator();
-		while (iterator3.hasNext()) {
-			Set<String> set = (Set<String>) iterator3.next();
-			imports += set.size();
-		}
-		
-		System.out.println("** References **");
-		System.out.println("Total:\t\t\t\t" + total);
-		System.out.println("Private:\t\t\t" + priv);
-		System.out.println("Unresolved:\t\t\t" + unres);
-		System.out.println("Internal private:\t\t" + internal);
-		System.out.println("External private:\t\t" + external);
-		System.out.println("Inferred import private:\t" + imports);
-		System.out.println("Virtual method invocations:\t"+virtual);
-		System.out.println("** Private virtual method invocations **");
-		System.out.println("Total:\t\t"+pvirtual);
-		System.out.println("Internal:\t"+pvirtualint);
-		System.out.println("External:\t"+pvirtualext);
-		
-		
-		// dump the reference list
-		Iterator<String> types = illegalRefsByType.keySet().iterator();
-		while (types.hasNext()) {
-			String name = (String) types.next();
-			List<IReference> list = illegalRefsByType.get(name);
-			Iterator<IReference> iterator2 = list.iterator();
-			System.out.println();
-			System.out.println("**" + name + "**");
-			while (iterator2.hasNext()) {
-				IReference reference = (IReference) iterator2.next();
-				System.out.println(reference.toString());
-			}
-		}
-		
-		profile.dispose();
-	}
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/SearchEngineTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/SearchEngineTests.java
deleted file mode 100644
index 35ae118..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/SearchEngineTests.java
+++ /dev/null
@@ -1,435 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.reference.tests;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IFieldDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchEngine;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchScope;
-import org.eclipse.pde.api.tools.internal.provisional.search.IReference;
-import org.eclipse.pde.api.tools.internal.provisional.search.ReferenceModifiers;
-import org.eclipse.pde.api.tools.internal.search.XMLFactory;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.eclipse.pde.api.tools.model.tests.TestSuiteHelper;
-import org.w3c.dom.Document;
-
-/**
- * Tests search engine.
- * 
- * @since 1.0.0
- */
-public class SearchEngineTests extends TestCase {
-	
-	/**
-	 * Searches for subclasses of A.
-	 * 
-	 * @throws CoreException
-	 */
-	public void testSearchForExtenders() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentA = profile.getApiComponent("component.a");
-		IApiComponent componentB = profile.getApiComponent("component.b");
-		IApiSearchScope sourceScope = Factory.newScope(new IApiComponent[]{componentB});
-		IPackageDescriptor pkg = Factory.packageDescriptor("component.a");
-		IReferenceTypeDescriptor typeA = pkg.getType("A");
-		IApiSearchEngine engine = Factory.newSearchEngine();
-		IApiSearchCriteria criteria = Factory.newSearchCriteria();
-		criteria.setReferenceKinds(ReferenceModifiers.REF_EXTENDS);
-		criteria.setReferencedRestrictions(
-				VisibilityModifiers.ALL_VISIBILITIES,
-				RestrictionModifiers.ALL_RESTRICTIONS);
-		criteria.addReferencedElementRestriction(componentA.getId(), new IElementDescriptor[]{typeA});
-		IReference[] refs = org.eclipse.pde.api.tools.tests.util.Util.getReferences(engine.search(sourceScope, new IApiSearchCriteria[]{criteria}, null));
-		assertEquals("Wrong number of extenders", 1, refs.length);
-		assertEquals("Wrong extender", Factory.packageDescriptor("component.b").getType("B"), refs[0].getSourceLocation().getMember());
-	}
-	
-	/**
-	 * Searches for extensions of A by name matching, rather than element matching.
-	 * 
-	 * @throws CoreException
-	 */
-	public void testSearchForExtendersByName() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentB = profile.getApiComponent("component.b");
-		IApiSearchScope sourceScope = Factory.newScope(new IApiComponent[]{componentB});
-		IApiSearchEngine engine = Factory.newSearchEngine();
-		IApiSearchCriteria criteria = Factory.newSearchCriteria();
-		criteria.setReferenceKinds(ReferenceModifiers.REF_EXTENDS);
-		criteria.setReferencedRestrictions(
-				VisibilityModifiers.ALL_VISIBILITIES,
-				RestrictionModifiers.ALL_RESTRICTIONS);
-		criteria.addReferencedPatternRestriction("component.a.A", IElementDescriptor.T_REFERENCE_TYPE);
-		IReference[] refs = org.eclipse.pde.api.tools.tests.util.Util.getReferences(engine.search(sourceScope, new IApiSearchCriteria[]{criteria}, null));
-		assertEquals("Wrong number of extenders", 1, refs.length);
-		assertEquals("Wrong extender", Factory.packageDescriptor("component.b").getType("B"), refs[0].getSourceLocation().getMember());
-	}
-	
-	/**
-	 * Searches for callers of the "no*" methods in MethodNoExtendClass
-	 * 
-	 * @throws CoreException
-	 */
-	public void testSearchForCallersByRegEx() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentB = profile.getApiComponent("component.b");
-		IApiSearchScope sourceScope = Factory.newScope(new IApiComponent[]{componentB});
-		IApiSearchEngine engine = Factory.newSearchEngine();
-		IApiSearchCriteria criteria = Factory.newSearchCriteria();
-		criteria.setReferenceKinds(ReferenceModifiers.REF_VIRTUALMETHOD | ReferenceModifiers.REF_SPECIALMETHOD);
-		criteria.setReferencedRestrictions(
-				VisibilityModifiers.ALL_VISIBILITIES,
-				RestrictionModifiers.ALL_RESTRICTIONS);
-		criteria.addReferencedPatternRestriction("no.*", IElementDescriptor.T_METHOD);
-		IReference[] refs = org.eclipse.pde.api.tools.tests.util.Util.getReferences(engine.search(sourceScope, new IApiSearchCriteria[]{criteria}, null));
-		assertEquals("Wrong number of callers", 3, refs.length);
-	}	
-	
-	/**
-	 * Searches for extensions of A by name matching, rather than element matching.
-	 * 
-	 * @throws CoreException
-	 */
-	public void testSearchForExtendersInPackageByName() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentB = profile.getApiComponent("component.b");
-		IApiSearchScope sourceScope = Factory.newScope(new IApiComponent[]{componentB});
-		IApiSearchEngine engine = Factory.newSearchEngine();
-		IApiSearchCriteria criteria = Factory.newSearchCriteria();
-		criteria.setReferenceKinds(ReferenceModifiers.REF_EXTENDS);
-		criteria.setReferencedRestrictions(
-				VisibilityModifiers.ALL_VISIBILITIES,
-				RestrictionModifiers.ALL_RESTRICTIONS);
-		criteria.addReferencedPatternRestriction("component.a", IElementDescriptor.T_PACKAGE);
-		IReference[] refs = org.eclipse.pde.api.tools.tests.util.Util.getReferences(
-				engine.search(sourceScope, new IApiSearchCriteria[]{criteria}, null));
-		assertEquals("Wrong number of extenders", 4, refs.length);
-		assertEquals("Wrong extender", Factory.packageDescriptor("component.b").getType("B"), refs[0].getSourceLocation().getMember());
-	}	
-	
-	/**
-	 * Tests that references to illegal method overrides are found.
-	 * 
-	 * @throws CoreException
-	 */
-	public void testSearchForMethodExtenders() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentA = profile.getApiComponent("component.a");
-		IApiComponent componentB = profile.getApiComponent("component.b");
-		IApiSearchScope sourceScope = Factory.newScope(new IApiComponent[]{componentB});
-		IPackageDescriptor pkga = Factory.packageDescriptor("component.a");
-		IReferenceTypeDescriptor base = pkga.getType("MethodNoExtendClass");
-		IMethodDescriptor m1 = base.getMethod("noOverride", "()V");
-		IMethodDescriptor m2 = base.getMethod("noOverridePrimitiveArg", "(I)V");
-		IMethodDescriptor m3 = base.getMethod("noOverrideStringArg", "(Ljava/lang/String;)V");
-		componentA.getApiDescription().setRestrictions(null, m1, RestrictionModifiers.NO_EXTEND);
-		componentA.getApiDescription().setRestrictions(null, m2, RestrictionModifiers.NO_EXTEND);
-		componentA.getApiDescription().setRestrictions(null, m3, RestrictionModifiers.NO_EXTEND);
-		IApiSearchEngine engine = Factory.newSearchEngine();
-		IApiSearchCriteria criteria = Factory.newSearchCriteria();
-		criteria.setReferenceKinds(ReferenceModifiers.REF_OVERRIDE);
-		criteria.setReferencedRestrictions(
-				VisibilityModifiers.ALL_VISIBILITIES,
-				RestrictionModifiers.NO_EXTEND);
-		IReference[] refs = org.eclipse.pde.api.tools.tests.util.Util.getReferences(
-				engine.search(sourceScope, new IApiSearchCriteria[]{criteria}, null));
-		assertEquals("Wrong number of overrides", 3, refs.length);
-		Set<String> set = new HashSet<String>();
-		set.add(m1.getName());
-		set.add(m1.getSignature());
-		set.add(m2.getName());
-		set.add(m2.getSignature());
-		set.add(m3.getName());
-		set.add(m3.getSignature());
-		for (int i = 0; i < refs.length; i++) {
-			IReference reference = refs[i];
-			IMethodDescriptor method = (IMethodDescriptor) reference.getReferencedLocation().getMember();
-			assertTrue("Method not present", set.remove(method.getName()));
-			assertTrue("Signature not present", set.remove(method.getSignature()));
-		}
-	}	
-	
-	/**
-	 * Searches for an illegal instantiation
-	 * 
-	 * @throws CoreException
-	 */
-	public void testSearchIllegalInstantiate() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentA = profile.getApiComponent("component.a");
-		IApiComponent componentB = profile.getApiComponent("component.b");
-		IReferenceTypeDescriptor noInst = Factory.packageDescriptor("component.a").getType("NoInstantiateClass");
-		componentA.getApiDescription().setRestrictions(null, noInst, RestrictionModifiers.NO_INSTANTIATE);
-		IApiSearchScope sourceScope = Factory.newScope(new IApiComponent[]{componentB});
-		IApiSearchEngine engine = Factory.newSearchEngine();
-		IApiSearchCriteria criteria = Factory.newSearchCriteria();
-		criteria.setReferenceKinds(ReferenceModifiers.REF_INSTANTIATE);
-		criteria.setReferencedRestrictions(
-				VisibilityModifiers.ALL_VISIBILITIES,
-				RestrictionModifiers.NO_INSTANTIATE);
-		IReference[] refs = org.eclipse.pde.api.tools.tests.util.Util.getReferences(
-				engine.search(sourceScope, new IApiSearchCriteria[]{criteria}, null));
-		assertEquals("Wrong number of illegal instantiations", 1, refs.length);
-		assertEquals("Wrong source", Factory.packageDescriptor("e.f.g").getType("TestInstantiate"), refs[0].getSourceLocation().getType());
-	}	
-	
-	/**
-	 * Searches for an illegal subclass
-	 * 
-	 * @throws CoreException
-	 */
-	public void testSearchIllegalExtendsClass() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentA = profile.getApiComponent("component.a");
-		IApiComponent componentB = profile.getApiComponent("component.b");
-		IReferenceTypeDescriptor noInst = Factory.packageDescriptor("component.a").getType("NoExtendClass");
-		componentA.getApiDescription().setRestrictions(null, noInst, RestrictionModifiers.NO_EXTEND);
-		IApiSearchScope sourceScope = Factory.newScope(new IApiComponent[]{componentB});
-		IApiSearchEngine engine = Factory.newSearchEngine();
-		IApiSearchCriteria criteria = Factory.newSearchCriteria();
-		criteria.setReferenceKinds(ReferenceModifiers.REF_EXTENDS);
-		criteria.setReferencedRestrictions(
-				VisibilityModifiers.ALL_VISIBILITIES,
-				RestrictionModifiers.NO_EXTEND);
-		IReference[] refs = org.eclipse.pde.api.tools.tests.util.Util.getReferences(
-				engine.search(sourceScope, new IApiSearchCriteria[]{criteria}, null));
-		assertEquals("Wrong number of illegal extensions", 1, refs.length);
-		assertEquals("Wrong source", Factory.packageDescriptor("e.f.g").getType("TestSubclass"), refs[0].getSourceLocation().getType());
-	}		
-	
-	/**
-	 * Searches for an illegal interface implementation
-	 * 
-	 * @throws CoreException
-	 */
-	public void testSearchIllegalImplementInterface() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentA = profile.getApiComponent("component.a");
-		IApiComponent componentB = profile.getApiComponent("component.b");
-		IReferenceTypeDescriptor noInst = Factory.packageDescriptor("component.a").getType("INoImplementInterface");
-		componentA.getApiDescription().setRestrictions(null, noInst, RestrictionModifiers.NO_IMPLEMENT);
-		IApiSearchScope sourceScope = Factory.newScope(new IApiComponent[]{componentB});
-		IApiSearchEngine engine = Factory.newSearchEngine();
-		IApiSearchCriteria criteria = Factory.newSearchCriteria();
-		criteria.setReferenceKinds(ReferenceModifiers.REF_IMPLEMENTS);
-		criteria.setReferencedRestrictions(
-				VisibilityModifiers.ALL_VISIBILITIES,
-				RestrictionModifiers.NO_IMPLEMENT);
-		IReference[] refs = org.eclipse.pde.api.tools.tests.util.Util.getReferences(
-				engine.search(sourceScope, new IApiSearchCriteria[]{criteria}, null));
-		assertEquals("Wrong number of illegal implements", 1, refs.length);
-		assertEquals("Wrong source", Factory.packageDescriptor("e.f.g").getType("TestImplement"), refs[0].getSourceLocation().getType());
-	}
-	
-	/**
-	 * Searches for an illegal interface implementation within a component.
-	 * Since we are considering component local references the restrictions 
-	 * apply to the owning component, and the implementation
-	 * within the same component is considered illegal.
-	 * 
-	 * @throws CoreException
-	 */
-	public void testSearchIllegalImplementWithinComponent() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentA = profile.getApiComponent("component.a");
-		IReferenceTypeDescriptor noInst = Factory.packageDescriptor("component.a").getType("INoImplementInterface");
-		componentA.getApiDescription().setRestrictions(null, noInst, RestrictionModifiers.NO_IMPLEMENT);
-		IApiSearchScope sourceScope = Factory.newScope(new IApiComponent[]{componentA});
-		IApiSearchEngine engine = Factory.newSearchEngine();
-		IApiSearchCriteria criteria = Factory.newSearchCriteria();
-		criteria.setReferenceKinds(ReferenceModifiers.REF_IMPLEMENTS);
-		criteria.setReferencedRestrictions(
-				VisibilityModifiers.ALL_VISIBILITIES,
-				RestrictionModifiers.NO_IMPLEMENT);
-		IReference[] refs = org.eclipse.pde.api.tools.tests.util.Util.getReferences(
-				engine.search(sourceScope, new IApiSearchCriteria[]{criteria}, null));
-		assertEquals("Wrong number of illegal implements", 1, refs.length);
-		assertEquals("Wrong source", Factory.packageDescriptor("component.a.internal").getType("LegalImplementation"), refs[0].getSourceLocation().getType());
-	}	
-
-	/**
-	 * Searches for an illegal interface implementation. Filters implementors from
-	 * the implementing component.
-	 * 
-	 * @throws CoreException
-	 */
-	public void testIgnoreIllegalImplementWithinComponent() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentA = profile.getApiComponent("component.a");
-		IReferenceTypeDescriptor noInst = Factory.packageDescriptor("component.a").getType("INoImplementInterface");
-		componentA.getApiDescription().setRestrictions(null, noInst, RestrictionModifiers.NO_IMPLEMENT);
-		IApiSearchScope sourceScope = Factory.newScope(new IApiComponent[]{componentA});
-		IApiSearchEngine engine = Factory.newSearchEngine();
-		IApiSearchCriteria criteria = Factory.newSearchCriteria();
-		criteria.setReferenceKinds(ReferenceModifiers.REF_IMPLEMENTS);
-		criteria.setReferencedRestrictions(
-				VisibilityModifiers.ALL_VISIBILITIES,
-				RestrictionModifiers.NO_IMPLEMENT);
-		criteria.addSourceFilter("component.a");
-		IReference[] refs = org.eclipse.pde.api.tools.tests.util.Util.getReferences(
-				engine.search(sourceScope, new IApiSearchCriteria[]{criteria}, null));
-		assertEquals("Wrong number of illegal implements", 0, refs.length);
-	}
-	
-	/**
-	 * Tests that search results can be written to XML file.
-	 * @throws CoreException 
-	 */
-	public void testXMLReferences() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentA = profile.getApiComponent("component.a");
-		IApiComponent componentB = profile.getApiComponent("component.b");
-		IReferenceTypeDescriptor noInst = Factory.packageDescriptor("component.a").getType("INoImplementInterface");
-		componentA.getApiDescription().setRestrictions(null, noInst, RestrictionModifiers.NO_IMPLEMENT);
-		IReferenceTypeDescriptor noExt = Factory.packageDescriptor("component.a").getType("NoExtendClass");
-		componentA.getApiDescription().setRestrictions(null, noExt, RestrictionModifiers.NO_EXTEND);
-		IApiSearchScope sourceScope = Factory.newScope(new IApiComponent[]{componentB});
-		IApiSearchEngine engine = Factory.newSearchEngine();
-		IApiSearchCriteria c1 = Factory.newSearchCriteria();
-		IApiSearchCriteria c2 = Factory.newSearchCriteria();
-		c1.setReferenceKinds(ReferenceModifiers.REF_EXTENDS);
-		c1.setReferencedRestrictions(
-				VisibilityModifiers.ALL_VISIBILITIES,
-				RestrictionModifiers.NO_EXTEND);
-		c1.addReferencedComponentRestriction(componentA.getId());
-		c2.setReferenceKinds(ReferenceModifiers.REF_IMPLEMENTS);
-		c2.setReferencedRestrictions(
-				VisibilityModifiers.ALL_VISIBILITIES,
-				RestrictionModifiers.NO_IMPLEMENT);
-		c2.addReferencedComponentRestriction(componentA.getId());		
-		IReference[] refs = org.eclipse.pde.api.tools.tests.util.Util.getReferences(
-				engine.search(sourceScope, new IApiSearchCriteria[]{c1, c2}, null));
-		assertTrue("Wrong number of references", refs.length > 0);
-		
-		Document document = XMLFactory.serializeReferences(refs);
-		Util.serializeDocument(document);
-		// System.out.println(xml);
-		// TODO: how to validate XML?
-		
-	}
-
-	/**
-	 * Searches for an illegal method references
-	 * 
-	 * @throws CoreException
-	 */
-	public void testSearchIllegalMethodReference() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentA = profile.getApiComponent("component.a");
-		IApiComponent componentB = profile.getApiComponent("component.b");
-		IReferenceTypeDescriptor noCall = Factory.packageDescriptor("component.a").getType("MethodNoReference");
-		IMethodDescriptor instanceMethod = noCall.getMethod("doNotCallInstance", "()V");
-		IMethodDescriptor staticMethod = noCall.getMethod("doNotCallStatic", "()V");
-		IMethodDescriptor superMethod = noCall.getMethod("doNotCallSuper", "()V");
-		componentA.getApiDescription().setRestrictions(null, instanceMethod, RestrictionModifiers.NO_REFERENCE);
-		componentA.getApiDescription().setRestrictions(null, staticMethod, RestrictionModifiers.NO_REFERENCE);
-		componentA.getApiDescription().setRestrictions(null, superMethod, RestrictionModifiers.NO_REFERENCE);
-		IApiSearchScope sourceScope = Factory.newScope(new IApiComponent[]{componentB});
-		IApiSearchEngine engine = Factory.newSearchEngine();
-		IApiSearchCriteria criteria = Factory.newSearchCriteria();
-		criteria.setReferenceKinds(ReferenceModifiers.REF_SPECIALMETHOD | ReferenceModifiers.REF_STATICMETHOD | ReferenceModifiers.REF_VIRTUALMETHOD);
-		criteria.setReferencedRestrictions(
-				VisibilityModifiers.ALL_VISIBILITIES,
-				RestrictionModifiers.NO_REFERENCE);
-		IReference[] refs = org.eclipse.pde.api.tools.tests.util.Util.getReferences(
-				engine.search(sourceScope, new IApiSearchCriteria[]{criteria}, null));
-		assertEquals("Wrong number of illegal references", 3, refs.length);
-		Set<String> set = new HashSet<String>();
-		for (int i = 0; i < refs.length; i++) {
-			set.add(refs[i].getSourceLocation().getMember().getName());
-		}
-		assertTrue("missing callInstance", set.contains("callInstance"));
-		assertTrue("missing callInstance", set.contains("callStatic"));
-		assertTrue("missing callInstance", set.contains("callSuper"));
-		assertFalse("should not flag doNotCallSuper", set.contains("doNotCallSuper"));
-	}	
-	
-	/**
-	 * Searches for an illegal field references
-	 * 
-	 * @throws CoreException
-	 */
-	public void testSearchIllegalFieldReference() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentA = profile.getApiComponent("component.a");
-		IApiComponent componentB = profile.getApiComponent("component.b");
-		IReferenceTypeDescriptor noCall = Factory.packageDescriptor("component.a").getType("FieldNoReference");
-		IFieldDescriptor instanceField = noCall.getField("INSTANCE_NO_REF");
-		IFieldDescriptor staticField = noCall.getField("STATIC_NO_REF");
-		componentA.getApiDescription().setRestrictions(null, instanceField, RestrictionModifiers.NO_REFERENCE);
-		componentA.getApiDescription().setRestrictions(null, staticField, RestrictionModifiers.NO_REFERENCE);
-		IApiSearchScope sourceScope = Factory.newScope(new IApiComponent[]{componentB});
-		IApiSearchEngine engine = Factory.newSearchEngine();
-		IApiSearchCriteria criteria = Factory.newSearchCriteria();
-		criteria.setReferenceKinds(ReferenceModifiers.REF_GETFIELD | ReferenceModifiers.REF_GETSTATIC |
-				ReferenceModifiers.REF_PUTFIELD | ReferenceModifiers.REF_PUTSTATIC);
-		criteria.setReferencedRestrictions(
-				VisibilityModifiers.ALL_VISIBILITIES,
-				RestrictionModifiers.NO_REFERENCE);
-		IReference[] refs = org.eclipse.pde.api.tools.tests.util.Util.getReferences(
-				engine.search(sourceScope, new IApiSearchCriteria[]{criteria}, null));
-		assertEquals("Wrong number of illegal references", 4, refs.length);
-		Set<String> set = new HashSet<String>();
-		for (int i = 0; i < refs.length; i++) {
-			set.add(refs[i].getSourceLocation().getMember().getName());
-		}
-		assertTrue("missing callInstance", set.contains("readInstance"));
-		assertTrue("missing callInstance", set.contains("readStatic"));
-		assertTrue("missing callInstance", set.contains("writeInstance"));
-		assertTrue("missing callInstance", set.contains("writeStatic"));		
-	}
-	
-	/**
-	 * Searches for an illegal method references on interfaces
-	 * 
-	 * @throws CoreException
-	 */
-	public void testSearchIllegalInterfaceMethodReference() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentA = profile.getApiComponent("component.a");
-		IApiComponent componentB = profile.getApiComponent("component.b");
-		IReferenceTypeDescriptor noCall = Factory.packageDescriptor("component.a").getType("MethodNoReferenceInterface");
-		IMethodDescriptor method = noCall.getMethod("getName", "()Ljava/lang/String;");
-		componentA.getApiDescription().setRestrictions(null, method, RestrictionModifiers.NO_REFERENCE);
-		IApiSearchScope sourceScope = Factory.newScope(new IApiComponent[]{componentB});
-		IApiSearchEngine engine = Factory.newSearchEngine();
-		IApiSearchCriteria criteria = Factory.newSearchCriteria();
-		criteria.setReferenceKinds(ReferenceModifiers.REF_INTERFACEMETHOD);
-		criteria.setReferencedRestrictions(
-				VisibilityModifiers.ALL_VISIBILITIES,
-				RestrictionModifiers.NO_REFERENCE);
-		IReference[] refs = org.eclipse.pde.api.tools.tests.util.Util.getReferences(
-				engine.search(sourceScope, new IApiSearchCriteria[]{criteria}, null));
-		Set<String> set = new HashSet<String>();
-		for (int i = 0; i < refs.length; i++) {
-			set.add(refs[i].getSourceLocation().getMember().getName());
-		}
-		assertTrue("missing callBaseInterface", set.contains("callBaseInterface"));
-		assertTrue("missing callLeafInterface", set.contains("callLeafInterface"));
-		assertEquals("Wrong number of illegal references", 2, refs.length);
-	}		
-}
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/SearchScopeTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/SearchScopeTests.java
deleted file mode 100644
index ab2bf5e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/reference/tests/SearchScopeTests.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.reference.tests;
-
-import java.util.Collection;
-import java.util.HashSet;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IFieldDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchScope;
-import org.eclipse.pde.api.tools.model.tests.TestSuiteHelper;
-
-/**
- * Tests search scopes.
- * 
- * @since 1.0.0
- */
-public class SearchScopeTests extends TestCase {
-	
-	/**
-	 * Tests that visiting a scope with whole components is the same as visiting
-	 * the components.
-	 * 
-	 * @throws CoreException
-	 */
-	public void testVisitEntireComponentsScope() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentA = profile.getApiComponent("component.a");
-		IApiComponent componentB = profile.getApiComponent("component.b");
-		IApiComponent[] components = new IApiComponent[]{componentA, componentB};
-		IApiSearchScope scope = Factory.newScope(components);
-		Collection<String> expectedPackages = new HashSet<String>();
-		Collection<String> expectedTypes = new HashSet<String>();
-		visit(componentA, expectedPackages, expectedTypes);
-		visit(componentB, expectedPackages, expectedTypes);
-		Collection<String> actualPackages = new HashSet<String>();
-		Collection<String> actualTypes = new HashSet<String>();
-		visit(scope, actualPackages, actualTypes);
-		assertEquals("Different pacakges", expectedPackages, actualPackages);
-		assertEquals("Different types", expectedTypes, actualTypes);
-	}
-
-	/**
-	 * Visits all classes files in the container, add visited packages and types to the
-	 * given collections.
-	 * 
-	 * @param container
-	 * @param packageNames
-	 * @param typeNames
-	 * @throws CoreException 
-	 */
-	private void visit(IClassFileContainer container, final Collection<String> packageNames, final Collection<String> typeNames) throws CoreException {
-		ClassFileContainerVisitor visitor = new ClassFileContainerVisitor() {
-		
-			public boolean visitPackage(String packageName) {
-				packageNames.add(packageName);
-				return true;
-			}
-		
-			public void visit(String packageName, IClassFile classFile) {
-				typeNames.add(classFile.getTypeName());
-			}
-		};
-		container.accept(visitor);
-	}
-
-	/**
-	 * Tests visiting a package scope - package a.b.c in component.a
-	 * 
-	 * @throws CoreException
-	 */
-	public void testVisitPackageScope() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentA = profile.getApiComponent("component.a");
-		IApiSearchScope scope = Factory.newScope(componentA, new IElementDescriptor[]{Factory.packageDescriptor("a.b.c")});
-		final Collection<String> expectedPackages = new HashSet<String>();
-		expectedPackages.add("a.b.c");
-		final Collection<String> expectedTypes = new HashSet<String>();
-		componentA.accept(new ClassFileContainerVisitor() {
-			public boolean visitPackage(String packageName) {
-				return expectedPackages.contains(packageName);
-			}
-			public void visit(String packageName, IClassFile classFile) {
-				expectedTypes.add(classFile.getTypeName());
-			}
-		
-		});
-		Collection<String> actualPackages = new HashSet<String>();
-		Collection<String> actualTypes = new HashSet<String>();
-		visit(scope, actualPackages, actualTypes);
-		assertEquals("Different pacakges", expectedPackages, actualPackages);
-		assertEquals("Different types", expectedTypes, actualTypes);
-	}
-	
-	/**
-	 * Tests visiting a type scope - type A in package component.a in component.a
-	 * 
-	 * @throws CoreException
-	 */
-	public void testVisitTypeScope() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentA = profile.getApiComponent("component.a");
-		IPackageDescriptor pkg = Factory.packageDescriptor("component.a");
-		IReferenceTypeDescriptor type = pkg.getType("A");
-		IApiSearchScope scope = Factory.newScope(componentA, new IElementDescriptor[]{type});
-		Collection<String> expectedPackages = new HashSet<String>();
-		expectedPackages.add("component.a");
-		Collection<String> expectedTypes = new HashSet<String>();
-		expectedTypes.add("component.a.A");
-		Collection<String> actualPackages = new HashSet<String>();
-		Collection<String> actualTypes = new HashSet<String>();
-		visit(scope, actualPackages, actualTypes);
-		assertEquals("Different pacakges", expectedPackages, actualPackages);
-		assertEquals("Different types", expectedTypes, actualTypes);
-	}	
-	
-	/**
-	 * Tests visiting a type scope - method Activator.start(..) in package component.a in component.a
-	 * 
-	 * @throws CoreException
-	 */
-	public void testVisitMethodScope() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentA = profile.getApiComponent("component.a");
-		IPackageDescriptor pkg = Factory.packageDescriptor("component.a");
-		IReferenceTypeDescriptor type = pkg.getType("Activator");
-		IMethodDescriptor method = type.getMethod("start", "(QBundleContext;)V");
-		IApiSearchScope scope = Factory.newScope(componentA, new IElementDescriptor[]{method});
-		Collection<String> expectedPackages = new HashSet<String>();
-		expectedPackages.add("component.a");
-		Collection<String> expectedTypes = new HashSet<String>();
-		expectedTypes.add("component.a.Activator");
-		Collection<String> actualPackages = new HashSet<String>();
-		Collection<String> actualTypes = new HashSet<String>();
-		visit(scope, actualPackages, actualTypes);
-		assertEquals("Different pacakges", expectedPackages, actualPackages);
-		assertEquals("Different types", expectedTypes, actualTypes);
-	}	
-	
-	/**
-	 * Tests that adding a parent scope replaces the child scope - i.e.
-	 * makes the scope wider.
-	 * 
-	 * @throws CoreException
-	 */
-	public void testAddingWiderScope() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentA = profile.getApiComponent("component.a");
-		IPackageDescriptor pkg = Factory.packageDescriptor("component.a");
-		IReferenceTypeDescriptor type = pkg.getType("Activator");
-		IMethodDescriptor method = type.getMethod("start", "(QBundleContext;)V");
-		// and the method and type scopes (type includes method)
-		IApiSearchScope scope = Factory.newScope(componentA, new IElementDescriptor[]{method, type});
-		// scope should now include everything in the type
-		IFieldDescriptor field = type.getField("PLUGIN_ID");
-		assertTrue("Should enclose method", scope.encloses(componentA.getId(), method));
-		assertTrue("Should enclose field", scope.encloses(componentA.getId(), field));
-		assertTrue("Should enclose type", scope.encloses(componentA.getId(), type));
-		assertFalse("Should not enclose package", scope.encloses(componentA.getId(), pkg));
-	}
-	
-	/**
-	 * Tests that a type does not enclose siblings.
-	 * 
-	 * @throws CoreException
-	 */
-	public void testEnclosesSiblingScope() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentA = profile.getApiComponent("component.a");
-		IPackageDescriptor pkg = Factory.packageDescriptor("component.a");
-		IReferenceTypeDescriptor type = pkg.getType("Activator");
-		IReferenceTypeDescriptor typeA = pkg.getType("A");
-		IApiSearchScope scope = Factory.newScope(componentA, new IElementDescriptor[]{type});
-		assertTrue("Should enclose type", scope.encloses(componentA.getId(), type));
-		assertFalse("Should not enclose package", scope.encloses(componentA.getId(), pkg));
-		assertFalse("Should not enclose A", scope.encloses(componentA.getId(), typeA));
-	}
-	
-	/**
-	 * Tests that adding a parent scope encloses its children.
-	 * 
-	 * @throws CoreException
-	 */
-	public void testEnclosesChildrenScope() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentA = profile.getApiComponent("component.a");
-		IPackageDescriptor pkg = Factory.packageDescriptor("component.a");
-		IReferenceTypeDescriptor type = pkg.getType("Activator");
-		IMethodDescriptor method = type.getMethod("start", "(QBundleContext;)V");
-		IApiSearchScope scope = Factory.newScope(componentA, new IElementDescriptor[]{type});
-		// scope should now include everything in the type
-		IFieldDescriptor field = type.getField("PLUGIN_ID");
-		assertTrue("Should enclose method", scope.encloses(componentA.getId(), method));
-		assertTrue("Should enclose field", scope.encloses(componentA.getId(), field));
-	}	
-	
-	/**
-	 * Tests that visiting a scope with two class files.
-	 * 
-	 * @throws CoreException
-	 */
-	public void testVisitSpecificTypes() throws CoreException {
-		IApiProfile profile = TestSuiteHelper.createTestingProfile("test-plugins");
-		IApiComponent componentA = profile.getApiComponent("component.a");
-		Collection<String> expectedPackages = new HashSet<String>();
-		expectedPackages.add("a.b.c");
-		expectedPackages.add("component.a");
-		Collection<String> expectedTypes = new HashSet<String>();
-		IReferenceTypeDescriptor one = Factory.typeDescriptor("a.b.c.Generics");
-		IReferenceTypeDescriptor two = Factory.typeDescriptor("component.a.NoExtendClass");
-		expectedTypes.add(one.getQualifiedName());
-		expectedTypes.add(two.getQualifiedName());
-		IApiSearchScope scope = Factory.newTypeScope(componentA, new IReferenceTypeDescriptor[]{one, two});
-		Collection<String> actualPackages = new HashSet<String>();
-		Collection<String> actualTypes = new HashSet<String>();
-		visit(scope, actualPackages, actualTypes);
-		assertEquals("Different pacakges", expectedPackages, actualPackages);
-		assertEquals("Different types", expectedTypes, actualTypes);
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/AbstractApiTest.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/AbstractApiTest.java
deleted file mode 100644
index c76776b..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/AbstractApiTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.tests;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.ltk.core.refactoring.CreateChangeOperation;
-import org.eclipse.ltk.core.refactoring.PerformChangeOperation;
-import org.eclipse.ltk.core.refactoring.Refactoring;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-
-/**
- * Abstract class with commonly used methods for API Tooling tests
- * 
- * @since 1.0.0 
- */
-public class AbstractApiTest extends TestCase {	
-	
-	/**
-	 * Constant representing the name of the testing project created for plugin tests.
-	 * Value is: <code>APITests</code>.
-	 */
-	protected static final String TESTING_PROJECT_NAME = "APITests";
-	
-	/**
-	 * Constant representing the name of the testing plugin project created for plugin tests.
-	 * Value is: <code>APIPluginTests</code>.
-	 */
-	protected static final String TESTING_PLUGIN_PROJECT_NAME = "APIPluginTests";
-	
-	/**
-	 * Returns the {@link IJavaProject} with the given name. If this method
-	 * is called from a non-plugin unit test, <code>null</code> is always returned.
-	 * @return the {@link IJavaProject} with the given name or <code>null</code>
-	 */
-	protected IJavaProject getTestingJavaProject(String name) {
-		IWorkspace ws = ResourcesPlugin.getWorkspace();
-		if(ws != null) {
-			IProject pro = ws.getRoot().getProject(name);
-			if(pro.exists()) {
-				return JavaCore.create(pro);
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the {@link IApiComponent} for the given project name or <code>null</code> if it does not exist
-	 * @param projectname the name of the project
-	 * @return the {@link IApiComponent} for the given project name or <code>null</code>
-	 */
-	protected IApiComponent getProjectApiComponent(String projectname) {
-		IJavaProject project = getTestingJavaProject(projectname);
-		IApiProfile profile = ApiPlugin.getDefault().getApiProfileManager().getWorkspaceProfile();
-		assertNotNull("the workspace profile must exist", profile);
-		return profile.getApiComponent(project.getElementName());
-	}
-	
-	/**
-	 * Performs the given refactoring
-	 * @param refactoring
-	 * @throws Exception
-	 */
-	protected void performRefactoring(final Refactoring refactoring) throws CoreException {
-		if(refactoring == null) {
-			return;
-		}
-		NullProgressMonitor monitor = new NullProgressMonitor();
-		CreateChangeOperation create= new CreateChangeOperation(refactoring);
-		refactoring.checkFinalConditions(monitor);
-		PerformChangeOperation perform = new PerformChangeOperation(create);
-		ResourcesPlugin.getWorkspace().run(perform, monitor);
-	}
-	
-	/**
-	 * Wait for autobuild notification to occur
-	 */
-	public static void waitForAutoBuild() {
-		boolean wasInterrupted = false;
-		do {
-			try {
-				Job.getJobManager().join(ResourcesPlugin.FAMILY_AUTO_BUILD, null);
-				wasInterrupted = false;
-			} catch (OperationCanceledException e) {
-				e.printStackTrace();
-			} catch (InterruptedException e) {
-				wasInterrupted = true;
-			}
-		} while (wasInterrupted);
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/AllTestSuite.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/AllTestSuite.java
deleted file mode 100644
index d9fb565..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/AllTestSuite.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.tests;
-
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Test suite for all of the API tools test 
- * 
- * @since 1.0.0
- */
-public class AllTestSuite extends TestSuite {
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 * @return the test
-	 */
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllTestSuite.class.getName());
-		suite.addTest(ApiToolsTestSuite.suite());
-		suite.addTest(ApiToolsPluginTestSuite.suite());
-		return suite;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/ApiToolsPluginTestSuite.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/ApiToolsPluginTestSuite.java
deleted file mode 100644
index bd015df..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/ApiToolsPluginTestSuite.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.api.tools.model.tests.ApiFilterStoreTests;
-import org.eclipse.pde.api.tools.problems.tests.ApiProblemTests;
-import org.eclipse.pde.api.tools.util.tests.ApiDescriptionProcessorTests;
-import org.eclipse.pde.api.tools.util.tests.ApiProfileManagerTests;
-import org.eclipse.pde.api.tools.util.tests.PreferencesTests;
-import org.eclipse.pde.api.tools.util.tests.ProjectCreationTests;
-
-
-/**
- * Test suite that is run as a JUnit plugin test
- * 
- * @since 1.0.0
- */
-public class ApiToolsPluginTestSuite extends TestSuite {
-
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 * @return the test
-	 */
-	public static Test suite() {
-		return new ApiToolsPluginTestSuite();
-	}
-	
-	/**
-	 * Constructor
-	 */
-	public ApiToolsPluginTestSuite() {
-		addTest(new TestSuite(ProjectCreationTests.class));
-		addTest(new TestSuite(ApiDescriptionProcessorTests.class));
-		addTest(new TestSuite(PreferencesTests.class));
-		addTest(new TestSuite(ApiProfileManagerTests.class));
-		addTest(new TestSuite(ApiFilterStoreTests.class));
-		addTest(new TestSuite(ApiProblemTests.class));
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/ApiToolsTestSuite.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/ApiToolsTestSuite.java
deleted file mode 100644
index c1db475..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/ApiToolsTestSuite.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.tests;
-
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.api.tools.comparator.tests.AllDeltaTests;
-import org.eclipse.pde.api.tools.model.tests.ApiDescriptionTests;
-import org.eclipse.pde.api.tools.model.tests.ApiProfileTests;
-import org.eclipse.pde.api.tools.model.tests.ClassFileContainerTests;
-import org.eclipse.pde.api.tools.model.tests.ClassFileScannerTests;
-import org.eclipse.pde.api.tools.model.tests.ComponentManifestTests;
-import org.eclipse.pde.api.tools.model.tests.ElementDescriptorTests;
-import org.eclipse.pde.api.tools.model.tests.TagScannerTests;
-import org.eclipse.pde.api.tools.problems.tests.ApiProblemFactoryTests;
-import org.eclipse.pde.api.tools.problems.tests.ApiProblemTests;
-import org.eclipse.pde.api.tools.reference.tests.SearchEngineTests;
-import org.eclipse.pde.api.tools.reference.tests.SearchScopeTests;
-import org.eclipse.pde.api.tools.util.tests.UtilTests;
-
-/**
- * Test suite for all of the API tools test 
- * 
- * @since 1.0.0
- */
-public class ApiToolsTestSuite extends TestSuite {
-
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 * @return the test
-	 */
-	public static Test suite() {
-		return new ApiToolsTestSuite();
-	}
-	
-	/**
-	 * Constructor
-	 */
-	public ApiToolsTestSuite() {
-		addTest(new TestSuite(ApiDescriptionTests.class));
-		addTest(new TestSuite(TagScannerTests.class));
-		addTest(new TestSuite(ComponentManifestTests.class));
-		addTest(new TestSuite(UtilTests.class));
-		addTest(new TestSuite(ApiProfileTests.class));
-		addTest(new TestSuite(ClassFileContainerTests.class));
-		addTest(new TestSuite(ClassFileScannerTests.class));
-		addTest(new TestSuite(ComponentManifestTests.class));
-		addTest(new AllDeltaTests());
-		addTest(new TestSuite(ElementDescriptorTests.class));
-		addTest(new TestSuite(SearchScopeTests.class));
-		addTest(new TestSuite(SearchEngineTests.class));
-		addTest(new TestSuite(ApiProblemTests.class));
-		addTest(new TestSuite(ApiProblemFactoryTests.class));
-		//addTest(new TestSuite(ExportComponentTests.class));
-		/*addTest(new TestSuite(DiscouragedAccessTests.class));*/
-	}	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/util/FileUtils.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/util/FileUtils.java
deleted file mode 100644
index 680f2c9..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/util/FileUtils.java
+++ /dev/null
@@ -1,466 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.tests.util;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.ui.dialogs.IOverwriteQuery;
-import org.eclipse.ui.wizards.datatransfer.FileSystemStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.IImportStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.ImportOperation;
-
-/**
- * Utilities for handling files
- * 
- * @since 1.0.0
- */
-public class FileUtils {
-
-	/**
-	 * Static class for an <code>IOverwriteQuery</code> implementation
-	 */
-	private static class ImportOverwriteQuery implements IOverwriteQuery {
-		/* (non-Javadoc)
-		 * @see org.eclipse.ui.dialogs.IOverwriteQuery#queryOverwrite(java.lang.String)
-		 */
-		public String queryOverwrite(String file) {
-			return ALL;
-		}	
-	}
-	
-    /**
-     * Maximum of time in ms to wait in deletion operation while running JDT/Core tests.
-     * Default is 10 seconds. This number cannot exceed 1 minute (ie. 60000).
-     * <br>
-     * To avoid too many loops while waiting, the ten first ones are done waiting
-     * 10ms before repeating, the ten loops after are done waiting 100ms and
-     * the other loops are done waiting 1s...
-     */
-    public static int DELETE_MAX_WAIT = 10000;
-    
-    /**
-     * Time wasted deleted resources
-     */
-    private static int DELETE_MAX_TIME = 0;
-	
-	/**
-	 * Recursively adds files from the specified directory to the provided list
-	 * @param dir
-	 * @param collection
-	 * @throws IOException
-	 */
-	public static void addJavaFiles(File dir, List collection) throws IOException {
-		File[] files = dir.listFiles();
-		List subDirs = new ArrayList(2);
-		for (int i = 0; i < files.length; i++) {
-			if (files[i].isFile()) {
-				collection.add(files[i]);
-			} else if (files[i].isDirectory()) {
-				subDirs.add(files[i]);
-			}
-		}
-		Iterator iter = subDirs.iterator();
-		while (iter.hasNext()) {
-			File subDir = (File)iter.next();
-			addJavaFiles(subDir, collection);
-		}
-	}
-	
-	/**
-	 * Imports files from the specified root directory into the specified path
-	 * @param rootDir
-	 * @param destPath
-	 * @param monitor
-	 * @throws InvocationTargetException
-	 * @throws IOException
-	 */
-	public static void importFilesFromDirectory(File rootDir, IPath destPath, IProgressMonitor monitor) throws InvocationTargetException, IOException {		
-		IImportStructureProvider structureProvider = FileSystemStructureProvider.INSTANCE;
-		List files = new ArrayList(100);
-		addJavaFiles(rootDir, files);
-		try {
-			ImportOperation op= new ImportOperation(destPath, rootDir, structureProvider, new ImportOverwriteQuery(), files);
-			op.setCreateContainerStructure(false);
-			op.run(monitor);
-		} catch (InterruptedException e) {
-			// should not happen
-		}
-	}
-	
-	/**
-	 * Imports the specified file to the destination path 
-	 * @param file
-	 * @param destPath
-	 * @param monitor
-	 * @throws InvocationTargetException
-	 * @throws IOException
-	 */
-	public static void importFileFromDirectory(File file, IPath destPath, IProgressMonitor monitor) throws CoreException, InvocationTargetException, IOException {		
-		IImportStructureProvider structureProvider = FileSystemStructureProvider.INSTANCE;
-		List files = new ArrayList(1);
-		files.add(file);
-		try {
-			ImportOperation ioperation = new ImportOperation(destPath, file.getParentFile(), structureProvider, new ImportOverwriteQuery(), files);
-			ioperation.setCreateContainerStructure(false);
-			ioperation.run(monitor);
-			IStatus status = ioperation.getStatus();
-			if(!status.isOK()) {
-				throw new CoreException(status);
-			}
-		} catch (InterruptedException e) {
-			// should not happen
-		}
-	}
-	
-	/**
-	 * Creates a new java.io.File at the given path with the given contents
-	 * @param path
-	 * @param contents
-	 * @throws IOException
-	 */
-	public static void createFile(String path, String contents) throws IOException {
-	    FileOutputStream output = new FileOutputStream(path);
-	    try {
-	        output.write(contents.getBytes());
-	    } finally {
-	        output.close();
-	    }
-	}
-	
-	/**
-	 * Delete a file or directory and insure that the file is no longer present
-	 * on file system. In case of directory, delete all the hierarchy underneath.
-	 *
-	 * @param resource The resource to delete
-	 * @return true iff the file was really delete, false otherwise
-	 */
-	public static boolean delete(IResource resource) {
-	    try {
-	        resource.delete(true, null);
-	        if (isResourceDeleted(resource)) {
-	            return true;
-	        }
-	    }
-	    catch (CoreException e) {
-	        //	skip
-	    }
-	    return waitUntilResourceDeleted(resource);
-	}
-	
-	/**
-	 * Delete a file or directory and insure that the file is no longer present
-	 * on file system. In case of directory, delete all the hierarchy underneath.
-	 *
-	 * @param path The path of the file or directory to delete
-	 * @return true iff the file was really delete, false otherwise
-	 */
-	public static boolean delete(String path) {
-	    return org.eclipse.pde.api.tools.internal.util.Util.delete(new File(path));
-	}
-
-	/**
-	 * Flush content of a given directory (leaving it empty),
-	 * no-op if not a directory.
-	 */
-	public static void flushDirectoryContent(File dir) {
-	    File[] files = dir.listFiles();
-	    if (files == null) return;
-	    for (int i = 0, max = files.length; i < max; i++) {
-	    	org.eclipse.pde.api.tools.internal.util.Util.delete(files[i]);
-	    }
-	}
-	
-	/**
-	 * Wait until a resource is _really_ deleted on file system.
-	 *
-	 * @param resource Deleted resource
-	 * @return true if the file was finally deleted, false otherwise
-	 */
-	private static boolean waitUntilResourceDeleted(IResource resource) {
-	    IPath location = resource.getLocation();
-	    if (location == null) {
-	        System.out.println();
-	        System.out.println("	!!! ERROR: "+resource+" getLocation() returned null!!!");
-	        System.out.println();
-	        return false;
-	    }
-	    File file = location.toFile();
-	    int count = 0;
-	    int delay = 10; // ms
-	    int maxRetry = DELETE_MAX_WAIT / delay;
-	    int time = 0;
-	    while (count < maxRetry) {
-	        try {
-	            count++;
-	            Thread.sleep(delay);
-	            time += delay;
-	            if (time > DELETE_MAX_TIME) DELETE_MAX_TIME = time;
-	            if (resource.isAccessible()) {
-	                try {
-	                    resource.delete(true, null);
-	                    if (isResourceDeleted(resource) && org.eclipse.pde.api.tools.internal.util.Util.isFileDeleted(file)) {
-	                        return true;
-	                    }
-	                }
-	                catch (CoreException e) {}
-	            }
-	            if (isResourceDeleted(resource) && org.eclipse.pde.api.tools.internal.util.Util.isFileDeleted(file)) {
-	                return true;
-	            }
-	            // Increment waiting delay exponentially
-	            if (count >= 10 && delay <= 100) {
-	                count = 1;
-	                delay *= 10;
-	                maxRetry = DELETE_MAX_WAIT / delay;
-	                if ((DELETE_MAX_WAIT%delay) != 0) {
-	                    maxRetry++;
-	                }
-	            }
-	        }
-	        catch (InterruptedException ie) {
-	            break; // end loop
-	        }
-	    }
-	    System.out.println();
-	    System.out.println("	!!! ERROR: "+resource+" was never deleted even after having waited "+DELETE_MAX_TIME+"ms!!!");
-	    System.out.println();
-	    return false;
-	}
-	
-	/**
-	 * Returns whether a resource is really deleted or not.
-	 * Does not only rely on {@link IResource#isAccessible()} method but also
-	 * look if it's not in its parent children {@link #getParentChildResource(IResource)}.
-	 *
-	 * @param resource The resource to test if deleted
-	 * @return true if the resource is not accessible and was not found in its parent children.
-	 */
-	public static boolean isResourceDeleted(IResource resource) {
-	    return !resource.isAccessible() && getParentChildResource(resource) == null;
-	}
-	
-	/**
-	 * Reads the content of the given source file.
-	 * 
-	 * Returns null if unable to read given source file.
-	*/
-	public static String readFromFile(String sourceFilePath) throws FileNotFoundException, IOException {
-	    File sourceFile = new File(sourceFilePath);
-	    if (!sourceFile.exists()) {
-	        return null;
-	    }
-	    if (!sourceFile.isFile()) {
-	        return null;
-	    }
-	    StringBuffer sourceContentBuffer = new StringBuffer();
-	    FileInputStream input = null;
-	    input = new FileInputStream(sourceFile);
-	    try {
-	        int read;
-	        do {
-	            read = input.read();
-	            if (read != -1) {
-	                sourceContentBuffer.append((char)read);
-	            }
-	        } while (read != -1);
-	        input.close();
-	    } finally {
-	    	input.close();
-	    }
-	    return sourceContentBuffer.toString();
-	}
-	
-	/**
-	 * Writes the given content string to the output file, specified
-	 * @param contents
-	 * @param destinationFilePath
-	 */
-	public static void writeToFile(String contents, String destinationFilePath) {
-	    File destFile = new File(destinationFilePath);
-	    FileOutputStream output = null;
-	    try {
-	        output = new FileOutputStream(destFile);
-	        PrintWriter writer = new PrintWriter(output);
-	        writer.print(contents);
-	        writer.flush();
-	    } catch (IOException e) {
-	        e.printStackTrace();
-	        return;
-	    } finally {
-	        if (output != null) {
-	            try {
-	                output.close();
-	            } catch (IOException e2) {
-	            }
-	        }
-	    }
-	}
-	
-	/**
-	 * writes a new zip file from all of the files contained in the specified root directory
-	 * @param rootDir
-	 * @param zipPath
-	 * @throws IOException
-	 */
-	public static void zip(File rootDir, String zipPath) throws IOException {
-	    ZipOutputStream zip = null;
-	    try {
-	        File zipFile = new File(zipPath);
-	        if (zipFile.exists()) {
-	        	org.eclipse.pde.api.tools.internal.util.Util.delete(zipFile);
-	        }
-	        zip = new ZipOutputStream(new FileOutputStream(zipFile));
-	        zip(rootDir, zip, rootDir.getPath().length()+1); // 1 for last slash
-	    } finally {
-	        if (zip != null) {
-	            zip.close();
-	        }
-	    }
-	}
-	
-	/**
-	 * Writes all of the zip entries from the given directory to the specified zip output stream
-	 * @param dir
-	 * @param zip
-	 * @param rootPathLength
-	 * @throws IOException
-	 */
-	public static void zip(File dir, ZipOutputStream zip, int rootPathLength) throws IOException {
-	    File[] files = dir.listFiles();
-	    if (files != null) {
-	        for (int i = 0, length = files.length; i < length; i++) {
-	            File file = files[i];
-	            if (file.isFile()) {
-	                String path = file.getPath();
-	                path = path.substring(rootPathLength);
-	                ZipEntry entry = new ZipEntry(path.replace('\\', '/'));
-	                zip.putNextEntry(entry);
-	                zip.write(org.eclipse.jdt.internal.compiler.util.Util.getFileByteContent(file));
-	                zip.closeEntry();
-	            } else {
-	                zip(file, zip, rootPathLength);
-	            }
-	        }
-	    }
-	}
-	
-	/**
-	 * Returns parent's child resource matching the given resource or null if not found.
-	 *
-	 * @param resource The searched file in parent
-	 * @return The parent's child matching the given file or null if not found.
-	 */
-	private static IResource getParentChildResource(IResource resource) {
-	    IContainer parent = resource.getParent();
-	    if (parent == null || !parent.exists()) return null;
-	    try {
-	        IResource[] members = parent.members();
-	        int length = members ==null ? 0 : members.length;
-	        if (length > 0) {
-	            for (int i=0; i<length; i++) {
-	                if (members[i] == resource) {
-	                    return members[i];
-	                } else if (members[i].equals(resource)) {
-	                    return members[i];
-	                } else if (members[i].getFullPath().equals(resource.getFullPath())) {
-	                    return members[i];
-	                }
-	            }
-	        }
-	    }
-	    catch (CoreException ce) {
-	        // skip
-	    }
-	    return null;
-	}
-	
-	/**
-	 * Copy the given source (a file or a directory that must exists) to the given destination (a directory that must exists).
-	 */
-	public static void copyFile(String sourcePath, String destPath) {
-	    sourcePath = org.eclipse.pde.api.tools.internal.util.Util.toNativePath(sourcePath);
-	    destPath = org.eclipse.pde.api.tools.internal.util.Util.toNativePath(destPath);
-	    File source = new File(sourcePath);
-	    if (!source.exists()) return;
-	    File dest = new File(destPath);
-	    if (!dest.exists()) return;
-	    if (source.isDirectory()) {
-	        String[] files = source.list();
-	        if (files != null) {
-	            for (int i = 0; i < files.length; i++) {
-	                String file = files[i];
-	                File sourceFile = new File(source, file);
-	                if (sourceFile.isDirectory()) {
-	                    File destSubDir = new File(dest, file);
-	                    destSubDir.mkdir();
-	                    copyFile(sourceFile.getPath(), destSubDir.getPath());
-	                } else {
-	                    copyFile(sourceFile.getPath(), dest.getPath());
-	                }
-	            }
-	        }
-	    } else {
-	        FileInputStream in = null;
-	        FileOutputStream out = null;
-	        try {
-	            in = new FileInputStream(source);
-	            File destFile = new File(dest, source.getName());
-	            if (destFile.exists()) {
-	                if (!org.eclipse.pde.api.tools.internal.util.Util.delete(destFile)) {
-	                    throw new IOException(destFile + " is in use");
-	                }
-	            }
-	             out = new FileOutputStream(destFile);
-	            int bufferLength = 1024;
-	            byte[] buffer = new byte[bufferLength];
-	            int read = 0;
-	            while (read != -1) {
-	                read = in.read(buffer, 0, bufferLength);
-	                if (read != -1) {
-	                    out.write(buffer, 0, read);
-	                }
-	            }
-	        } catch (IOException e) {
-	            throw new Error(e.toString());
-	        } finally {
-	            if (in != null) {
-	                try {
-	                    in.close();
-	                } catch (IOException e) {
-	                }
-	            }
-	            if (out != null) {
-	                try {
-	                    out.close();
-	                } catch (IOException e) {
-	                }
-	            }
-	        }
-	    }
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/util/ProjectUtils.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/util/ProjectUtils.java
deleted file mode 100644
index 8f79871..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/util/ProjectUtils.java
+++ /dev/null
@@ -1,466 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.tests.util;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.pde.core.build.IBuildEntry;
-import org.eclipse.pde.core.build.IBuildModelFactory;
-import org.eclipse.pde.core.plugin.IFragment;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginLibrary;
-import org.eclipse.pde.internal.core.ICoreConstants;
-import org.eclipse.pde.internal.core.build.WorkspaceBuildModel;
-import org.eclipse.pde.internal.core.bundle.BundlePluginBase;
-import org.eclipse.pde.internal.core.bundle.WorkspaceBundleFragmentModel;
-import org.eclipse.pde.internal.core.bundle.WorkspaceBundlePluginModel;
-import org.eclipse.pde.internal.core.ibundle.IBundle;
-import org.eclipse.pde.internal.core.ibundle.IBundlePluginBase;
-import org.eclipse.pde.internal.core.ibundle.IBundlePluginModelBase;
-import org.eclipse.pde.internal.core.plugin.WorkspaceFragmentModel;
-import org.eclipse.pde.internal.core.plugin.WorkspacePluginModel;
-import org.eclipse.pde.internal.core.plugin.WorkspacePluginModelBase;
-import org.eclipse.pde.internal.ui.wizards.plugin.AbstractFieldData;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.IFragmentFieldData;
-import org.eclipse.pde.ui.IPluginFieldData;
-import org.osgi.framework.Constants;
-
-/**
- * Util class for a variety of project related operations
- * 
- * @since 1.0.0
- */
-public class ProjectUtils {
-	
-	/**
-	 * Class for testing field data for a testing plugin project
-	 */
-	static class TestFieldData implements IFieldData {
-		String pname = null;
-		String srcfolder = null;
-		String binfolder = null;
-		
-		/**
-		 * Constructor
-		 * @param pname
-		 * @param src
-		 * @param bin
-		 */
-		protected TestFieldData(String pname, String src, String bin) {
-			this.pname = pname;
-			this.srcfolder = src;
-			this.binfolder = bin;
-		}
-		
-		public String getId() {return pname;}
-		public String getLibraryName() {return org.eclipse.pde.api.tools.internal.util.Util.getDefaultEEId();}
-		public String getName() {return pname;}
-		public String getOutputFolderName() {return binfolder;}
-		public String getProvider() {return "ibm";}
-		public String getSourceFolderName() {return srcfolder;}
-		public String getVersion() {return "1.0.0";}
-		public boolean hasBundleStructure() {return true;}
-		public boolean isLegacy() {return false;}
-		public boolean isSimple() {return true;}
-		public String getTargetVersion() {return "3.4";}
-	}
-	
-	/**
-	 * Constant representing the name of the output directory for a project.
-	 * Value is: <code>bin</code>
-	 */
-	public static final String BIN_FOLDER = "bin";
-	
-	/**
-	 * Constant representing the name of the source directory for a project.
-	 * Value is: <code>src</code>
-	 */
-	public static final String SRC_FOLDER = "src";
-	
-	/**
-	 * Crate a plugin project with the given name
-	 * @param projectName
-	 * @param additionalNatures
-	 * @return a new plugin project
-	 * @throws CoreException
-	 */
-	public static IJavaProject createPluginProject(String projectName, String[] additionalNatures) throws CoreException {
-		IJavaProject project = createJavaProject(projectName, additionalNatures);
-		IProject proj = project.getProject();
-		//create a manifest file
-		IFieldData data = new TestFieldData(projectName, SRC_FOLDER, BIN_FOLDER);
-		createManifest(proj, data);
-		//create a build.properties file for the project
-		createBuildPropertiesFile(proj, data);
-		return project;
-	}
-
-	/**
-	 * creates a java project with the specified name and additional project natures
-	 * @param projectName
-	 * @param additionalNatures
-	 * @return a new java project
-	 * @throws CoreException
-	 */
-	public static IJavaProject createJavaProject(String projectName, String[] additionalNatures) throws CoreException {
-		IProgressMonitor monitor = new NullProgressMonitor();
-		IProject project = createProject(projectName, monitor);
-		if (!project.hasNature(JavaCore.NATURE_ID)) {
-			addNatureToProject(project, JavaCore.NATURE_ID, monitor);
-		}
-		if(additionalNatures != null) {
-			for(int i = 0; i < additionalNatures.length; i++) {
-				addNatureToProject(project, additionalNatures[i], monitor);
-			}
-		}
-		IJavaProject jproject = JavaCore.create(project);
-		jproject.setOutputLocation(getDefaultProjectOutputLocation(project), monitor);
-		jproject.setRawClasspath(new IClasspathEntry[0], monitor);
-		
-		return jproject;	
-	}
-	
-	/**
-	 * Gets the output location for the given project, creates it if needed
-	 * @param project
-	 * @return the path of the output location for the given project
-	 * @throws CoreException
-	 */
-	public static IPath getDefaultProjectOutputLocation(IProject project) throws CoreException {
-		IFolder binFolder = project.getFolder(BIN_FOLDER);
-		if (!binFolder.exists()) {
-			binFolder.create(false, true, null);
-		}
-		return binFolder.getFullPath();
-	}
-	
-	/**
-	 * Adds a new source container specified by the container name to the source path of the specified project
-	 * @param jproject
-	 * @param containerName
-	 * @return the package fragment root of the container name
-	 * @throws CoreException
-	 */
-	public static IPackageFragmentRoot addSourceContainer(IJavaProject jproject, String containerName) throws CoreException {
-		IProject project = jproject.getProject();
-		IPackageFragmentRoot root = jproject.getPackageFragmentRoot(addFolderToProject(project, containerName));
-		IClasspathEntry cpe = JavaCore.newSourceEntry(root.getPath());
-		addToClasspath(jproject, cpe);
-		return root;
-	}  
-	
-	/**
-	 * Adds a container entry to the specified java project
-	 * @param project
-	 * @param container
-	 * @throws JavaModelException
-	 */
-	public static void addContainerEntry(IJavaProject project, IPath container) throws JavaModelException {
-		IClasspathEntry cpe = JavaCore.newContainerEntry(container, false);
-		addToClasspath(project, cpe);
-	}
-	
-	/**
-	 * Adds a folder with the given name to the specified project
-	 * @param project
-	 * @param name
-	 * @return the new container added to the specified project
-	 * @throws CoreException
-	 */
-	public static IContainer addFolderToProject(IProject project, String name) throws CoreException {
-		IContainer container= null;
-		if (name == null || name.length() == 0) {
-			container = project;
-		} else {
-			IFolder folder = project.getFolder(name);
-			if (!folder.exists()) {
-				folder.create(false, true, null);
-			}
-			container = folder;
-		}
-		return container;
-	}
-	
-	/**
-	 * Adds the specified classpath entry to the specified java project
-	 * @param jproject
-	 * @param cpe
-	 * @throws JavaModelException
-	 */
-	public static void addToClasspath(IJavaProject jproject, IClasspathEntry cpe) throws JavaModelException {
-		boolean found = false;
-		IClasspathEntry[] entries = jproject.getRawClasspath();
-		for (int i = 0; i < entries.length; i++) {
-			if (entriesEqual(entries[i], cpe)) {
-				entries[i] = cpe;
-				found = true;
-			}
-		}
-		if(!found) {
-			int nEntries = entries.length;
-			IClasspathEntry[] newEntries = new IClasspathEntry[nEntries + 1];
-			System.arraycopy(entries, 0, newEntries, 0, nEntries);
-			newEntries[nEntries] = cpe;
-			entries = newEntries;
-		}
-		jproject.setRawClasspath(entries, true, new NullProgressMonitor());
-	}  
-	
-	/**
-	 * Removes the specified entry from the classpath of the specified project
-	 * @param project
-	 * @param entry
-	 * @throws JavaModelException
-	 */
-	public static void removeFromClasspath(IJavaProject project, IClasspathEntry entry) throws JavaModelException {
-		IClasspathEntry[] oldEntries = project.getRawClasspath();
-		ArrayList entries = new ArrayList();
-		for (int i= 0; i < oldEntries.length; i++) {
-			if (!oldEntries[i].equals(entry)) {
-				entries.add(oldEntries[i]);
-			}
-		}
-		if(entries.size() != oldEntries.length) {
-			project.setRawClasspath((IClasspathEntry[])entries.toArray(new IClasspathEntry[entries.size()]), new NullProgressMonitor());
-		}
-	}
-	
-	/**
-	 * Delegate equals method to cover the test cases where we want to insert an updated element 
-	 * and one with the same path/type/kind is already there. 
-	 * @param e1
-	 * @param e2
-	 * @return
-	 */
-	private static boolean entriesEqual(IClasspathEntry e1, IClasspathEntry e2) {
-		return e1.equals(e2) || (e1.getEntryKind() == e2.getEntryKind() && e1.getContentKind() == e2.getContentKind() && e1.getPath().equals(e2.getPath()));
-	}
-	
-	/**
-	 * Creates a project with the given name in the workspace and returns it.
-	 * If a project with the given name exists, it is refreshed and opened (if closed) and returned
-	 * @param projectName
-	 * @param monitor
-	 * @return a project with the given name
-	 * @throws CoreException
-	 */
-	public static IProject createProject(String projectName, IProgressMonitor monitor) throws CoreException {
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		IProject project = root.getProject(projectName);
-		if (!project.exists()) {
-			project.create(null);
-		} else {
-			project.refreshLocal(IResource.DEPTH_INFINITE, monitor);
-		}
-		
-		if (!project.isOpen()) {
-			project.open(monitor);
-		}
-		return project;
-	}
-	
-	/**
-	 * Adds the specified nature to the specified project
-	 * @param proj
-	 * @param natureId
-	 * @param monitor
-	 * @throws CoreException
-	 */
-	public static void addNatureToProject(IProject proj, String natureId, IProgressMonitor monitor) throws CoreException {
-		IProjectDescription description = proj.getDescription();
-		String[] prevNatures= description.getNatureIds();
-		String[] newNatures= new String[prevNatures.length + 1];
-		System.arraycopy(prevNatures, 0, newNatures, 0, prevNatures.length);
-		newNatures[prevNatures.length]= natureId;
-		description.setNatureIds(newNatures);
-		proj.setDescription(description, monitor);
-	}
-	
-	/**
-	 * Creates a build.properties file for the given project
-	 * @param project
-	 * @throws CoreException
-	 */
-	public static void createBuildPropertiesFile(IProject project, final IFieldData data) throws CoreException {
-		IFile file = project.getFile("build.properties"); //$NON-NLS-1$
-		if (!file.exists()) {
-			WorkspaceBuildModel model = new WorkspaceBuildModel(file);
-			IBuildModelFactory factory = model.getFactory();
-		
-			// BIN.INCLUDES
-			IBuildEntry binEntry = factory.createEntry(IBuildEntry.BIN_INCLUDES);
-			fillBinIncludes(project, data, binEntry);
-			createSourceOutputBuildEntries(model, data, factory);
-			model.getBuild().add(binEntry);
-			model.save();
-		}
-	}
-	
-	/**
-	 * Creates the source output build entries for the given model / factory
-	 * @param model
-	 * @param data
-	 * @param factory
-	 * @throws CoreException
-	 */
-	public static void createSourceOutputBuildEntries(WorkspaceBuildModel model, final IFieldData data, IBuildModelFactory factory) throws CoreException {
-		String srcFolder = data.getSourceFolderName();
-		if (!data.isSimple() && srcFolder != null) {
-			String libraryName = data.getLibraryName();
-			if (libraryName == null) {
-				libraryName = "."; //$NON-NLS-1$
-			}
-			// SOURCE.<LIBRARY_NAME>
-			IBuildEntry entry = factory.createEntry(IBuildEntry.JAR_PREFIX+ libraryName);
-			if (srcFolder.length() > 0) {
-				entry.addToken(new Path(srcFolder).addTrailingSeparator().toString());
-			}
-			else {
-				entry.addToken("."); //$NON-NLS-1$
-			}
-			model.getBuild().add(entry);
-
-			// OUTPUT.<LIBRARY_NAME>
-			entry = factory.createEntry(IBuildEntry.OUTPUT_PREFIX + libraryName);
-			String outputFolder = data.getOutputFolderName().trim();
-			if (outputFolder.length() > 0) {
-				entry.addToken(new Path(outputFolder).addTrailingSeparator().toString());
-			}
-			else {
-				entry.addToken("."); //$NON-NLS-1$
-			}
-			model.getBuild().add(entry);
-		}
-	}
-	
-	/**
-	 * Fills in the listing of bin-includes for the build.properties file of the given project
-	 * @param project
-	 * @param binEntry
-	 * @throws CoreException
-	 */
-	private static void fillBinIncludes(IProject project, final IFieldData data, IBuildEntry binEntry) throws CoreException {
-		if (!data.hasBundleStructure()) {
-			binEntry.addToken(data instanceof IFragmentFieldData ? "fragment.xml" : "plugin.xml");
-		}
-		if (data.hasBundleStructure()) {
-			binEntry.addToken("META-INF/"); //$NON-NLS-1$
-		}
-		if (!data.isSimple()) {
-			String libraryName = data.getLibraryName();
-			binEntry.addToken(libraryName == null ? "." : libraryName); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Creates a new manifest.mf file for the given project
-	 * @param project
-	 * @throws CoreException
-	 */
-	public static void createManifest(IProject project, final IFieldData data) throws CoreException {
-		WorkspacePluginModelBase base = null;
-		if (data.hasBundleStructure()) {
-			if (data instanceof IFragmentFieldData) {
-				base = new WorkspaceBundleFragmentModel(project.getFile(ICoreConstants.BUNDLE_FILENAME_DESCRIPTOR), 
-						project.getFile(ICoreConstants.FRAGMENT_FILENAME_DESCRIPTOR));
-			} else {
-				base = new WorkspaceBundlePluginModel(project.getFile(ICoreConstants.BUNDLE_FILENAME_DESCRIPTOR), 
-						project.getFile(ICoreConstants.PLUGIN_FILENAME_DESCRIPTOR));
-			}
-		} else {
-			if (data instanceof IFragmentFieldData) {
-				base = new WorkspaceFragmentModel(project.getFile(ICoreConstants.FRAGMENT_FILENAME_DESCRIPTOR), false);
-			} else {
-				base = new WorkspacePluginModel(project.getFile(ICoreConstants.PLUGIN_FILENAME_DESCRIPTOR), false);
-			}
-		}
-		IPluginBase pluginBase = base.getPluginBase();
-		String targetVersion = ((TestFieldData) data).getTargetVersion();
-		pluginBase.setSchemaVersion(Double.parseDouble(targetVersion) < 3.2 ? "3.0" : "3.2"); //$NON-NLS-1$ //$NON-NLS-2$
-		pluginBase.setId(data.getId());
-		pluginBase.setVersion(data.getVersion());
-		pluginBase.setName(data.getName());
-		pluginBase.setProviderName(data.getProvider());
-		if (base instanceof IBundlePluginModelBase) {
-			IBundlePluginModelBase bmodel = ((IBundlePluginModelBase)base);
-			((IBundlePluginBase)bmodel.getPluginBase()).setTargetVersion(targetVersion);
-			bmodel.getBundleModel().getBundle().setHeader(Constants.BUNDLE_MANIFESTVERSION, "2"); //$NON-NLS-1$
-		}
-		if (pluginBase instanceof IFragment) {
-			IFragment fragment = (IFragment) pluginBase;
-			IFragmentFieldData fdata = (IFragmentFieldData) data;
-			fragment.setPluginId(fdata.getPluginId());
-			fragment.setPluginVersion(fdata.getPluginVersion());
-			fragment.setRule(fdata.getMatch());
-		} 
-		if (!data.isSimple()) {
-			setPluginLibraries(base, data);
-		}
-		// add Bundle Specific fields if applicable
-		if (pluginBase instanceof BundlePluginBase) {
-			IBundle bundle = ((BundlePluginBase)pluginBase).getBundle();
-			if (data instanceof AbstractFieldData) {
-				// Set required EE
-				String exeEnvironment = ((AbstractFieldData)data).getExecutionEnvironment();
-				if(exeEnvironment != null) {
-					bundle.setHeader(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, exeEnvironment);
-				}
-			} 
-			if (data instanceof IPluginFieldData && ((IPluginFieldData)data).doGenerateClass()) {
-				if (targetVersion.equals("3.1")) //$NON-NLS-1$
-					bundle.setHeader(ICoreConstants.ECLIPSE_AUTOSTART, "true"); //$NON-NLS-1$
-				else 
-					bundle.setHeader(ICoreConstants.ECLIPSE_LAZYSTART, "true"); //$NON-NLS-1$
-			}
-		} 
-		if(base != null) {
-			base.save();
-		}
-	}
-	
-	/**
-	 * Sets the library information from the field data into the model; creates a new library if needed
-	 * @param model
-	 * @throws CoreException
-	 */
-	public static void setPluginLibraries(WorkspacePluginModelBase model, final IFieldData data) throws CoreException {
-		String libraryName = data.getLibraryName();
-		if (libraryName == null && !data.hasBundleStructure()) {
-			libraryName = "."; //$NON-NLS-1$
-		}
-		if (libraryName != null) {
-			IPluginLibrary library = model.getPluginFactory().createLibrary();
-			library.setName(libraryName);
-			library.setExported(!data.hasBundleStructure());
-			model.getPluginBase().add(library);
-		}
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/util/Util.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/util/Util.java
deleted file mode 100644
index a0352a3..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/tests/util/Util.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Nina Rinskaya
- *     		Fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=172820.
- *******************************************************************************/
-package org.eclipse.pde.api.tools.tests.util;
-
-import java.io.IOException;
-import java.net.ServerSocket;
-
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchResult;
-import org.eclipse.pde.api.tools.internal.provisional.search.IReference;
-
-/**
- * Utility methods for api tools test suite
- * @since 1.0.0
- */
-public class Util {
-	
-	/**
-	 * Returns the next available port number on the local host.
-	 */
-	public static int getFreePort() {
-	    ServerSocket socket = null;
-	    try {
-	        socket = new ServerSocket(0);
-	        return socket.getLocalPort();
-	    } catch (IOException e) {
-	        // ignore
-	    } finally {
-	        if (socket != null) {
-	            try {
-	                socket.close();
-	            } catch (IOException e) {
-	                // ignore
-	            }
-	        }
-	    }
-	    return -1;
-	}
-	
-	/**
-	 * Returns all references in the given search results.
-	 * 
-	 * @param results
-	 * @return
-	 */
-	public static IReference[] getReferences(IApiSearchResult[] results) {
-		if (results.length == 1) {
-			return results[0].getReferences();
-		}
-		if (results.length == 0) {
-			return new IReference[0];
-		}
-		int size = 0;
-		for (int i = 0; i < results.length; i++) {
-			IApiSearchResult result = results[i];
-			size += result.getReferences().length;
-		}
-		IReference[] refs = new IReference[size];
-		int index = 0;
-		for (int i = 0; i < results.length; i++) {
-			IApiSearchResult result = results[i];
-			IReference[] references = result.getReferences();
-			System.arraycopy(references, 0, refs, index, references.length);
-			index = index + references.length;
-		}
-		return refs;
-	}
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/AbstractApiEventWaiter.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/AbstractApiEventWaiter.java
deleted file mode 100644
index 50fe3a2..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/AbstractApiEventWaiter.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.util.tests;
-
-/**
- * Abstract class for Api tooling event waiters to extend
- * @since 1.0.0
- */
-public abstract class AbstractApiEventWaiter {
-
-	final int DEFAULT_TIMEOUT = 15000;
-	private Object fEvent = null;
-	
-	/**
-	 * Begins waiting for an acceptable event 
-	 * @return the source of the event or <code>null</code> if the waiter times out
-	 * or is interrupted
-	 */
-	public synchronized Object waitForEvent() {
-		if(fEvent == null) {
-			try {
-				wait(DEFAULT_TIMEOUT);
-			}
-			catch(InterruptedException e) {
-				System.err.println("Thread interrupted waiting for element changed event");
-			}
-		}
-		unregister();
-		if(fEvent == null) {
-			return null;
-		}
-		return fEvent;
-	}
-	
-	/**
-	 * Sets the current received event
-	 * @param event
-	 */
-	protected void setEvent(Object event) {
-		fEvent = event;
-	}
-	
-	/**
-	 * Disconnects the waiter from whatever it is waiting on
-	 */
-	protected abstract void unregister();
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/ApiDescriptionProcessorTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/ApiDescriptionProcessorTests.java
deleted file mode 100644
index f049877..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/ApiDescriptionProcessorTests.java
+++ /dev/null
@@ -1,371 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.util.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTParser;
-import org.eclipse.jdt.core.dom.ASTVisitor;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.FieldDeclaration;
-import org.eclipse.jdt.core.dom.Javadoc;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jdt.core.dom.TagElement;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jdt.core.dom.VariableDeclarationFragment;
-import org.eclipse.ltk.core.refactoring.CompositeChange;
-import org.eclipse.ltk.core.refactoring.TextFileChange;
-import org.eclipse.pde.api.tools.internal.provisional.scanner.ApiDescriptionProcessor;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.eclipse.pde.api.tools.model.tests.TestSuiteHelper;
-import org.eclipse.pde.api.tools.tests.AbstractApiTest;
-import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
-import org.eclipse.pde.api.tools.ui.internal.wizards.ApiToolingSetupRefactoring;
-import org.eclipse.pde.api.tools.ui.internal.wizards.WizardMessages;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.text.edits.TextEdit;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * This class tests the {@link ApiDescriptionProcessor}
- * 
- * @since 1.0.0
- */
-public class ApiDescriptionProcessorTests extends AbstractApiTest {
-
-	/**
-	 * Visitor used to inspect the 'after' class files once they have had tags
-	 * added to ensure the tags as specified in the component.xml file were
-	 * added.
-	 */
-	class ChangeVisitor extends ASTVisitor {
-		String type, membername, signature, innertypename;
-
-		String[] expectedtags = null;
-		boolean processed = false;
-		/**
-		 * Constructor
-		 * 
-		 * @param type
-		 * @param membername
-		 * @param signature
-		 */
-		public ChangeVisitor(String type, String innertypename, String membername, String signature, String[] expectedtags) {
-			this.type = type;
-			this.membername = membername;
-			this.signature = signature;
-			this.expectedtags = expectedtags;
-			this.innertypename = innertypename;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.FieldDeclaration)
-		 */
-		public boolean visit(FieldDeclaration node) {
-			if (signature != null) {
-				// means we are looking for a method
-				return false;
-			}
-			List fields = node.fragments();
-			VariableDeclarationFragment fragment = null;
-			for(Iterator iter = fields.iterator(); iter.hasNext();) {
-				fragment = (VariableDeclarationFragment) iter.next();
-				if(fragment.getName().getFullyQualifiedName().equals(membername)) {
-					Javadoc docnode = node.getJavadoc();
-					assertNotNull("the field: "+membername+" must have a javadoc node", docnode);
-					assertTrue("the field: "+membername+" should contain all of the tags: "+ getStringValue(expectedtags), containsAllTags(docnode.tags()));
-					processed = true;
-				}
-			}
-			return false;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.MethodDeclaration)
-		 */
-		public boolean visit(MethodDeclaration node) {
-			if(node.getName().getFullyQualifiedName().equals(membername)) {
-				String sig = Util.getMethodSignatureFromNode(node);
-				if(signature.equals(sig)) {
-					Javadoc docnode = node.getJavadoc();
-					assertNotNull("the method: "+membername+" ["+signature+"] must have a javadoc node", docnode);
-					assertTrue("the method: "+membername+" ["+signature+"] should contain all of the tags: " + getStringValue(expectedtags), containsAllTags(docnode.tags()));
-					processed = true;
-				}
-			}
-			return false;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.TypeDeclaration)
-		 */
-		public boolean visit(TypeDeclaration node) {
-			if(membername == null && signature == null) {
-				String name = node.getName().getFullyQualifiedName(); 
-				if((innertypename == null && name.equals(type)) || name.equals(innertypename)) {
-					Javadoc docnode = node.getJavadoc();
-					assertNotNull("the type: "+name+" must have a javadoc node", docnode);
-					assertTrue("the type: "+name+" should contain all of the tags: " + getStringValue(expectedtags), containsAllTags(docnode.tags()));
-					processed = true;
-				}
-			}
-			return membername != null || innertypename != null;
-		}
-		
-		/**
-		 * Determines if the listing of doc tags from the declaration contains all of the expected tags
-		 * @param tags
-		 * @return true if the tag list contains all of the expected tags, false otherwise
-		 */
-		private boolean containsAllTags(List tags) {
-			boolean allfound = true;
-			TagElement element = null;
-			for(int i = 0; i < expectedtags.length; i++) {
-				boolean contained = false;
-				for(int j = 0; j < tags.size(); j++) {
-					element = (TagElement) tags.get(j);
-					if(expectedtags[i].equals(element.getTagName())) {
-						contained = true;
-					}
-				}
-				allfound &= contained;
-			}
-			return allfound;
-		}
-		
-		private String getStringValue(String[] tags) {
-			StringBuffer buffer = new StringBuffer();
-			for (int i = 0, max = tags.length; i < max; i++) {
-				if (i > 0) {
-					buffer.append(',');
-				}
-				buffer.append(tags[i]);
-			}
-			return String.valueOf(buffer);
-		}
-	}
-
-	private static IPath ROOT_PATH = TestSuiteHelper.getPluginDirectoryPath().append("test-source").append("javadoc");
-	private static File componentxml = new File(ROOT_PATH.append("component.xml").toOSString());
-	private static IJavaProject project = null;
-
-	/**
-	 * Tests that the component.xml file is parsed if it is provided in one of
-	 * the doc'd three forms:
-	 * <ol>
-	 * <li>a directory containing the component.xml file</li>
-	 * <li>a component.xml file</li>
-	 * <li>a jar file containing the component.xml file</li>
-	 * </ol>
-	 */
-	public void testSerializeComponentXml() {
-		String xml = ApiDescriptionProcessor.serializeComponentXml(new File(ROOT_PATH.toOSString()));
-		assertNotNull("The component xml file must exist and be parsable from a root directory", xml);
-		xml = ApiDescriptionProcessor.serializeComponentXml(componentxml);
-		assertNotNull("The component xml file must exist and be parsable from a component.xml file", xml);
-		xml = ApiDescriptionProcessor.serializeComponentXml(new File(ROOT_PATH.append("component.jar").toOSString()));
-		assertNotNull("The component xml file must exist and be parsable from a jar file", xml);
-	}
-
-	/**
-	 * Tests getting the java project to use with these tests
-	 */
-	public void testGetTestingProject() {
-		project = getTestingJavaProject(TESTING_PROJECT_NAME);
-		assertNotNull("the testing project must not be null", project);
-		assertNotNull("the testing project must exist", project.exists());
-	}
-
-	/**
-	 * Tests the actual updating process, it should not fail
-	 */
-	public void testProcessUpdate() {
-		try {
-			ApiToolingSetupRefactoring refactoring = new ApiToolingSetupRefactoring();
-			CompositeChange change = new CompositeChange("Test");
-			createTagChanges(change, project, componentxml);
-			refactoring.addChange(change);
-			performRefactoring(refactoring);
-		}
-		catch (CoreException e) {
-			fail(e.getMessage());
-		} 
-	}
-	
-	/**
-	 * Creates all of the text edit changes collected from the processor. The collected edits are arranged as multi-edits 
-	 * for the one file that they belong to
-	 * @param projectchange
-	 * @param project
-	 * @param cxml
-	 */
-	private void createTagChanges(CompositeChange projectchange, IJavaProject project, File cxml) {
-		try {
-			HashMap map = new HashMap();
-			ApiDescriptionProcessor.collectTagUpdates(project, cxml, map);
-			IFile file = null;
-			TextFileChange change = null;
-			MultiTextEdit multiedit = null;
-			HashSet alledits = null;
-			TextEdit edit = null;
-			for(Iterator iter = map.keySet().iterator(); iter.hasNext();) {
-				file = (IFile) iter.next();
-				change = new TextFileChange(MessageFormat.format(WizardMessages.JavadocTagRefactoring_2, new String[] {file.getName()}), file);
-				multiedit = new MultiTextEdit();
-				change.setEdit(multiedit);
-				alledits = (HashSet)map.get(file);
-				if(alledits != null) {
-					for(Iterator iter2 = alledits.iterator(); iter2.hasNext();) {
-						edit = (TextEdit) iter2.next();
-						multiedit.addChild(edit);
-					}
-				}
-				if(change != null) {
-					projectchange.add(change);
-				}
-			}
-		}
-		catch (CoreException e) {
-			ApiUIPlugin.log(e);
-		} 
-		catch (IOException e) {
-			ApiUIPlugin.log(e);
-		}
-	}
-	
-	/**
-	 * Processes the change from original to updated
-	 * 
-	 * @param typename the name of the type to query
-	 * @param membername the name of the member
-	 * @param signature the signature of the member
-	 * @param the tags we expect to see
-	 */
-	protected void processUpdatedItem(String typename, String innertypename, String membername, String signature, String[] expectedtags) {
-		try {
-			IType type = project.findType("javadoc", typename);
-			assertNotNull("the type for javadoc." + typename + " must exist", type);
-			ASTParser parser = ASTParser.newParser(AST.JLS3);
-			parser.setSource(type.getCompilationUnit());
-			CompilationUnit cunit = (CompilationUnit) parser.createAST(new NullProgressMonitor());
-			ChangeVisitor visitor = new ChangeVisitor(typename, innertypename, membername, signature, expectedtags); 
-			cunit.accept(visitor);
-			assertTrue("the specified node should have been processed", visitor.processed);
-		} catch (JavaModelException jme) {
-			fail("the test class javadoc." + typename + " had problems loading");
-		}
-	}
-
-	/**
-	 * Tests the addition of a javadoc tag to a class. Uses
-	 * <code>JavadocTestClass1</code>
-	 */
-	public void testProcessClassAddition() {
-		processUpdatedItem("JavadocTestClass1", null, null, null, new String[] {"@noinstantiate"});
-	}
-
-	/**
-	 * Tests the addition of a javadoc tag to a class that does not have a
-	 * javadoc section yet Uses <code>JavadocTestClass7</code>
-	 */
-	public void testProcessClassAdditionNoDocElement() {
-		processUpdatedItem("JavadocTestClass7", null, null, null, new String[] {"@noextend", "@noinstantiate"});
-	}
-
-	/**
-	 * Tests the addition of a javadoc tag to a method that does not have a
-	 * javadoc section yet Uses <code>JavadocTestClass7</code>
-	 */
-	public void testProcessMethodAdditionNoDocElement() {
-		processUpdatedItem("JavadocTestClass7", null, "m1", "()V", new String[] {"@noextend"});
-	}
-
-	/**
-	 * Tests the addition of a javadoc tag to a field that does not have a
-	 * javadoc section yet Uses <code>JavadocTestClass7</code>
-	 */
-	public void testProcessFieldAdditionNoDocElement() {
-		processUpdatedItem("JavadocTestClass7", null, "f1", null, new String[] {"@noreference"});
-	}
-	
-	/**
-	 * Tests the addition of a javadoc tag to an inner class. Uses
-	 * <code>JavadocTestClass2</code>
-	 */
-	public void testProcessInnerClassAddition() {
-		processUpdatedItem("JavadocTestClass2", "Inner", null, null, new String[] {"@noinstantiate"});
-	}
-
-	/**
-	 * Tests the addition of a javadoc tags to methods. Uses
-	 * <code>JavadocTestClass3</code>
-	 */
-	public void testProcessMethodAddition() {
-		processUpdatedItem("JavadocTestClass3", null, "m1", "()V", new String[] {"@noextend"});
-		processUpdatedItem("JavadocTestClass3", null, "m2", "()V", new String[] {"@noreference"});
-	}
-
-	/**
-	 * Tests the addition of a javadoc tags to fields. Uses
-	 * <code>JavadocTestClass4</code>
-	 */
-	public void testProcessFieldAddition() {
-		processUpdatedItem("JavadocTestClass4", null, "f1", null, new String[] {"@noreference"});
-		processUpdatedItem("JavadocTestClass4", null, "f2", null, new String[] {"@noreference"});
-	}
-
-	/**
-	 * Tests the addition of a javadoc tags to methods in inner classes. Uses
-	 * <code>JavadocTestClass6</code>
-	 */
-	public void testProcessInnerMethodAddition() {
-		processUpdatedItem("JavadocTestClass6", "Inner2", "m1", "()V", new String[] {"@noextend"});
-		processUpdatedItem("JavadocTestClass6", "Inner2", "m2", "()V", new String[] {"@noreference"});
-	}
-
-	/**
-	 * Tests the addition of a javadoc tags to fields in inner classes. Uses
-	 * <code>JavadocTestClass5</code>
-	 */
-	public void testProcessInnerFieldAddition() {
-		processUpdatedItem("JavadocTestClass5", "Inner2", "f1", null, new String[] {"@noreference"});
-		processUpdatedItem("JavadocTestClass5", "Inner2", "f2", null, new String[] {"@noreference"});
-	}
-	
-	/**
-	 * Tests that the old 'subclass' attribute is correctly resolved to 'noextend' restriction for tag updating.
-	 * Tests the case of bug 210786 (https://bugs.eclipse.org/bugs/show_bug.cgi?id=210786)
-	 * Uses <code>JavadocTestClass8</code> 
-	 */
-	public void testProcessSubclassAttribute() {
-		processUpdatedItem("JavadocTestClass8", null, null, null, new String[] {"@noextend"});
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/ApiProfileManagerTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/ApiProfileManagerTests.java
deleted file mode 100644
index fd45f81..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/ApiProfileManagerTests.java
+++ /dev/null
@@ -1,958 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.util.tests;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.filebuffers.ITextFileBufferManager;
-import org.eclipse.core.filebuffers.LocationKind;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaElementDelta;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTParser;
-import org.eclipse.jdt.core.dom.ASTVisitor;
-import org.eclipse.jdt.core.dom.BodyDeclaration;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.FieldDeclaration;
-import org.eclipse.jdt.core.dom.Javadoc;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jdt.core.dom.TagElement;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jdt.core.dom.VariableDeclarationFragment;
-import org.eclipse.jdt.core.dom.rewrite.ASTRewrite;
-import org.eclipse.jdt.core.dom.rewrite.ListRewrite;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.pde.api.tools.internal.ApiProfileManager;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfileManager;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.eclipse.pde.api.tools.model.tests.TestSuiteHelper;
-import org.eclipse.pde.api.tools.tests.AbstractApiTest;
-import org.eclipse.pde.api.tools.tests.util.FileUtils;
-import org.eclipse.pde.api.tools.tests.util.ProjectUtils;
-import org.eclipse.pde.core.build.IBuildEntry;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.PluginRegistry;
-import org.eclipse.pde.internal.core.PluginModelDelta;
-import org.eclipse.pde.internal.core.build.WorkspaceBuildModel;
-import org.eclipse.pde.internal.core.bundle.WorkspaceBundleModel;
-import org.eclipse.pde.internal.core.natures.PDE;
-import org.eclipse.text.edits.MalformedTreeException;
-import org.eclipse.text.edits.TextEdit;
-import org.osgi.framework.Constants;
-
-/**
- * Tests the {@link ApiProfileManager} without the framework running
- */
-public class ApiProfileManagerTests extends AbstractApiTest {
-
-	class SourceChangeVisitor extends ASTVisitor {
-		String name = null;
-		String signature = null;
-		String tagname = null;
-		ASTRewrite rewrite = null;
-		boolean remove = false;
-		
-		public SourceChangeVisitor(String name, String signature, String tagname, boolean remove, ASTRewrite rewrite) {
-			this.name = name;
-			this.signature = signature;
-			this.tagname = tagname;
-			this.rewrite = rewrite;
-			this.remove = remove;
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.FieldDeclaration)
-		 */
-		public boolean visit(FieldDeclaration node) {
-			if(signature != null) {
-				return false;
-			}
-			List fields = node.fragments();
-			VariableDeclarationFragment fragment = null;
-			for(Iterator iter = fields.iterator(); iter.hasNext();) {
-				fragment = (VariableDeclarationFragment) iter.next();
-				if(fragment.getName().getFullyQualifiedName().equals(name)) {
-					break;
-				}
-			}
-			if(fragment != null) {
-				updateTag(node);
-			}
-			return false;
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.MethodDeclaration)
-		 */
-		public boolean visit(MethodDeclaration node) {
-			if(name.equals(node.getName().getFullyQualifiedName())) {
-				if(signature.equals(Util.getMethodSignatureFromNode(node))) {
-					updateTag(node);
-				}
-			}
-			return false;
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.TypeDeclaration)
-		 */
-		public boolean visit(TypeDeclaration node) {
-			if(name.equals(node.getName().getFullyQualifiedName())) {
-				updateTag(node);
-				return false;
-			}
-			return true;
-		}
-		/**
-		 * Updates a javadoc tag, by either adding a new one or removing
-		 * an existing one
-		 * @param body
-		 */
-		private void updateTag(BodyDeclaration body) {
-			Javadoc docnode = body.getJavadoc();
-			AST ast = body.getAST();
-			if(docnode == null) {
-				docnode = ast.newJavadoc();
-				rewrite.set(body, body.getJavadocProperty(), docnode, null);
-			}
-			ListRewrite lrewrite = rewrite.getListRewrite(docnode, Javadoc.TAGS_PROPERTY);
-			if(remove) {
-				List tags = (List) docnode.getStructuralProperty(Javadoc.TAGS_PROPERTY);
-				if(tags != null) {
-					TagElement tag = null;
-					for(int i = 0 ; i < tags.size(); i++) {
-						tag = (TagElement) tags.get(i);
-						if(tagname.equals(tag.getTagName())) {
-							lrewrite.remove(tag, null);
-						}
-					}
-				}
-			}
-			else {
-				TagElement newtag = ast.newTagElement();
-				newtag.setTagName(tagname);
-				lrewrite.insertLast(newtag, null);
-			}
-		}
-	}
-	
-	private IPath SRC_LOC = TestSuiteHelper.getPluginDirectoryPath().append("test-source").append("a").append("b").append("c");
-	private IPath PLUGIN_LOC = TestSuiteHelper.getPluginDirectoryPath().append("test-plugins");
-	private IApiProfileManager fPMmanager = ApiPlugin.getDefault().getApiProfileManager();
-	private static IJavaProject fProject = null;
-	private static IPackageFragmentRoot fSrcroot = null;
-	
-	/**
-	 * @return the {@link IApiDescription} for the testing project
-	 */
-	private IApiDescription getTestProjectApiDescription()  throws CoreException {
-		IApiProfile profile = getWorkspaceProfile();
-		assertNotNull("the workspace profile must exist", profile);
-		IApiComponent component = profile.getApiComponent(TESTING_PLUGIN_PROJECT_NAME);
-		if(component != null) {
-			return component.getApiDescription();
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the workspace profile.
-	 * 
-	 * @return workspace profile
-	 */
-	private IApiProfile getWorkspaceProfile() {
-		return fPMmanager.getWorkspaceProfile();
-	}
-	
-	/**
-	 * Creates and returns a test profile with the given id. Also adds it to the profile manager
-	 * 
-	 * @param id
-	 * @return
-	 */
-	protected IApiProfile getTestProfile(String id) {
-		IApiProfile profile = null;
-		profile = Factory.newApiProfile(id);
-		fPMmanager.addApiProfile(profile);
-		return profile;
-	}
-	
-	/**
-	 * Tests trying to get the workspace profile without the framework running 
-	 */
-	public void testGetWorkspaceComponent() {
-		IApiProfile profile = getWorkspaceProfile();
-		assertTrue("the workspace profile must not be null", profile != null);
-	}
-	
-	/**
-	 * Tests that an api profile can be added and retrieved successfully 
-	 */
-	public void testAddProfile() {
-		IApiProfile profile = getTestProfile("addtest");
-		assertTrue("the test profile must have been created", profile != null);
-		profile = fPMmanager.getApiProfile("addtest");
-		assertTrue("the testadd profile must be in the manager", profile != null);
-	}
-	
-	/**
-	 * Tests that an api profile can be added/removed successfully
-	 */
-	public void testRemoveProfile() {
-		IApiProfile profile = getTestProfile("removetest");
-		assertTrue("the testremove profile must exist", profile != null);
-		profile = fPMmanager.getApiProfile("removetest");
-		assertTrue("the testremove profile must be in the manager", profile != null);
-		assertTrue("the testremove profile should have been removed", fPMmanager.removeApiProfile("removetest"));
-	}
-	
-	/**
-	 * Tests that the default profile can be set/retrieved
-	 */
-	public void testSetDefaultProfile() {
-		IApiProfile profile = getTestProfile("testdefault");
-		assertTrue("the testdefault profile must exist", profile != null);
-		fPMmanager.setDefaultApiProfile("testdefault");
-		profile = fPMmanager.getDefaultApiProfile();
-		assertTrue("the default profile must be the testdefault profile", profile != null);
-	}
-	
-	/**
-	 * Tests that all profiles added to the manager can be retrieved
-	 */
-	public void testGetAllProfiles() {
-		getTestProfile("three");
-		IApiProfile[] profiles = fPMmanager.getApiProfiles();
-		assertTrue("there should be three profiles", profiles.length == 3);
-	}
-	
-	/**
-	 * Tests that all of the profiles have been removed
-	 */
-	public void testCleanUfPMmanager() {
-		assertTrue("the testadd profile should have been removed", fPMmanager.removeApiProfile("addtest"));
-		assertTrue("the testdefault profile should have been removed", fPMmanager.removeApiProfile("testdefault"));
-		assertTrue("the three profile should have been removed", fPMmanager.removeApiProfile("three"));
-	}
-	
-	/**
-	 * Tests creating a modifiable project, and making sure it is added to the workspace
-	 * profile
-	 * 
-	 * @throws CoreException
-	 */
-	public void testWPUpdateProjectCreation() throws CoreException {
-		NullProgressMonitor monitor = new NullProgressMonitor();
-		// delete any pre-existing project
-        IProject pro = ResourcesPlugin.getWorkspace().getRoot().getProject(TESTING_PLUGIN_PROJECT_NAME);
-        if (pro.exists()) {
-            pro.delete(true, true, monitor);
-        }
-        JavaModelEventWaiter waiter = new JavaModelEventWaiter(TESTING_PLUGIN_PROJECT_NAME, IJavaElementDelta.ADDED, 0, IJavaElement.JAVA_PROJECT);
-        // create project and import source
-        fProject = ProjectUtils.createPluginProject(TESTING_PLUGIN_PROJECT_NAME, new String[] {PDE.PLUGIN_NATURE, ApiPlugin.NATURE_ID});
-        Object obj = waiter.waitForEvent();
-        assertNotNull("the added event was not received", obj);
-        assertNotNull("The java project must have been created", fProject);
-        fSrcroot = ProjectUtils.addSourceContainer(fProject, ProjectUtils.SRC_FOLDER);
-        assertNotNull("the src root must have been created", fSrcroot);
-        IPackageFragment fragment = fSrcroot.createPackageFragment("a.b.c", true, monitor);
-		assertNotNull("the package fragment a.b.c cannot be null", fragment);
-        
-        // add rt.jar
-        IVMInstall vm = JavaRuntime.getDefaultVMInstall();
-        assertNotNull("No default JRE", vm);
-        ProjectUtils.addContainerEntry(fProject, new Path(JavaRuntime.JRE_CONTAINER));
-        IApiProfile profile = getWorkspaceProfile();
-        assertNotNull("the workspace profile cannot be null", profile);
-        IApiComponent component = profile.getApiComponent(TESTING_PLUGIN_PROJECT_NAME);
-        assertNotNull("the test project api component must exist in the workspace profile", component);
-	}
-	
-	/**
-	 * Tests that closing an api aware project causes the workspace description to be updated
-	 */
-	public void testWPUpdateProjectClosed() {
-		try {
-			assertNotNull("the workspace profile must not be null", getWorkspaceProfile());
-			IApiComponent component  = getWorkspaceProfile().getApiComponent(TESTING_PLUGIN_PROJECT_NAME);
-			assertNotNull("the change project api component must exist in the workspace profile", component);
-			JavaModelEventWaiter waiter = new JavaModelEventWaiter(TESTING_PLUGIN_PROJECT_NAME, IJavaElementDelta.CHANGED, IJavaElementDelta.F_CLOSED, IJavaElement.JAVA_PROJECT);
-			fProject.getProject().close(new NullProgressMonitor());
-			//might need a waiter to ensure the model changed event has been processed
-			Object obj = waiter.waitForEvent();
-			assertNotNull("the closed event was not received", obj);
-			component = getWorkspaceProfile().getApiComponent(TESTING_PLUGIN_PROJECT_NAME);
-			assertNull("the test project api component should no longer exist in the workspace profile", component);
-		} catch (CoreException e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Tests that opening an api aware project causes the workspace description to be updated
-	 */
-	public void testWPUpdateProjectOpen() {
-		try {
-			JavaModelEventWaiter waiter = new JavaModelEventWaiter(TESTING_PLUGIN_PROJECT_NAME, IJavaElementDelta.CHANGED, IJavaElementDelta.F_OPENED, IJavaElement.JAVA_PROJECT);
-			fProject.getProject().open(new NullProgressMonitor());
-			Object obj = waiter.waitForEvent();
-			assertNotNull("the opened event was not received", obj);
-			IApiProfile profile = getWorkspaceProfile();
-			assertNotNull("the workspace profile must not be null", profile);
-			IApiComponent component = profile.getApiComponent(TESTING_PLUGIN_PROJECT_NAME);
-			assertNotNull("the test project api component must exist in the workspace profile", component);
-		} catch (CoreException e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Tests that adding a source file to an api aware project causes the workspace description
-	 * to be updated
-	 * This test adds <code>a.b.c.TestClass1</code> to the plugin project
-	 */
-	public void testWPUpdateSourceAdded() {
-		try {
-			IPackageFragment fragment = fSrcroot.getPackageFragment("a.b.c");
-			JavaModelEventWaiter waiter = new JavaModelEventWaiter("TestClass1.java", IJavaElementDelta.ADDED, 0, IJavaElement.COMPILATION_UNIT);
-			FileUtils.importFileFromDirectory(SRC_LOC.append("TestClass1.java").toFile(), fragment.getPath(), new NullProgressMonitor());
-			Object obj = waiter.waitForEvent();
-			assertNotNull("the added event for the compilation unit was not received", obj);
-			IApiDescription desc = getTestProjectApiDescription();
-			assertNotNull("the testing project api description must exist", desc);
-			IApiAnnotations annot = desc.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass1"));
-			assertNotNull("the annotations for a.b.c.TestClass1 cannot be null", annot);
-			assertTrue("there must be a noinstantiate setting for TestClass1", annot.getRestrictions() == RestrictionModifiers.NO_INSTANTIATE);
-		} catch (InvocationTargetException e) {
-			fail(e.getMessage());
-		} catch (IOException e) {
-			fail(e.getMessage());
-		} catch (CoreException e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Tests that removing a source file from an api aware project causes the workspace description
-	 * to be updated
-	 */
-	public void testWPUpdateSourceRemoved() {
-		try {
-			IJavaElement element = fProject.findElement(new Path("a/b/c/TestClass1.java"));
-			assertNotNull("the class a.b.c.TestClass1 must exist in the project", element);
-			JavaModelEventWaiter waiter = new JavaModelEventWaiter("TestClass1.java", IJavaElementDelta.REMOVED, 0, IJavaElement.COMPILATION_UNIT);
-			element.getResource().delete(true, new NullProgressMonitor());
-			Object obj = waiter.waitForEvent();
-			assertNotNull("the removed event for the compilation unit was not received", obj);
-			IApiDescription desc = getTestProjectApiDescription();
-			assertNotNull("the testing project api description must exist", desc);
-			IApiAnnotations annot = desc.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass1"));
-			assertNull("the annotations for a.b.c.TestClass1 should no longer be present", annot);
-		} catch (JavaModelException e) {
-			fail(e.getMessage());
-		} catch (CoreException e) {
-			fail(e.getMessage());
-		}
-		
-	}
-	
-	/**
-	 * Adds the specified tag to the source member defined by the member name and signature
-	 * @param unit
-	 * @param membername
-	 * @param signature
-	 * @param tagname
-	 * @param remove
-	 * @throws CoreException
-	 * @throws MalformedTreeException
-	 * @throws BadLocationException
-	 */
-	private void updateTagInSource(ICompilationUnit unit, String membername, String signature, String tagname, boolean remove) throws CoreException, MalformedTreeException, BadLocationException {
-		ASTParser parser = ASTParser.newParser(AST.JLS3);
-		parser.setSource(unit);
-		CompilationUnit cunit = (CompilationUnit) parser.createAST(new NullProgressMonitor());
-		assertNotNull("the ast compilation unit cannot be null", cunit);
-		cunit.recordModifications();
-		ASTRewrite rewrite = ASTRewrite.create(cunit.getAST());
-		cunit.accept(new SourceChangeVisitor(membername, signature, tagname, remove, rewrite));
-		ITextFileBufferManager bm = FileBuffers.getTextFileBufferManager(); 
-		IPath path = cunit.getJavaElement().getPath(); 
-		try {
-			bm.connect(path, LocationKind.IFILE, null);
-			ITextFileBuffer tfb = bm.getTextFileBuffer(path, LocationKind.IFILE);
-			IDocument document = tfb.getDocument(); 
-			TextEdit edits = rewrite.rewriteAST(document, null);
-			edits.apply(document);
-			tfb.commit(new NullProgressMonitor(), true);
-		} finally {
-			bm.disconnect(path, LocationKind.IFILE, null);
-		}
-		waitForAutoBuild();
-	}
-	
-	/**
-	 * Tests that making javadoc changes to the source file TestClass2 cause the workspace profile to be 
-	 * updated. 
-	 * 
-	 * This test adds a @noinstatiate tag to the source file TestClass2
-	 */
-	public void testWPUpdateSourceTypeChanged() {
-		try {			
-			NullProgressMonitor monitor = new NullProgressMonitor();
-			IPackageFragment fragment = fSrcroot.getPackageFragment("a.b.c");
-			FileUtils.importFileFromDirectory(SRC_LOC.append("TestClass2.java").toFile(), fragment.getPath(), monitor);
-			JavaModelEventWaiter waiter = new JavaModelEventWaiter("TestClass2.java", IJavaElementDelta.CHANGED, IJavaElementDelta.F_CONTENT | IJavaElementDelta.F_PRIMARY_RESOURCE, IJavaElement.COMPILATION_UNIT);
-			ICompilationUnit element = (ICompilationUnit) fProject.findElement(new Path("a/b/c/TestClass2.java"));
-			assertNotNull("TestClass2 must exist in the test project", element);
-			updateTagInSource(element, "TestClass2", null, "@noinstantiate", false);
-			Object obj = waiter.waitForEvent();
-			assertNotNull("the content changed event for the compilation unit was not received", obj);
-			IApiDescription desc = getTestProjectApiDescription();
-			assertNotNull("the testing project api description must exist", desc);
-			IApiAnnotations annot = desc.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass2"));
-			assertNotNull("the annotations for a.b.c.TestClass2 cannot be null", annot);
-			assertTrue("there must be a noinstantiate setting for TestClass2", (annot.getRestrictions() & RestrictionModifiers.NO_INSTANTIATE) != 0);
-			assertTrue("there must be a noextend setting for TestClass2", (annot.getRestrictions() & RestrictionModifiers.NO_EXTEND) != 0);
-		}
-		catch(CoreException e) {
-			fail(e.getMessage());
-		} catch (InvocationTargetException e) {
-			fail(e.getMessage());
-		} catch (IOException e) {
-			fail(e.getMessage());
-		} catch(BadLocationException e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Tests that tags updated on an inner type are updated in the workspace description.
-	 * 
-	 * This test adds a @noinstantiate tag to an inner class in TestClass3
-	 */
-	public void testWPUpdateSourceInnerTypeChanged() {
-		try {
-			NullProgressMonitor monitor = new NullProgressMonitor();
-			IPackageFragment fragment = fSrcroot.getPackageFragment("a.b.c");
-			FileUtils.importFileFromDirectory(SRC_LOC.append("TestClass3.java").toFile(), fragment.getPath(), monitor);
-			JavaModelEventWaiter waiter = new JavaModelEventWaiter("TestClass3.java", IJavaElementDelta.CHANGED, IJavaElementDelta.F_CONTENT | IJavaElementDelta.F_PRIMARY_RESOURCE, IJavaElement.COMPILATION_UNIT);
-			ICompilationUnit element = (ICompilationUnit) fProject.findElement(new Path("a/b/c/TestClass3.java"));
-			assertNotNull("TestClass3 must exist in the test project", element);
-			updateTagInSource(element, "InnerTestClass3", null, "@noinstantiate", false);
-			Object obj = waiter.waitForEvent();
-			assertNotNull("the content changed event for the compilation unit was not received", obj);
-			IApiDescription desc = getTestProjectApiDescription();
-			assertNotNull("the testing project api description must exist", desc);
-			IApiAnnotations annot = desc.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass3$InnerTestClass3"));
-			assertNotNull("the annotations for a.b.c.TestClass3$InnerTestClass3 cannot be null", annot);
-			assertTrue("there must be a noinstantiate setting for TestClass3$InnerTestClass3", (annot.getRestrictions() & RestrictionModifiers.NO_INSTANTIATE) != 0);
-			assertTrue("there must be a noextend setting for TestClass3$InnerTestClass3", (annot.getRestrictions() & RestrictionModifiers.NO_EXTEND) != 0);
-		}
-		catch (InvocationTargetException e) {
-			fail(e.getMessage());
-		} catch (IOException e) {
-			fail(e.getMessage());
-		} catch (JavaModelException e) {
-			fail(e.getMessage());
-		} catch (MalformedTreeException e) {
-			fail(e.getMessage());
-		} catch (CoreException e) {
-			fail(e.getMessage());
-		} catch (BadLocationException e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Tests that changing the javadoc for a method updates the workspace profile
-	 * 
-	 * This test adds a @noextend tag to the method foo() in TestClass1
-	 */
-	public void testWPUpdateSourceMethodChanged() {
-		try {
-			NullProgressMonitor monitor = new NullProgressMonitor();
-			IPackageFragment fragment = fSrcroot.getPackageFragment("a.b.c");
-			FileUtils.importFileFromDirectory(SRC_LOC.append("TestClass1.java").toFile(), fragment.getPath(), monitor);
-			JavaModelEventWaiter waiter = new JavaModelEventWaiter("TestClass1.java", IJavaElementDelta.CHANGED, IJavaElementDelta.F_CONTENT | IJavaElementDelta.F_PRIMARY_RESOURCE, IJavaElement.COMPILATION_UNIT);
-			ICompilationUnit element = (ICompilationUnit) fProject.findElement(new Path("a/b/c/TestClass1.java"));
-			assertNotNull("TestClass1 must exist in the test project", element);
-			updateTagInSource(element, "foo", "()V", "@noextend", false);
-			Object obj = waiter.waitForEvent();
-			assertNotNull("the content changed event for the compilation unit was not received", obj);
-			IApiDescription desc = getTestProjectApiDescription();
-			assertNotNull("the testing project api description must exist", desc);
-			IApiAnnotations annot = desc.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestClass1", "foo", "()V"));
-			assertNotNull("the annotations for foo() cannot be null", annot);
-			assertTrue("there must be a noextend setting for foo()", (annot.getRestrictions() & RestrictionModifiers.NO_EXTEND) != 0);
-		}
-		catch (InvocationTargetException e) {
-			fail(e.getMessage());
-		} catch (IOException e) {
-			fail(e.getMessage());
-		} catch (JavaModelException e) {
-			fail(e.getMessage());
-		} catch (MalformedTreeException e) {
-			fail(e.getMessage());
-		} catch (CoreException e) {
-			fail(e.getMessage());
-		} catch (BadLocationException e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Tests that changing the javadoc for a field updates the workspace profile
-	 * 
-	 * This test adds a @noextend tag to the field 'field' in TestField9
-	 */
-	public void testWPUpdateSourceFieldChanged() {
-		try {
-			NullProgressMonitor monitor = new NullProgressMonitor();
-			IPackageFragment fragment = fSrcroot.getPackageFragment("a.b.c");
-			FileUtils.importFileFromDirectory(SRC_LOC.append("TestField9.java").toFile(), fragment.getPath(), monitor);
-			JavaModelEventWaiter waiter = new JavaModelEventWaiter("TestField9.java", IJavaElementDelta.CHANGED, IJavaElementDelta.F_CONTENT | IJavaElementDelta.F_PRIMARY_RESOURCE, IJavaElement.COMPILATION_UNIT);
-			ICompilationUnit element = (ICompilationUnit) fProject.findElement(new Path("a/b/c/TestField9.java"));
-			assertNotNull("TestField9 must exist in the test project", element);
-			updateTagInSource(element, "field", null, "@noreference", false);
-			Object obj = waiter.waitForEvent();
-			assertNotNull("the content changed event for the compilation unit was not received", obj);
-			IApiDescription desc = getTestProjectApiDescription();
-			assertNotNull("the testing project api description must exist", desc);
-			IApiAnnotations annot = desc.resolveAnnotations(null, Factory.fieldDescriptor("a.b.c.TestField9", "field"));
-			assertNotNull("the annotations for 'field' cannot be null", annot);
-			assertTrue("there must be a noreference setting for 'field'", (annot.getRestrictions() & RestrictionModifiers.NO_REFERENCE) != 0);
-		}
-		catch (InvocationTargetException e) {
-			fail(e.getMessage());
-		} catch (IOException e) {
-			fail(e.getMessage());
-		} catch (JavaModelException e) {
-			fail(e.getMessage());
-		} catch (MalformedTreeException e) {
-			fail(e.getMessage());
-		} catch (CoreException e) {
-			fail(e.getMessage());
-		} catch (BadLocationException e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Tests that removing a tag from a method updates the workspace profile
-	 * 
-	 * This test removes a @noextend tag to the method foo() in TestClass1
-	 */
-	public void testWPUpdateSourceMethodRemoveTag() {
-		try {
-			JavaModelEventWaiter waiter = new JavaModelEventWaiter("TestClass1.java", IJavaElementDelta.CHANGED, IJavaElementDelta.F_CONTENT | IJavaElementDelta.F_PRIMARY_RESOURCE, IJavaElement.COMPILATION_UNIT);
-			ICompilationUnit element = (ICompilationUnit) fProject.findElement(new Path("a/b/c/TestClass1.java"));
-			assertNotNull("TestClass1 must exist in the test project", element);
-			updateTagInSource(element, "foo", "()V", "@noextend", true);
-			Object obj = waiter.waitForEvent();
-			assertNotNull("the content changed event for the compilation unit was not received", obj);
-			IApiDescription desc = getTestProjectApiDescription();
-			assertNotNull("the testing project api description must exist", desc);
-			IApiAnnotations annot = desc.resolveAnnotations(null, Factory.methodDescriptor("a.b.c.TestClass1", "foo", "()V"));
-			assertNotNull("the annotations for foo() cannot be null", annot);
-			assertTrue("there must be no restrictions for foo()", annot.getRestrictions() == 0);
-		}
-		catch (JavaModelException e) {
-			fail(e.getMessage());
-		} catch (MalformedTreeException e) {
-			fail(e.getMessage());
-		} catch (CoreException e) {
-			fail(e.getMessage());
-		} catch (BadLocationException e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Tests that removing a tag from a type updates the workspace profile
-	 * 
-	 * This test removes a @noinstantiate tag to an inner class in TestClass3
-	 */
-	public void testWPUpdateSourceTypeRemoveTag() {
-		try {
-			JavaModelEventWaiter waiter = new JavaModelEventWaiter("TestClass3.java", IJavaElementDelta.CHANGED, IJavaElementDelta.F_CONTENT | IJavaElementDelta.F_PRIMARY_RESOURCE, IJavaElement.COMPILATION_UNIT);
-			ICompilationUnit element = (ICompilationUnit) fProject.findElement(new Path("a/b/c/TestClass3.java"));
-			assertNotNull("TestClass3 must exist in the test project", element);
-			updateTagInSource(element, "InnerTestClass3", null, "@noinstantiate", true);
-			Object obj = waiter.waitForEvent();
-			assertNotNull("the content changed event for the compilation unit was not received", obj);
-			IApiDescription desc = getTestProjectApiDescription();
-			assertNotNull("the testing project api description must exist", desc);
-			IApiAnnotations annot = desc.resolveAnnotations(null, Factory.typeDescriptor("a.b.c.TestClass3$InnerTestClass3"));
-			assertNotNull("the annotations for 'InnerTestClass3' cannot be null", annot);
-			assertTrue("there must be a no restrictions for 'InnerTestClass3'", (annot.getRestrictions() & RestrictionModifiers.NO_INSTANTIATE) == 0);
-		}
-		catch (JavaModelException e) {
-			fail(e.getMessage());
-		} catch (MalformedTreeException e) {
-			fail(e.getMessage());
-		} catch (CoreException e) {
-			fail(e.getMessage());
-		} catch (BadLocationException e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Tests that removing a tag from a field updates the workspace profile
-	 * 
-	 * This test adds a @noextend tag to the field 'field' in TestField9
-	 */
-	public void testWPUpdateSourceFieldRemoveTag() {
-		try {
-			JavaModelEventWaiter waiter = new JavaModelEventWaiter("TestField9.java", IJavaElementDelta.CHANGED, IJavaElementDelta.F_CONTENT | IJavaElementDelta.F_PRIMARY_RESOURCE, IJavaElement.COMPILATION_UNIT);
-			ICompilationUnit element = (ICompilationUnit) fProject.findElement(new Path("a/b/c/TestField9.java"));
-			assertNotNull("TestField9 must exist in the test project", element);
-			updateTagInSource(element, "field", null, "@noreference", true);
-			Object obj = waiter.waitForEvent();
-			assertNotNull("the content changed event for the compilation unit was not received", obj);
-			IApiDescription desc = getTestProjectApiDescription();
-			assertNotNull("the testing project api description must exist", desc);
-			IApiAnnotations annot = desc.resolveAnnotations(null, Factory.fieldDescriptor("a.b.c.TestField9", "field"));
-			assertNotNull("the annotations for 'field' cannot be null", annot);
-			assertTrue("there must be a no restrictions for 'field'", annot.getRestrictions() == 0);
-		}
-		catch (JavaModelException e) {
-			fail(e.getMessage());
-		} catch (MalformedTreeException e) {
-			fail(e.getMessage());
-		} catch (CoreException e) {
-			fail(e.getMessage());
-		} catch (BadLocationException e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Tests that a library added to the build and bundle class path of a project causes the 
-	 * class file containers for the project to need to be recomputed
-	 * @throws IOException 
-	 * @throws InvocationTargetException 
-	 * @throws CoreException 
-	 */
-	public void testWPUpdateLibraryAddedToClasspath() throws InvocationTargetException, IOException, CoreException {
-		try {
-			IFolder folder = fProject.getProject().getFolder("libx");
-			folder.create(false, true, null);
-			FileUtils.importFileFromDirectory(PLUGIN_LOC.append("component.a_1.0.0.jar").toFile(), folder.getFullPath(), null);
-			IPath libPath = folder.getFullPath().append("component.a_1.0.0.jar");
-			IClasspathEntry entry = JavaCore.newLibraryEntry(libPath, null, null);
-			IApiComponent component = getWorkspaceProfile().getApiComponent(fProject.getElementName());
-			assertNotNull("the workspace component must exist", component);
-			int before  = component.getClassFileContainers().length;
-			// add to classpath
-			JavaModelEventWaiter waiter = new JavaModelEventWaiter("component.a_1.0.0.jar", IJavaElementDelta.CHANGED, IJavaElementDelta.F_ADDED_TO_CLASSPATH, IJavaElement.PACKAGE_FRAGMENT_ROOT);
-			ProjectUtils.addToClasspath(fProject, entry);
-			Object obj = waiter.waitForEvent();
-			assertNotNull("the event for class path addition not received", obj);
-			// add to manifest bundle classpath
-			IPluginModelBase model = PluginRegistry.findModel(fProject.getProject());
-			assertNotNull("the plugin model for the testing project must exist", model);
-			IFile file = (IFile) model.getUnderlyingResource();
-			assertNotNull("the underlying model file must exist", file);
-			WorkspaceBundleModel manifest = new WorkspaceBundleModel(file);
-			manifest.getBundle().setHeader(Constants.BUNDLE_CLASSPATH, ".," + libPath.removeFirstSegments(1).toString());
-			PluginModelEventWaiter waiter2 = new PluginModelEventWaiter(PluginModelDelta.CHANGED);
-			manifest.save();
-			Object object = waiter2.waitForEvent();
-			assertNotNull("the event for manifest modification was not received", object);
-			// re-retrieve updated component
-			component = getWorkspaceProfile().getApiComponent(fProject.getElementName());
-			assertTrue("there must be more containers after the addition", before < component.getClassFileContainers().length);
-		}
-		catch(JavaModelException e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Tests removing a library from the classpath of a project
-	 */
-	public void testWPUpdateLibraryRemovedFromClasspath() {
-		try {
-			IFile lib = fProject.getProject().getFolder("libx").getFile("component.a_1.0.0.jar");
-			IClasspathEntry entry = JavaCore.newLibraryEntry(lib.getFullPath(), null, null);
-			IApiComponent component = getWorkspaceProfile().getApiComponent(fProject.getElementName());
-			assertNotNull("the workspace component must exist", component);
-			int before  = component.getClassFileContainers().length;
-			// remove classpath entry
-			JavaModelEventWaiter waiter = new JavaModelEventWaiter("component.a_1.0.0.jar", IJavaElementDelta.CHANGED, IJavaElementDelta.F_REMOVED_FROM_CLASSPATH, IJavaElement.PACKAGE_FRAGMENT_ROOT);
-			ProjectUtils.removeFromClasspath(fProject, entry);
-			Object obj = waiter.waitForEvent();
-			assertNotNull("the added event for the package fragment was not received", obj);
-			// remove from bundle class path
-			IPluginModelBase model = PluginRegistry.findModel(fProject.getProject());
-			assertNotNull("the plugin model for the testing project must exist", model);
-			IFile file = (IFile) model.getUnderlyingResource();
-			assertNotNull("the underlying model file must exist", file);
-			WorkspaceBundleModel manifest = new WorkspaceBundleModel(file);
-			manifest.getBundle().setHeader(Constants.BUNDLE_CLASSPATH, ".");
-			PluginModelEventWaiter waiter2 = new PluginModelEventWaiter(PluginModelDelta.CHANGED);
-			manifest.save();
-			Object object = waiter2.waitForEvent();
-			assertNotNull("the event for the manifest modification was not received", object);
-			// retrieve updated component
-			component = getWorkspaceProfile().getApiComponent(fProject.getElementName());
-			assertTrue("there must be more containers after the addition", before > component.getClassFileContainers().length);
-		}
-		catch(JavaModelException e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Tests that changing the output folder settings for a project cause the class file containers 
-	 * to be updated
-	 */
-	public void testWPUpdateDefaultOutputFolderChanged() {
-		try {
-			IContainer container = ProjectUtils.addFolderToProject(fProject.getProject(), "bin2");
-			assertNotNull("the new output folder cannot be null", container);
-			JavaModelEventWaiter waiter = new JavaModelEventWaiter(TESTING_PLUGIN_PROJECT_NAME, IJavaElementDelta.CHANGED, IJavaElementDelta.F_CONTENT | IJavaElementDelta.F_RESOLVED_CLASSPATH_CHANGED | IJavaElementDelta.F_CLASSPATH_CHANGED, IJavaElement.JAVA_PROJECT);
-			IApiComponent component = getWorkspaceProfile().getApiComponent(fProject.getElementName());
-			assertNotNull("the workspace component must exist", component);
-			int before  = component.getClassFileContainers().length;
-			fProject.setOutputLocation(container.getFullPath(), new NullProgressMonitor());
-			Object obj = waiter.waitForEvent();
-			assertNotNull("the changed event for the project (classpath) was not received", obj);
-			assertTrue("there must be the same number of containers after the change", before == component.getClassFileContainers().length);
-			assertTrue("the new output location should be 'bin2'", "bin2".equalsIgnoreCase(fProject.getOutputLocation().toFile().getName()));
-		}
-		catch(CoreException e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Tests that the output folder settings for a source folder cause the class file containers to 
-	 * be updated
-	 */
-	public void testWPUpdateOutputFolderSrcFolderChanged() {
-		try {
-			IContainer container = ProjectUtils.addFolderToProject(fProject.getProject(), "bin3");
-			assertNotNull("the new output location cannot be null", container);
-			IPackageFragmentRoot src2 = ProjectUtils.addSourceContainer(fProject, "src2");
-			assertNotNull("the new source folder cannot be null", src2);
-			assertNull("the default output location should be 'bin2' (implicit as null)", src2.getRawClasspathEntry().getOutputLocation());
-			IClasspathEntry entry = JavaCore.newSourceEntry(src2.getPath(), new IPath[]{}, container.getFullPath());
-			JavaModelEventWaiter waiter = new JavaModelEventWaiter("src2", IJavaElementDelta.CHANGED, IJavaElementDelta.F_ADDED_TO_CLASSPATH | IJavaElementDelta.F_REMOVED_FROM_CLASSPATH, IJavaElement.PACKAGE_FRAGMENT_ROOT);
-			IApiComponent component = getWorkspaceProfile().getApiComponent(fProject.getElementName());
-			assertNotNull("the workspace component must exist", component);
-			int before  = component.getClassFileContainers().length;
-			ProjectUtils.addToClasspath(fProject, entry);
-			Object obj = waiter.waitForEvent();
-			assertNotNull("the changed event for the package fragment root (classpath) was not received", obj);
-			// add to bundle class path
-			IPluginModelBase model = PluginRegistry.findModel(fProject.getProject());
-			assertNotNull("the plugin model for the testing project must exist", model);
-			IFile file = (IFile) model.getUnderlyingResource();
-			assertNotNull("the underlying model file must exist", file);
-			WorkspaceBundleModel manifest = new WorkspaceBundleModel(file);
-			manifest.getBundle().setHeader(Constants.BUNDLE_CLASSPATH, ".,next.jar");
-			PluginModelEventWaiter waiter2 = new PluginModelEventWaiter(PluginModelDelta.CHANGED);
-			manifest.save();
-			Object object = waiter2.waitForEvent();
-			assertNotNull("the event for manifest modification was not received", object);
-			// add to build.properties
-			WorkspaceBuildModel prop = new WorkspaceBuildModel(fProject.getProject().getFile("build.properties"));
-			IBuildEntry newEntry = prop.getFactory().createEntry("source.next.jar");
-			newEntry.addToken("src2/");
-			prop.getBuild().add(newEntry);
-			PluginModelEventWaiter waiter3 = new PluginModelEventWaiter(PluginModelDelta.CHANGED);
-			prop.save();
-			Object object3 = waiter3.waitForEvent();
-			assertNotNull("the event for biuld.properties modification was not received", object3);
-			// retrieve updated component
-			component = getWorkspaceProfile().getApiComponent(fProject.getElementName());
-			assertTrue("there must be one more container after the change", before < component.getClassFileContainers().length);
-			assertTrue("the class file container for src2 must be 'bin3'", "bin3".equals(src2.getRawClasspathEntry().getOutputLocation().toFile().getName()));
-		}
-		catch(CoreException e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Tests that adding a package does not update the workspace profile
-	 */
-	public void testWPUpdatePackageAdded() {
-		try {
-			JavaModelEventWaiter waiter = new JavaModelEventWaiter("x.y.z", IJavaElementDelta.ADDED, 0, IJavaElement.PACKAGE_FRAGMENT);
-			fSrcroot.createPackageFragment("x.y.z", true, new NullProgressMonitor());
-			Object obj = waiter.waitForEvent();
-			assertNotNull("the added event for the package fragment was not received", obj);
-			IApiDescription desc = getTestProjectApiDescription();
-			assertNotNull("the testing project api description must exist", desc);
-			IApiAnnotations annot = desc.resolveAnnotations(null, Factory.packageDescriptor("x.y.z"));
-			assertNotNull("the annotations for package 'x.y.z' should exist", annot);
-		}
-		catch (JavaModelException e) {
-			fail(e.getMessage());
-		} catch (MalformedTreeException e) {
-			fail(e.getMessage());
-		} catch (CoreException e) {
-			fail(e.getMessage());
-		} 
-	}
-	
-	/**
-	 * Tests that removing a package updates the workspace profile
-	 * This test removes the a.b.c package being used in all tests thus far,
-	 * and should be run last
-	 */
-	public void testWPUpdatePackageRemoved() {
-		try {
-			JavaModelEventWaiter waiter = new JavaModelEventWaiter("a.b.c", IJavaElementDelta.REMOVED, 0, IJavaElement.PACKAGE_FRAGMENT);
-			IPackageFragment fragment = fSrcroot.getPackageFragment("a.b.c");
-			assertNotNull("the package a.b.c must exist", fragment);
-			fragment.delete(true, new NullProgressMonitor());
-			Object obj = waiter.waitForEvent();
-			assertNotNull("the removed event for the package fragment was not received", obj);
-			IApiDescription desc = getTestProjectApiDescription();
-			assertNotNull("the testing project api description must exist", desc);
-			IApiAnnotations annot = desc.resolveAnnotations(null, Factory.packageDescriptor("a.b.c"));
-			assertNull("the annotations for package 'a.b.c' should not exist", annot);
-		}
-		catch (JavaModelException e) {
-			fail(e.getMessage());
-		} catch (MalformedTreeException e) {
-			fail(e.getMessage());
-		} catch (CoreException e) {
-			fail(e.getMessage());
-		} 
-	}
-	
-	/**
-	 * Tests that an exported package addition in the PDE model is reflected in the workspace
-	 * api profile
-	 */
-	public void testWPUpdateExportPackageAdded() {
-		try {
-			IPackageFragment fragment = fSrcroot.createPackageFragment("export1", true, new NullProgressMonitor());
-			assertNotNull("the new package 'export1' must exist", fragment);
-			setPackageToApi("export1");
-			IApiAnnotations annot = getTestProjectApiDescription().resolveAnnotations(null, Factory.packageDescriptor("export1"));
-			assertNotNull("there must be an annotation for the new exported package", annot);
-			assertTrue("the newly exported package must be API visibility", annot.getVisibility() == VisibilityModifiers.API);
-		}
-		catch(JavaModelException e) {
-			fail(e.getMessage());
-		} catch (CoreException e) {
-			fail(e.getMessage());
-		}
-		
-	}
-	
-	/**
-	 * Tests that changing a directive to x-internal on an exported package causes the workspace 
-	 * api profile to be updated
-	 */
-	public void testWPUPdateExportPackageDirectiveChangedToInternal() {
-		try {
-			IPluginModelBase model = PluginRegistry.findModel(fProject.getProject());
-			assertNotNull("the plugin model for the testing project must exist", model);
-			IFile file = (IFile) model.getUnderlyingResource();
-			assertNotNull("the underlying model file must exist", file);
-			WorkspaceBundleModel newmodel = new WorkspaceBundleModel(file);
-			newmodel.getBundle().setHeader(Constants.EXPORT_PACKAGE, "export1;x-internal:=true");
-			PluginModelEventWaiter waiter = new PluginModelEventWaiter(PluginModelDelta.CHANGED);
-			newmodel.save();
-			Object object = waiter.waitForEvent();
-			assertNotNull("the changed event for the exported package change was not received", object);
-			IApiAnnotations annot = getTestProjectApiDescription().resolveAnnotations(null, Factory.packageDescriptor("export1"));
-			assertNotNull("there must be an annotation for the new exported package", annot);
-			assertTrue("the changed exported package must be PRIVATE visibility", annot.getVisibility() == VisibilityModifiers.PRIVATE);
-		}
-		catch(CoreException e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Tests that an exported package removal in the PDE model is reflected in the workspace
-	 * api profile
-	 */
-	public void testWPUpdateExportPackageRemoved() {
-		try {
-			setPackageToApi("export1");
-			IApiAnnotations annot = getTestProjectApiDescription().resolveAnnotations(null, Factory.packageDescriptor("export1"));
-			assertNotNull("there must be an annotation for the new exported package", annot);
-			assertTrue("the newly exported package must be API visibility", annot.getVisibility() == VisibilityModifiers.API);
-			IPluginModelBase model = PluginRegistry.findModel(fProject.getProject());
-			assertNotNull("the plugin model for the testing project must exist", model);
-			IFile file = (IFile) model.getUnderlyingResource();
-			assertNotNull("the underlying model file must exist", file);
-			WorkspaceBundleModel newmodel = new WorkspaceBundleModel(file);
-			newmodel.getBundle().setHeader(Constants.EXPORT_PACKAGE, null);
-			PluginModelEventWaiter waiter = new PluginModelEventWaiter(PluginModelDelta.CHANGED);
-			newmodel.save();
-			Object object = waiter.waitForEvent();
-			assertNotNull("the changed event for the exported package change was not received", object);
-			annot = getTestProjectApiDescription().resolveAnnotations(null, Factory.packageDescriptor("export1"));
-			assertNotNull("should still be an annotation for the package", annot);
-			assertTrue("unexported package must be private", VisibilityModifiers.isPrivate(annot.getVisibility()));
-		}
-		catch(CoreException e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * sets the given package name to be an Exported-Package
-	 * @param name
-	 */
-	private void setPackageToApi(String name) {
-		IPluginModelBase model = PluginRegistry.findModel(fProject.getProject());
-		assertNotNull("the plugin model for the testing project must exist", model);
-		IFile file = (IFile) model.getUnderlyingResource();
-		assertNotNull("the underlying model file must exist", file);
-		WorkspaceBundleModel newmodel = new WorkspaceBundleModel(file);
-		newmodel.getBundle().setHeader(Constants.EXPORT_PACKAGE, "export1");
-		PluginModelEventWaiter waiter = new PluginModelEventWaiter(PluginModelDelta.CHANGED);
-		newmodel.save();
-		Object object = waiter.waitForEvent();
-		assertNotNull("the changed event for the exported package change was not received", object);
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/JavaModelEventWaiter.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/JavaModelEventWaiter.java
deleted file mode 100644
index 758cc1f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/JavaModelEventWaiter.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.util.tests;
-
-import org.eclipse.jdt.core.ElementChangedEvent;
-import org.eclipse.jdt.core.IElementChangedListener;
-import org.eclipse.jdt.core.IJavaElementDelta;
-import org.eclipse.jdt.core.JavaCore;
-
-/**
- * This class will cause the current thread to wait for an acceptable java model event
- * to be received.
- * This waiter automatically registers itself as an element changed listener when it is created,
- * and removes itself once an acceptable event has been received; meaning it can only be used to
- * wait for one event.
- * @since 1.0.0
- */
-public class JavaModelEventWaiter extends AbstractApiEventWaiter implements IElementChangedListener {
-
-	int fDKind = -1;
-	int fDDetails = -1;
-	int fElementType = -1;
-	String fElementName = null;
-	
-	/**
-	 * Constructor
-	 * @param elementname
-	 * @param deltakind
-	 * @param deltadetails
-	 * @param elementtype
-	 */
-	public JavaModelEventWaiter(String elementname, int deltakind, int deltadetails, int elementtype) {
-		fElementName = elementname;
-		fDKind = deltakind;
-		fDDetails = deltadetails;
-		fElementType = elementtype;
-		JavaCore.addElementChangedListener(this, ElementChangedEvent.POST_CHANGE);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.IElementChangedListener#elementChanged(org.eclipse.jdt.core.ElementChangedEvent)
-	 */
-	public synchronized void elementChanged(ElementChangedEvent event) {
-		if(accept(event)) {
-			setEvent(event);
-			notifyAll();
-			unregister();
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.util.tests.AbstractApiEventWaiter#unregister()
-	 */
-	public void unregister() {
-		JavaCore.removeElementChangedListener(this);
-	}
-	
-	/**
-	 * Returns if we care about the given event or not
-	 * @param event
-	 * @return true is we care about the given event, false otherwise
-	 */
-	protected boolean accept(ElementChangedEvent event) {
-		if(event.getSource() instanceof IJavaElementDelta) {
-			return processDelta(((IJavaElementDelta) event.getSource()).getAffectedChildren());
-		}
-		return false;
-	}
-	
-	/**
-	 * Processes the listing of deltas of interest
-	 * @param deltas
-	 */
-	protected boolean processDelta(IJavaElementDelta[] deltas) {
-		IJavaElementDelta delta = null;
-		for(int i = 0; i < deltas.length; i++) {
-			delta = deltas[i];
-			if(delta.getKind() == fDKind) {
-				if(fElementType == delta.getElement().getElementType()) {
-					if(delta.getElement().getElementName().equals(fElementName) &&
-							delta.getFlags() == fDDetails) {
-						return true;
-					}
-				}
-				else {
-					return processDelta(delta.getAffectedChildren());
-				}
-			}
-			else {
-				return processDelta(delta.getAffectedChildren());
-			}
-		}
-		return false;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/PluginModelEventWaiter.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/PluginModelEventWaiter.java
deleted file mode 100644
index cf9fe67..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/PluginModelEventWaiter.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.util.tests;
-
-import org.eclipse.pde.internal.core.IPluginModelListener;
-import org.eclipse.pde.internal.core.PDECore;
-import org.eclipse.pde.internal.core.PluginModelDelta;
-
-/**
- * Waiter for {@link PluginModelDelta}s of a specified kind
- * 
- * since 1.0.0
- */
-public class PluginModelEventWaiter extends AbstractApiEventWaiter implements IPluginModelListener {
-
-	private int fKind = -1;
-	
-	/**
-	 * Constructor
-	 */
-	public PluginModelEventWaiter(int kind) {
-		this.fKind = kind;
-		PDECore.getDefault().getModelManager().addPluginModelListener(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.core.IPluginModelListener#modelsChanged(org.eclipse.pde.internal.core.PluginModelDelta)
-	 */
-	public synchronized void modelsChanged(PluginModelDelta delta) {
-		if(delta.getKind() == fKind) {
-			setEvent(delta);
-			notifyAll();
-			unregister();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.util.tests.AbstractApiEventWaiter#unregister()
-	 */
-	protected void unregister() {
-		PDECore.getDefault().getModelManager().removePluginModelListener(this);
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/PreferencesTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/PreferencesTests.java
deleted file mode 100644
index f7a7a1f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/PreferencesTests.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.util.tests;
-
-import org.eclipse.core.resources.ProjectScope;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemTypes;
-import org.eclipse.pde.api.tools.tests.AbstractApiTest;
-import org.osgi.service.prefs.BackingStoreException;
-
-/**
- * Tests for the severity preferences
- * @since
- */
-public class PreferencesTests extends AbstractApiTest {
-
-	/**
-	 * Sets up a variety of preferences, including adding project specific preferences 
-	 * to the test project
-	 */
-	public void testSetupSettings() {
-		Preferences prefs = ApiPlugin.getDefault().getPluginPreferences();
-		prefs.setValue(IApiProblemTypes.ILLEGAL_INSTANTIATE, ApiPlugin.VALUE_ERROR);
-		ApiPlugin.getDefault().savePluginPreferences();
-		assertTrue("The plugin setting should have been saved", !prefs.needsSaving());
-		
-		IJavaProject project = getTestingJavaProject(TESTING_PROJECT_NAME);
-		ProjectScope scope = new ProjectScope(project.getProject());
-		IEclipsePreferences eprefs = scope.getNode(ApiPlugin.getPluginIdentifier());
-		assertNotNull("The ApiPlugin section for project settings should be available", eprefs);
-		eprefs.put(IApiProblemTypes.ILLEGAL_REFERENCE, ApiPlugin.VALUE_IGNORE);
-		try {
-			eprefs.flush();
-		} catch (BackingStoreException e) {
-			fail(e.getMessage());
-		}
-	}
-	
-	/**
-	 * tests that the default preferences are set of the ApiPlugin
-	 */
-	public void testGetDefaultSeverity() {
-		String value = ApiPlugin.getDefault().getPluginPreferences().getDefaultString(IApiProblemTypes.ILLEGAL_EXTEND);
-		assertEquals("The default value for RESTRICTION_NOEXTEND should be 'Warning'", ApiPlugin.VALUE_WARNING, value);
-	}
-	
-	/**
-	 * Tests getting a default value from the getSeverityLevel() method is correct
-	 */
-	public void testGetSeverityReturnsDefault() {
-		int value = ApiPlugin.getDefault().getSeverityLevel(IApiProblemTypes.ILLEGAL_IMPLEMENT, null);
-		assertEquals("The default value for RESTRICTION_NOIMPLEMENT should be 'Warning'", ApiPlugin.SEVERITY_WARNING, value);
-	}
-	
-	/**
-	 * Tests that getting a set value the getSeverityLevel() method is correct
-	 */
-	public void testGetNonDefaultValue() {
-		int value = ApiPlugin.getDefault().getSeverityLevel(IApiProblemTypes.ILLEGAL_INSTANTIATE, null);
-		assertEquals("The value for RESTRICTION_NOINSTANTIATE should be 'Error'", ApiPlugin.SEVERITY_ERROR, value);
-	}
-	
-	/**
-	 * Tests that getting a set value the getSeverityLevel() method is correct for project
-	 * specific settings
-	 */
-	public void testGetProjectSpecificValue() {
-		int value = ApiPlugin.getDefault().getSeverityLevel(IApiProblemTypes.ILLEGAL_REFERENCE, getTestingJavaProject(TESTING_PROJECT_NAME).getProject());
-		assertEquals("The value for RESTRICTION_NOREFERENCE should be 'Ignore'", ApiPlugin.SEVERITY_IGNORE, value);
-	}
-	
-	/**
-	 * Tests that getting a default value the getSeverityLevel() method is correct for project
-	 * specific settings
-	 */
-	public void testGetDefaultProjectSpecificValue() {
-		int value = ApiPlugin.getDefault().getSeverityLevel(IApiProblemTypes.ILLEGAL_EXTEND, getTestingJavaProject(TESTING_PROJECT_NAME).getProject());
-		assertEquals("The value for RESTRICTION_NOEXTEND should be 'Warning'", ApiPlugin.SEVERITY_WARNING, value);
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/ProjectCreationTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/ProjectCreationTests.java
deleted file mode 100644
index 64a362c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/ProjectCreationTests.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.util.tests;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.pde.api.tools.model.tests.TestSuiteHelper;
-import org.eclipse.pde.api.tools.tests.AbstractApiTest;
-import org.eclipse.pde.api.tools.tests.util.FileUtils;
-import org.eclipse.pde.api.tools.tests.util.ProjectUtils;
-
-/**
- * Creates the {@link IJavaProject} used for testing in the target workspace
- * @since 1.0.0
- */
-public class ProjectCreationTests extends AbstractApiTest {
-	
-	/**
-	 * The source directory for the javadoc updating test source
-	 */
-	private static String JAVADOC_SRC_DIR = null;
-	/**
-	 * The source directory for the javadoc reading test source
-	 */
-	private static String JAVADOC_READ_SRC_DIR = null;
-	
-	static {
-		JAVADOC_SRC_DIR = getSourceDirectory("javadoc");
-		JAVADOC_READ_SRC_DIR = getSourceDirectory(new Path("a").append("b").append("c"));
-	}
-	
-	private static IJavaProject project = null;
-	private static IPackageFragmentRoot srcroot = null;
-	
-	/**
-	 * Tests creating a new {@link IJavaProject} for the plugin test suite
-	 * 
-     * @throws Exception
-     */
-    public void testProjectCreation() throws Exception {
-        // delete any pre-existing project
-        IProject pro = ResourcesPlugin.getWorkspace().getRoot().getProject(TESTING_PROJECT_NAME);
-        if (pro.exists()) {
-            pro.delete(true, true, null);
-        }
-        // create project and import source
-        project = ProjectUtils.createJavaProject(TESTING_PROJECT_NAME, null);
-        assertNotNull("The java project must have been created", project);
-        srcroot = ProjectUtils.addSourceContainer(project, ProjectUtils.SRC_FOLDER);
-        assertNotNull("the src root must have been created", srcroot);
-
-        // add rt.jar
-        IVMInstall vm = JavaRuntime.getDefaultVMInstall();
-        assertNotNull("No default JRE", vm);
-        ProjectUtils.addContainerEntry(project, new Path(JavaRuntime.JRE_CONTAINER));
-    }
-
-    /**
-     * Tests importing the java source for the Javadoc tag update tests
-     */
-    public void testImportJavadocTestSource() {
-    	try {
-    		File dest = new File(JAVADOC_SRC_DIR);
-    		assertTrue("the source dir must exist", dest.exists());
-    		assertTrue("the source dir must be a directory", dest.isDirectory());
-    		assertNotNull("the srcroot for the test java project must not be null", srcroot);
-    		FileUtils.importFilesFromDirectory(dest, srcroot.getPath().append("javadoc"), new NullProgressMonitor());
-    		//try to look up a file to test if it worked
-    		IType type = project.findType("javadoc.JavadocTestClass1", new NullProgressMonitor());
-    		assertNotNull("the JavadocTestClass1 type should exist in the javadoc package", type);
-    	}
-    	catch (Exception e) {
-    		fail(e.getMessage());
-		}
-    }
-    
-    /**
-     * Tests importing the java source for the Javadoc tag update tests to compare
-     * against. These source files are copies of originals prior to tag updating used for verification
-     * that tags have been updated correctly.
-     */
-    public void testImportJavadocTestSourceOriginal() {
-    	try {
-    		File dest = new File(JAVADOC_SRC_DIR);
-    		assertTrue("the original source dir must exist", dest.exists());
-    		assertTrue("the original source dir must be a directory", dest.isDirectory());
-    		assertNotNull("the srcroot for the test java project must not be null", srcroot);
-    		FileUtils.importFilesFromDirectory(dest, srcroot.getPath().append("javadoc").append("orig"), new NullProgressMonitor());
-    		//try to look up a file to test if it worked
-    		IType type = project.findType("javadoc.JavadocTestClass1", new NullProgressMonitor());
-    		assertNotNull("the JavadocTestClass1 type should exist in the javadoc package", type);
-    	}
-    	catch (Exception e) {
-    		fail(e.getMessage());
-		}
-    }
-    
-    /**
-     * Tests importing the java source for the javadoc tag reading tests
-     */
-    public void testImportClassesTestSource() {
-    	try {
-    		File dest = new File(JAVADOC_READ_SRC_DIR);
-    		assertTrue("the source dir must exist", dest.exists());
-    		assertTrue("the source dir must be a directory", dest.isDirectory());
-    		assertNotNull("the srcroot for the test java project must not be null", srcroot);
-    		FileUtils.importFilesFromDirectory(dest, srcroot.getPath().append("a").append("b").append("c"), new NullProgressMonitor());
-    	}
-    	catch (Exception e) {
-    		fail(e.getMessage());
-		}
-    }
-    
-    /**
-     * Returns the source path to load the test source files from into the testing project
-     * @param dirname the name of the directory the source is contained in
-     * @return the complete path of the source directory
-     */
-    private static String getSourceDirectory(IPath dirname) {
-		return TestSuiteHelper.getPluginDirectoryPath().append("test-source").append(dirname).toOSString(); 
-    }
-    
-    /**
-     * Returns the source path to load the test source files from into the testing project
-     * @param dirname the name of the directory the source is contained in
-     * @return the complete path of the source directory
-     */
-    private static String getSourceDirectory(String dirname) {
-		return TestSuiteHelper.getPluginDirectoryPath().append("test-source").append(dirname).toOSString(); 
-    }
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/UtilTests.java b/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/UtilTests.java
deleted file mode 100644
index ae4bb19..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/src/org/eclipse/pde/api/tools/util/tests/UtilTests.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.util.tests;
-
-import java.io.File;
-import java.io.FileFilter;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.eclipse.pde.api.tools.model.tests.TestSuiteHelper;
-
-/**
- * Tests the methods in our util class: {@link Util}
- * 
- * @since 1.0.0
- */
-public class UtilTests extends TestCase {
-
-	private static final IPath SRC_LOC = TestSuiteHelper.getPluginDirectoryPath().append("test_source");
-	
-	/**
-	 * Tests that a fully qualified type has its package removed correctly
-	 */
-	public void testResolvePackageNameFullyQualifiedType() {
-		String pname = Util.getPackageName("a.b.c.Type");
-		assertEquals("The package name should be 'a.b.c'", "a.b.c", pname);
-	}
-	
-	/**
-	 * Tests that passing in a non-fully qualified type returns the empty package
-	 */
-	public void testResolvePackageNameTypeNoQualification() {
-		String pname = Util.getPackageName("Type");
-		assertEquals("the default package should be returned", "", pname);
-	}
-	
-	/**
-	 * Tests that passing in <code>null</code> to the getAllFiles(..) method
-	 * will return all of the files in that directory
-	 */
-	public void getAllFilesNullFilter() {
-		File root = new File(SRC_LOC.toOSString());
-		assertTrue("The test source  directory must exist", root.exists());
-		assertTrue("The source location should be a directory", root.isDirectory());
-		File[] files = Util.getAllFiles(root, null);
-		assertTrue("There should be more than one file in the test source directory", files.length > 1);
-	}
-	
-	/**
-	 * Tests that a filter passed to getALlFiles(..) returns only the files 
-	 * it is supposed to. In this test only files that end with <code>TestClass1.java</code>
-	 * pass the filter (there is only one).
-	 */
-	public void getAllFilesSpecificFilter() {
-		File root = new File(SRC_LOC.toOSString());
-		assertTrue("The test source  directory must exist", root.exists());
-		assertTrue("The source location should be a directory", root.isDirectory());
-		File[] files = Util.getAllFiles(root, new FileFilter() {
-			public boolean accept(File pathname) {
-				return pathname.getAbsolutePath().endsWith("TestClass1.java");
-			}
-		});
-		assertTrue("There should be only one file in the test source directory named 'TestClass1.java'", files.length == 1);
-	}
-	
-	/**
-	 * Tests that the isClassFile method works as expected when passed a valid name (*.class)
-	 */
-	public void testIsClassfile() {
-		assertTrue("Test.class is a class file", Util.isClassFile("Test.class"));
-	}
-	
-	/**
-	 * Tests that the isClassFile method works as expected when passed an invalid name (not *.class)
-	 */
-	public void testIsNotClassfile() {
-		assertTrue("Test.notclass is not a classfile", !Util.isClassFile("Test.notclass"));
-	}
-	
-	/**
-	 * Tests that the isArchive method works as expected when passed a valid archive 
-	 * name (*.zip or *.jar)
-	 */
-	public void testIsArchive() {
-		assertTrue("Test.zip is an archive", Util.isArchive("Test.zip"));
-		assertTrue("Test.jar is an archive", Util.isArchive("Test.jar"));
-	}
-	
-	/**
-	 * Tests that the isArchive method works as expected when passed an invalid archive 
-	 * name (*.notzip)
-	 */
-	public void testisNotArchive() {
-		assertTrue("Test.notzip is not an archive", !Util.isArchive("Test.notzip"));
-	}
-
-	/**
-	 * Test convert(String descriptor) method
-	 */
-	public void testConvertDescriptor() {
-		assertEquals("Wrong conversion", "(QObject;QException;)V", Util.dequalifySignature("(Ljava/lang/Object;Ljava/lang/Exception;)V"));
-		assertEquals("Wrong conversion", "(QObject;QException;)QException;", Util.dequalifySignature("(Ljava/lang/Object;Ljava/lang/Exception;)Ljava/lang/Exception;"));
-		assertEquals("Wrong conversion", "(IJCQObject;IJCQException;IJC)I", Util.dequalifySignature("(IJCLjava/lang/Object;IJCLjava/lang/Exception;IJC)I"));
-		assertEquals("Wrong conversion", "([IJC[[[QObject;IJCQException;IJC)I", Util.dequalifySignature("([IJC[[[Ljava/lang/Object;IJCLjava/lang/Exception;IJC)I"));
-		assertEquals("Wrong conversion", "(QObject;QException;)V", Util.dequalifySignature("(Ljava.lang.Object;Ljava.lang.Exception;)V"));
-		assertEquals("Wrong conversion", "(QObject;QException;)QException;", Util.dequalifySignature("(Ljava.lang.Object;Ljava.lang.Exception;)Ljava.lang.Exception;"));
-		assertEquals("Wrong conversion", "(IJCQObject;IJCQException;IJC)I", Util.dequalifySignature("(IJCLjava.lang.Object;IJCLjava.lang.Exception;IJC)I"));
-		assertEquals("Wrong conversion", "([IJC[[[QObject;IJCQException;IJC)I", Util.dequalifySignature("([IJC[[[Ljava.lang.Object;IJCLjava.lang.Exception;IJC)I"));
-		assertEquals("Wrong conversion", "(QList;)QList;", Util.dequalifySignature("(Ljava.util.List;)Ljava.util.List;"));
-		assertEquals("wrong conversion", "(QList;)QList;", Util.dequalifySignature("(QList;)QList;"));
-		assertEquals("wrong converstion", "(QLanguage;)V;", Util.dequalifySignature("(Lfoo.test.Language;)V;"));
-		assertEquals("wrong converstion", "(QJokes;)V;", Util.dequalifySignature("(Lfoo.test.Jokes;)V;"));
-		assertEquals("wrong conversion", "(QDiff;)Z", Util.dequalifySignature("(LDiff;)Z"));
-	}
-	
-	/**
-	 * Tests the isQualifiedSignature method
-	 */
-	public void testIsQualified() {
-		assertTrue("should return true", Util.isQualifiedSignature("(Ljava/lang/Object;Ljava/lang/Exception;)V"));
-		assertTrue("should return false", !Util.isQualifiedSignature("(IJCQObject;IJCQException;IJC)I"));
-		assertTrue("should return true", Util.isQualifiedSignature("(IJCLjava.lang.Object;IJCLjava.lang.Exception;IJC)I"));
-		assertTrue("should return false", !Util.isQualifiedSignature("([IJC[[[QObject;IJCQException;IJC)I"));
-	}
-	
-	/*
-	 * Test org.eclipse.pde.api.tools.internal.util.Util.getFragmentNumber(String)
-	 * org.eclipse.pde.api.tools.internal.util.Util.isGreatherVersion(String, String)
-	 */
-	public void testGetFragmentNumber() {
-		assertEquals("wrong value", 2, Util.getFragmentNumber("org.eclipse.core.filesystem 1.0"));
-		assertEquals("wrong value", 2, Util.getFragmentNumber("1.0"));
-		assertEquals("wrong value", 3, Util.getFragmentNumber("1.0.0"));
-		assertEquals("wrong value", 1, Util.getFragmentNumber("1"));
-		assertEquals("wrong value", 4, Util.getFragmentNumber("org.test 1.0.0.0"));
-		try {
-			Util.getFragmentNumber(null);
-			assertTrue(false);
-		} catch (IllegalArgumentException e) {
-			// ignore
-		}
-		assertEquals("wrong value", -1, Util.getFragmentNumber("org.test "));
-		assertEquals("wrong value", -1, Util.getFragmentNumber("org.test"));
-	}
-
-	/*
-	 * Test org.eclipse.pde.api.tools.internal.util.Util.isGreatherVersion(String, String)
-	 */
-	public void testIsGreatherVersion() {
-		assertEquals("wrong value", 1, 1);
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/DefA.class b/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/DefA.class
deleted file mode 100644
index 7cfff7a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/DefA.class
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/DefB.class b/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/DefB.class
deleted file mode 100644
index 22c1566..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/DefB.class
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/ClassA.class b/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/ClassA.class
deleted file mode 100644
index e39bea3..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/ClassA.class
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/ClassB$InsideB.class b/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/ClassB$InsideB.class
deleted file mode 100644
index 4924937..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/ClassB$InsideB.class
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/ClassB.class b/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/ClassB.class
deleted file mode 100644
index 8a5d20e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/ClassB.class
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/b/c/ClassC.class b/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/b/c/ClassC.class
deleted file mode 100644
index e3d6626..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/b/c/ClassC.class
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/b/c/ClassD.class b/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/b/c/ClassD.class
deleted file mode 100644
index a4e33b0..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/b/c/ClassD.class
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/b/c/InterfaceC.class b/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/b/c/InterfaceC.class
deleted file mode 100644
index c4d8721..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-bin-dir/a/b/c/InterfaceC.class
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-classes/a/b/c/TestMethod10.class b/apitools/org.eclipse.pde.api.tools.tests/test-classes/a/b/c/TestMethod10.class
deleted file mode 100644
index e747e59..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-classes/a/b/c/TestMethod10.class
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-jars/sample.jar b/apitools/org.eclipse.pde.api.tools.tests/test-jars/sample.jar
deleted file mode 100644
index 36cf8a2..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-jars/sample.jar
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-manifests/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/test-manifests/MANIFEST.MF
deleted file mode 100644
index 76315a9..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-manifests/MANIFEST.MF
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.pde.api.tools; singleton:=true
-Bundle-Version: 0.1.0
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.osgi,
- org.apache.ant,
- org.eclipse.core.runtime,
- org.eclipse.pde.core,
- org.eclipse.update.configurator,
- org.eclipse.jdt.core
-Export-Package: org.eclipse.pde.api.tools.internal.model;x-friends:="org.eclipse.pde.api.tools.ui,org.eclipse.pde.api.tools.tests",
- org.eclipse.pde.api.tools.internal.state;x-internal:=true,
- org.eclipse.pde.api.tools.model,
- org.eclipse.pde.api.tools.scanner;uses:="org.eclipse.pde.api.tools.model,org.eclipse.jdt.core.dom,org.eclipse.pde.api.tools.internal.model",
- org.eclipse.pde.api.tools.stubs;uses:="org.objectweb.asm,org.objectweb.asm.tree"
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Import-Package: com.ibm.icu.impl.data.icudt36b
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-manifests/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/test-manifests/META-INF/MANIFEST.MF
deleted file mode 100644
index e6b5273..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-manifests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-Name: Debug Platform UI
-Bundle-SymbolicName: org.eclipse.debug.ui
-Bundle-Version: 3.3.100.qualifier
-Require-Bundle: org.eclipse.core.expressions;bundle-version="(3.3.0,4.0.0)",
- org.eclipse.core.variables;bundle-version="[3.2.0,4.0.0]",
- org.eclipse.ui;bundle-version="[3.3.0,4.0.0]",
- org.eclipse.ui.console;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.help;bundle-version="3.3.0",
- org.eclipse.debug.core;bundle-version="3.4.0",
- org.eclipse.jface.text;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.ui.workbench.texteditor;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.ui.ide;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.ui.editors;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.3.0,4.0.0)"
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-nested-jars/component.a_1.0.0.jar b/apitools/org.eclipse.pde.api.tools.tests/test-nested-jars/component.a_1.0.0.jar
deleted file mode 100644
index caa0e9b..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-nested-jars/component.a_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-plugins/component.a_1.0.0.jar b/apitools/org.eclipse.pde.api.tools.tests/test-plugins/component.a_1.0.0.jar
deleted file mode 100644
index 763b574..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-plugins/component.a_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-plugins/component.b_1.0.0.jar b/apitools/org.eclipse.pde.api.tools.tests/test-plugins/component.b_1.0.0.jar
deleted file mode 100644
index 0d5d2bf..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-plugins/component.b_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-plugins/component_c_1.0.0.jar b/apitools/org.eclipse.pde.api.tools.tests/test-plugins/component_c_1.0.0.jar
deleted file mode 100644
index d291061..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-plugins/component_c_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass1.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass1.java
deleted file mode 100644
index f1fffaf..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass1.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package a.b.c;
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-/**
- * @noinstantiate this class cannot be instantiated
- * @since
- */
-public class TestClass1 {
-
-	public void foo() {
-		
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass2.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass2.java
deleted file mode 100644
index f40c951..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass2.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package a.b.c;
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-/**
- * @noextend
- * @since
- */
-public class TestClass2 {
-
-	public void foo() {
-		
-	}
-	/**
-	 * @noextend
-	 * @noinstantiate
-	 * @since
-	 */
-	static class InnerTestClass2 {
-		public void foo() {
-			
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass3.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass3.java
deleted file mode 100644
index 7d04dda..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass3.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package a.b.c;
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-/**
- * @since
- */
-public class TestClass3 {
-
-	public void foo() {
-		
-	}
-	
-	/**
-	 * @noextend
-	 * @since
-	 */
-	class InnerTestClass3 {
-		
-		/**
-		 * @deprecated
-		 */
-		public void foo() {
-			
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass4.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass4.java
deleted file mode 100644
index 828419c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass4.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package a.b.c;
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-/**
- * 
- * @since
- */
-public class TestClass4 {
-	/**
-	 * 
-	 * @since
-	 */
-	static class InnerTestClass4 {
-		/**
-		 * 
-		 * @since
-		 */
-		static class Inner2TestClass4 {
-			/**
-			 * @noextend
-			 * @noinstantiate
-			 * @noreference
-			 * @since
-			 */
-			class Inner3TestClass4 {
-				
-			}
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass5.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass5.java
deleted file mode 100644
index c8177f0..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass5.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package a.b.c;
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-/**
- * 
- * @since
- */
-public class TestClass5 {
-
-}
-
-/**
- * @noextend
- * @since
- */
-class TestClass5a {
-	
-}
-
-/**
- * @noextend
- * @since
- */
-class TestClass5b {
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass6.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass6.java
deleted file mode 100644
index 76aff17..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass6.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package a.b.c;
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/**
- * 
- * @since
- */
-public class TestClass6 {
-
-	/**
-	 * @noextend
-	 * @since
-	 */
-	static class InnerTestClass6a {
-		
-	}
-	
-	/**
-	 * @noinstantiate
-	 * @since
-	 */
-	class InnerTestClass6b {
-		
-	}
-	
-	/**
-	 * 
-	 * @since
-	 */
-	class InnerTestClass6c {
-		
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass7.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass7.java
deleted file mode 100644
index 60bd54c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestClass7.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package a.b.c;
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/**
- * 
- * @since
- */
-public class TestClass7 {
-
-	/**
-	 * 
-	 * @since
-	 */
-	static class InnerTestClass7 {
-		/**
-		 * @noextend
-		 * @since
-		 */
-		class Inner2TestClass7 {
-			
-		}
-	}
-}
-
-/**
- * 
- * @since
- */
-class TestClass7a {
-	/**
-	 * @noextend
-	 * @since
-	 */
-	class InnerTestClass7a {
-		
-	}
-}
-
-/**
- * @noextend
- * @since
- */
-class TestClass7b {
-	/**
-	 * @noextend
-	 * @since
-	 */
-	static class InnerTestClass7b {
-		
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField1.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField1.java
deleted file mode 100644
index 5e445cb..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField1.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * 
- * @since
- */
-public class TestField1 {
-
-	/**
-	 * @noreference
-	 */
-	Object field = null;
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField2.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField2.java
deleted file mode 100644
index d6ad67b..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField2.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * 
- * @since
- */
-public class TestField2 {
-
-	class Inner {
-		
-		/**
-		 * @noreference
-		 */
-		Object field = null;
-		/**
-		 * @noreference
-		 */
-		int number = -1;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField3.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField3.java
deleted file mode 100644
index 93e6275..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField3.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * 
- * @since
- */
-public class TestField3 {
-
-	static class Inner {
-		
-		/**
-		 * @noreference
-		 */
-		Object field = null;
-		/**
-		 * @noreference
-		 */
-		static int number = -1;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField4.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField4.java
deleted file mode 100644
index c1b6509..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField4.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * 
- * @since
- */
-public class TestField4 {
-	static class Inner1 {
-		/**
-		 * @noreference
-		 */
-		Object field = null;
-		
-		class Inner3 {
-			/**
-			 * @noreference
-			 */
-			Object field = null;
-			
-			class Inner {
-				/**
-				 * @noreference
-				 */
-				int number = -1;
-			}
-		}
-	}
-	
-	class Inner2 {
-		/**
-		 * @noreference
-		 */
-		Object field = null;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField5.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField5.java
deleted file mode 100644
index bd98cd0..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField5.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * Tests that outer classes are scanned properly
- * @since
- */
-public class TestField5 {
-
-}
-
-class TestField5Outer {
-	/**
-	 * @noreference
-	 */
-	Object field = null;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField6.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField6.java
deleted file mode 100644
index 6955210..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField6.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * Tests that tags are scanned correctly off an anonymous inner type field
- * @since
- */
-public class TestField6 {
-
-	private Runnable runner = new Runnable() {
-		/**
-		 * @noreference
-		 */
-		protected int number = -1;
-		public void run() {
-		}
-	};
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField7.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField7.java
deleted file mode 100644
index 918b37b..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField7.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * Used to test that a field with inherited restrictions will not inherit the class restrictions
- * as fields do not support 'no extend'
- * 
- * @noextend
- * @since
- */
-public class TestField7 {
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField8.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField8.java
deleted file mode 100644
index b47a529..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField8.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * Used to test that a field with inherited restrictions will inherit a 'no reference'
- * @noinstantiate
- * @since
- */
-public class TestField8 {
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField9.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField9.java
deleted file mode 100644
index 7831505..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestField9.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * 
- */
-public class TestField9 {
-
-	Object field = null;
-	
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-
-	}
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestInterface1.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestInterface1.java
deleted file mode 100644
index 989fb1e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestInterface1.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package a.b.c;
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/**
- * @noimplement
- * @since
- */
-public interface TestInterface1 {
-
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestInterface2.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestInterface2.java
deleted file mode 100644
index b61f2ab..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestInterface2.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package a.b.c;
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/**
- * 
- * @since
- */
-public interface TestInterface2 {
-
-}
-
-/**
- * @noimplement
- * @since
- */
-interface TestInterface2a {
-	
-}
-
-/**
- * 
- * @since
- */
-interface TestInterface2b {
-	
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestInterface3.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestInterface3.java
deleted file mode 100644
index af1ae1b..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestInterface3.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package a.b.c;
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/**
- * 
- * @since
- */
-public interface TestInterface3 {
-
-	/**
-	 * @noimplement
-	 * @since
-	 */
-	interface Inner1 {
-		
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestInterface4.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestInterface4.java
deleted file mode 100644
index c8fd6d4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestInterface4.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package a.b.c;
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/**
- * 
- * @since
- */
-public interface TestInterface4 {
-
-	/**
-	 * @noimplement
-	 * @since
-	 */
-	interface Inner1 {
-		
-	}
-	
-	/**
-	 * 
-	 * @since
-	 */
-	interface Inner2 {
-		
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod1.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod1.java
deleted file mode 100644
index 08a44e6..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod1.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * 
- * @since
- */
-public class TestMethod1 {
-
-	/**
-	 * @noreference
-	 */
-	public void one() {}
-	/**
-	 * @noextend
-	 */
-	private void two() {}
-	/**
-	 * @noreference
-	 */
-	public static void three() {}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod10.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod10.java
deleted file mode 100644
index d70dac6..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod10.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-import java.util.List;
-
-/**
- * Tests that methods with many Object parameters are processed correctly
- * @since
- */
-public class TestMethod10 {
-
-	
-	/**
-	 * @noreference This method is not intended to be referenced by clients.
-	 * @param name
-	 * @param number
-	 */
-	public void one(String name, Integer number) {
-	}
-	
-	/**
-	 * @noextend This method is not intended to be extended by clients.
-	 * @param name
-	 * @param number
-	 */
-	public void one(String[][] name, Integer number) {
-	}
-	
-	/**
-	 * @noextend
-	 * @param list
-	 * @param runnable
-	 */
-	protected void two(List list, Runnable runnable) {
-	}
-
-	/**
-	 * @noreference This method is not intended to be referenced by clients.
-	 * @noextend This method is not intended to be extended by clients.
-	 * @param name
-	 * @param number
-	 */
-	public void one(Object name, Integer number) {
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod11.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod11.java
deleted file mode 100644
index d9d2cf7..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod11.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * Tests that methods with primitive array type parameters are processed correctly
- * @since
- */
-public class TestMethod11 {
-
-	/**
-	 * @noreference
-	 * @param nums
-	 * @param names
-	 */
-	public void one(int[] nums, char[][] names) {
-		
-	}
-	
-	/**
-	 * @noextend
-	 * @param nums
-	 * @param vals
-	 */
-	protected void two(float[][] nums, double[] vals) {
-		
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod12.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod12.java
deleted file mode 100644
index 6622f7b..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod12.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-import java.util.List;
-
-/**
- * Tests that methods with Object array parameters are processed correctly
- * @since
- */
-public class TestMethod12 {
-
-	/**
-	 * @noreference
-	 * @param names
-	 * @param nums
-	 */
-	public void one(String[] names, Double[][] nums) {
-		
-	}
-	
-	/**
-	 * @noextend
-	 * @param names
-	 * @param runs
-	 */
-	protected void two(List[][] names, Runnable[] runs) {
-		
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod13.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod13.java
deleted file mode 100644
index 65c3f87..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod13.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-import java.util.List;
-
-/**
- * Tests that methods with a mixed bag of parameters are processed correctly
- * @since
- */
-public class TestMethod13 {
-	
-	/**
-	 * @noreference
-	 * @param num
-	 * @param dbls
-	 * @param cs
-	 * @param in
-	 */
-	public void one(int num, Double[][] dbls, char[] cs, Integer in) {
-		
-	}
-	
-	/**
-	 * @noextend
-	 * @param ls
-	 * @param d
-	 * @param c
-	 * @param is
-	 * @param r
-	 */
-	protected void two(List[][] ls, double d, char c, int[] is, Runnable[] r) {
-		
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod14.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod14.java
deleted file mode 100644
index c9db1ea..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod14.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-import java.util.List;
-
-/**
- * Tests that methods with an Object return type are processed correctly
- * @since
- */
-public class TestMethod14 {
-
-	/**
-	 * @noreference
-	 * @param num
-	 * @param dbls
-	 * @param cs
-	 * @param in
-	 */
-	public String one(int num, Double[][] dbls, char[] cs, Integer in) {
-		return null;
-	}
-	
-	/**
-	 * @noextend
-	 * @param ls
-	 * @param d
-	 * @param c
-	 * @param is
-	 * @param r
-	 */
-	protected Double two(List[][] ls, double d, char c, int[] is, Runnable[] r) {
-		return null;
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod15.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod15.java
deleted file mode 100644
index fdfddb7..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod15.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-import java.util.List;
-
-/**
- * Tests that methods with primitive return types are processed correctly
- * @since
- */
-public class TestMethod15 {
-	
-	/**
-	 * @noreference
-	 * @param num
-	 * @param dbls
-	 * @param cs
-	 * @param in
-	 */
-	public char one(int num, Double[][] dbls, char[] cs, Integer in) {
-		return 'a';
-	}
-	
-	/**
-	 * @noextend
-	 * @param ls
-	 * @param d
-	 * @param c
-	 * @param is
-	 * @param r
-	 */
-	protected double two(List[][] ls, double d, char c, int[] is, Runnable[] r) {
-		return 1.0;
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod16.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod16.java
deleted file mode 100644
index 49b0775..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod16.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-import java.util.List;
-
-/**
- * Tests that methods that return an Object array are processed correctly
- * @since
- */
-public class TestMethod16 {
-
-	/**
-	 * @noreference
-	 * @param num
-	 * @param dbls
-	 * @param cs
-	 * @param in
-	 */
-	public String[][] one(int num, Double[][] dbls, char[] cs, Integer in) {
-		return null;
-	}
-	
-	/**
-	 * @noextend
-	 * @param ls
-	 * @param d
-	 * @param c
-	 * @param is
-	 * @param r
-	 */
-	protected Double[] two(List[][] ls, double d, char c, int[] is, Runnable[] r) {
-		return null;
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod17.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod17.java
deleted file mode 100644
index 1832207..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod17.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-import java.util.List;
-
-/**
- * That methods that return a primitive type array are processed correctly
- * @since
- */
-public class TestMethod17 {
-
-	/**
-	 * @noreference
-	 * @param num
-	 * @param dbls
-	 * @param cs
-	 * @param in
-	 */
-	public char[][] one(int num, Double[][] dbls, char[] cs, Integer in) {
-		return null;
-	}
-	
-	/**
-	 * @noextend
-	 * @param ls
-	 * @param d
-	 * @param c
-	 * @param is
-	 * @param r
-	 */
-	protected double[] two(List[][] ls, double d, char c, int[] is, Runnable[] r) {
-		return null;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod18.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod18.java
deleted file mode 100644
index 5bca7ce..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod18.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * Tests that method correctly inherit restrictions that are valid
- * @since
- * @noextend
- */
-public class TestMethod18 {
-	public void one() {
-		
-	}
-}
-
-/**
- * @noextend
- * @since
- */
-class TestMethod18Outer {
-	protected void two() {
-		
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod19.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod19.java
deleted file mode 100644
index 6342890..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod19.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * Tests that methods do not inherit restrictions that do not apply to methods
- * @noinstantiate
- * @since
- */
-public class TestMethod19 {
-	public void one() {
-		
-	}
-}
-
-/**
- * @noinstantiate
- * @since
- */
-class TestMethod19Outer {
-	protected void two() {
-		
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod2.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod2.java
deleted file mode 100644
index 322a44e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod2.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * 
- * @since
- */
-public class TestMethod2 {
-
-	class Inner{
-		/**
-		 * @noreference
-		 */
-		public void one() {}
-		/**
-		 * @noextend
-		 */
-		protected void two() {}
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod20.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod20.java
deleted file mode 100644
index 48bebd5..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod20.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * @noimplement
- * @since
- */
-public interface TestMethod20 {
-
-	public void one();
-	
-}
-
-/**
- * @noimplement
- * @since
- */
-interface TestMethod20Outer {
-	public void two();
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod3.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod3.java
deleted file mode 100644
index 70d1d3a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod3.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * 
- * @since
- */
-public class TestMethod3 {
-
-	static class Inner {
-		/**
-		 * @noreference
-		 */
-		public void one() {}
-		/**
-		 * @noextend
-		 */
-		protected void two() {}
-		/**
-		 * @noreference
-		 */
-		public static void three() {}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod4.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod4.java
deleted file mode 100644
index 0b8662e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod4.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * 
- * @since
- */
-public class TestMethod4 {
-
-	static class Inner1 {
-		/**
-		 * @noreference
-		 */
-		public void one() {}
-		/**
-		 * @noextend
-		 */
-		protected void two() {}
-		/**
-		 * @noreference
-		 */
-		public static void three() {}
-		
-		static class Inner3 {
-			/**
-			 * @noreference
-			 */
-			public void one() {}
-			/**
-			 * @noextend
-			 */
-			protected void two() {}
-			/**
-			 * @noreference
-			 */
-			public static void three() {}
-		}
-	}
-	
-	class Inner2 {
-		/**
-		 * @noreference
-		 */
-		public void one() {}
-		/**
-		 * @noextend
-		 */
-		protected void two() {}
-		
-		class Inner4 {
-			/**
-			 * @noreference
-			 */
-			public void one() {}
-			/**
-			 * @noextend
-			 */
-			protected void two() {}
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod5.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod5.java
deleted file mode 100644
index 2e8fdc5..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod5.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * 
- * @since
- */
-public class TestMethod5 {
-
-}
-
-class TestMethod5Outer {
-	/**
-	 * @noreference
-	 */
-	public void one() {}
-	/**
-	 * @noextend
-	 */
-	protected void two() {}
-	/**
-	 * @noreference
-	 */
-	public static void three() {}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod6.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod6.java
deleted file mode 100644
index 4960ba1..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod6.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * 
- * @since
- */
-public class TestMethod6 {
-
-	private Runnable runner = new Runnable() {
-		
-		protected int number = -1;
-		/**
-		 * @noreference
-		 * @noextend
-		 */
-		public void run() {
-		}
-	};
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod7.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod7.java
deleted file mode 100644
index 32c0af7..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod7.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * Tests that methods with a single param are processed correctly
- * @since
- */
-public class TestMethod7 {
-
-	/**
-	 * @noreference
-	 * @param name
-	 */
-	public void one(String name) {
-		
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod8.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod8.java
deleted file mode 100644
index 8756e1e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod8.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * Tests that a method with a single primitive parameter is processed properly
- * @since
- */
-public class TestMethod8 {
-
-	/**
-	 * @noextend
-	 * @param number
-	 */
-	public void one(int number) {
-		
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod9.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod9.java
deleted file mode 100644
index c465070..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/a/b/c/TestMethod9.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package a.b.c;
-
-/**
- * Tests that a method with more than one primitive parameter is processed correctly
- * @since
- */
-public class TestMethod9 {
-
-	/**
-	 * @noreference
-	 * @param number
-	 * @param dbl
-	 * @param flot
-	 */
-	public void one(int number, double dbl, float flot) {
-		
-	}
-	
-	/**
-	 * @noextend
-	 * @param number
-	 * @param dbl
-	 * @param flot
-	 */
-	protected void two(double dbl, float flot) {
-		
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test1.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test1.java
deleted file mode 100644
index 2494f95..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test1.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package classes;
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/**
- * simple class that extends nothing and implements nothing,
- * with no members
- */
-public class Test1 {
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test10.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test10.java
deleted file mode 100644
index b7eb86c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test10.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package classes;
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/**
- * 
- * @since
- */
-public class Test10 {
-	
-	String[] strs = null;
-	Integer[][] ints = null;
-	
-	public void arrayTypes() {
-		int[] nums = new int[1];
-		strs = new String[1];
-		strs[0] = "foo";
-		char[][] chars = new char[1][1];
-		Object[][] objs = new Object[1][1];
-		objs[0][0] = new Object();
-		ints = new Integer[1][1];
-		Double[][][][][][][][][] dbles = new Double[1][0][0][0][0][0][0][0][0];
-	}
-	
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test11.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test11.java
deleted file mode 100644
index 8c1b848..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test11.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package classes;
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/**
- * 
- * @since
- */
-public class Test11 {
-	
-	public void test() {
-		Class c = Integer.class;
-		Double.class.desiredAssertionStatus();
-		String.class.equals(new Object());
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test12.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test12.java
deleted file mode 100644
index 0c5745d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test12.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package classes;
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/**
- * This class is compiled to 1.4
- * @since
- */
-public class Test12 {
-	public void test() {
-		Class c = Integer.class;
-		Double.class.desiredAssertionStatus();
-		String.class.equals(new Object());
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test13.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test13.java
deleted file mode 100644
index 99266c2..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test13.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package classes;
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/**
- * 
- * @since
- */
-public class Test13 extends Super {
-
-	public void m1() {
-		System.out.println("not empty");
-		m2();
-		m3();
-		m4();
-	}
-	
-	private void m4() {
-		System.out.println("not empty");
-		Test13A a = new Test13A();
-		a.getInteger();
-	}
-	
-	public void m3() {
-		System.out.println("not empty");
-		Test13A.doSomething();
-	}
-}
-
-class Super {
-	
-	protected void m2() {
-		System.out.println("not empty");
-	}
-	
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test13A.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test13A.java
deleted file mode 100644
index 242b89c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test13A.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package classes;
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/**
- * 
- * @since
- */
-public class Test13A {
-
-	public static void doSomething() {
-		
-	}
-	
-	public Integer getInteger() {
-		return new Integer(3);
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test2.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test2.java
deleted file mode 100644
index ead29f0..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test2.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package classes;
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/**
- * simple generic class the extends nothing, implements nothing and
- * has no members
- */
-public class Test2<E> {
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test3.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test3.java
deleted file mode 100644
index 19e0b36..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test3.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package classes;
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/**
- * Tests that various arrangements of non-generic classes are scanned properly 
- */
-public class Test3 {
-	class Inner {
-		
-	}
-	
-	static class Inner2 {
-		class Inner3 {
-			
-		}
-	}
-}
-
-class Test3Outer {
-	static class Inner {
-		
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test4.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test4.java
deleted file mode 100644
index fb781d1..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test4.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package classes;
-
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/**
- * 
- */
-public class Test4<List> {
-	static class Inner<String> {
-		class Inner2<E> {
-			
-		}
-	}
-	
-	class Inner2<Map> {
-		
-	}
-}
-class Test4Outer<Integer> {
-	static class Inner<Double> {
-		
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test5.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test5.java
deleted file mode 100644
index a9c9943..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test5.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package classes;
-import java.util.ArrayList;
-
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/**
- * 
- * @since
- */
-public class Test5 extends ArrayList implements Iterable, ITest5 {
-
-}
-
-interface ITest5 {
-	
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test6.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test6.java
deleted file mode 100644
index 3065a20..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test6.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package classes;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.Map;
-
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/**
- * 
- * @since
- */
-public class Test6<E extends ArrayList<String>> extends Test6Abstract<String> implements Iterable<Map<String, String>> {
-
-	public Iterator<Map<String, String>> iterator() {
-		return null;
-	}
-
-}
-
-class Test6Abstract<T> {
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test7.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test7.java
deleted file mode 100644
index 5545985..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test7.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package classes;
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/**
- * 
- * @since
- */
-public class Test7 {
-
-	public String m1(String s) {
-		return null;
-	}
-	
-	protected String m2(String s) {
-		return null;
-	}
-	
-	private String m3(String s) {
-		return null;
-	}
-	
-	public Integer[] m4(Double[] d) {
-		return null;
-	}
-	
-	protected Integer[] m5(Double[] d) {
-		return null;
-	}
-	
-	private Integer[] m6(Double[] d) {
-		return null;
-	}
-	
-	protected static String m7(String s) {
-		return null;
-	}
-	
-	public static String m8(String s) {
-		return null;
-	}
-	
-	private static String m9(String s) {
-		return null;
-	}
-	
-	protected static Integer[] m10(Double[] d) {
-		return null;
-	}
-	
-	public static Integer[] m11(Double[] d) {
-		return null;
-	}
-	
-	private static Integer[] m12(Double[] d) {
-		return null;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test8.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test8.java
deleted file mode 100644
index 8f68a3f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test8.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package classes;
-import java.util.ArrayList;
-import java.util.Map;
-
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/**
- * 
- * @since
- */
-public class Test8 {
-
-	public ArrayList<String> m1(Map<Integer, Test8Outer> map, Double...doubles) {
-		return null;
-	}
-	
-	protected static ArrayList<String> m2(Map<Integer, Test8Outer> map, Double...doubles) {
-		return null;
-	}
-}
-
-
-class Test8Outer {
-	
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test9.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test9.java
deleted file mode 100644
index 861e53e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/classes/Test9.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package classes;
-import java.util.ArrayList;
-
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-/**
- * 
- * @since
- */
-public class Test9 {
-	
-	public String[] strs = {};
-	int number = -1;
-	protected ArrayList list = new ArrayList();
-	private Object object = new Runnable() {
-		public void run() {
-		}
-	};
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass1.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass1.java
deleted file mode 100644
index 79b8354..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass1.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package javadoc;
-
-/**
- * Test class that will be annotated with javadoc tags from the testing component.xml
- * file. 
- * 
- * This class will have a no instantiate tag added to it
- * 
- */
-public class JavadocTestClass1 {
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass2.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass2.java
deleted file mode 100644
index d1443de..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass2.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package javadoc;
-
-/**
- * Test class that will be annotated with javadoc tags from the testing component.xml
- * file. 
- * 
- * This class will have a no instantiate tag added to the 
- * inner class: <code>Inner</code> 
- * 
- */
-public class JavadocTestClass2 {
-
-	static class Inner {
-		
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass3.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass3.java
deleted file mode 100644
index 850fa1a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass3.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package javadoc;
-
-/**
- * Test class that will be annotated with javadoc tags from the testing component.xml
- * file. 
- * 
- * This class will have a no extend tag added to the method m1 and have a 
- * no reference tag added to the method m2
- * 
- */
-public class JavadocTestClass3 {
-
-	protected void m1() {
-		
-	}
-	
-	public static void m2() {
-		
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass4.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass4.java
deleted file mode 100644
index 320fe9e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass4.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package javadoc;
-
-/**
- * Test class that will be annotated with javadoc tags from the testing component.xml
- * file. 
- * 
- * This class will have a no reference tag added to field f1 and
- * a no reference tag to field f2
- * 
- */
-public class JavadocTestClass4 {
-
-	protected int f1;
-	
-	public static Object f2;
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass5.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass5.java
deleted file mode 100644
index dbefe99..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass5.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package javadoc;
-
-/**
- * Test class that will be annotated with javadoc tags from the testing component.xml
- * file. 
- * 
- * The class: <code>Inner2</code> will have a no reference tag added to field f1 and
- * a no reference tag to field f2
- * 
- */
-public class JavadocTestClass5 {
-
-	class Inner {
-		class Inner2{
-			protected int f1;
-			
-			public Object f2;
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass6.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass6.java
deleted file mode 100644
index a714ae4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass6.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package javadoc;
-
-/**
- * Test class that will be annotated with javadoc tags from the testing component.xml
- * file. 
- * 
- * The class: <code>Inner2</code> will have a no extend tag added to the method m1 and have a 
- * no reference tag added to the method m2
- * 
- */
-public class JavadocTestClass6 {
-
-	class Inner {
-		class Inner2 {
-			protected void m1() {
-				
-			}
-			
-			public void m2() {
-				
-			}
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass7.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass7.java
deleted file mode 100644
index 1be66c3..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass7.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package javadoc;
-
-public class JavadocTestClass7 {
-
-	public Object f1 = null;
-	
-	public void m1() {
-		
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass8.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass8.java
deleted file mode 100644
index c9e63c4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/JavadocTestClass8.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package javadoc;
-
-
-/**
- * Tests that a constructor is not processed as method needing a doc tag, since constructors have no return type
- * per se.See {@link MethodDeclaration#getReturnType2()} for the spec on returns types.
- * 
- * Addresses bug 210784 (https://bugs.eclipse.org/bugs/show_bug.cgi?id=210784)
- * 
- * @since 1.0.0
- */
-public class JavadocTestClass8 {
-
-	public JavadocTestClass8() {
-		
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/component.jar b/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/component.jar
deleted file mode 100644
index d573a8f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/component.jar
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/component.xml b/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/component.xml
deleted file mode 100644
index 91078a9..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/javadoc/component.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="test">
- <plugin id="test" />
-
- <package name="javadoc">
- 	<type name="JavadocTestClass1" instantiate="false"/>
- 	<type name="JavadocTestClass2"/>
- 	<type name="JavadocTestClass2$Inner" instantiate="false"/>
- 	<type name="JavadocTestClass3">
- 		<method name="m1" signature="()V" extend="false"/>
- 		<method name="m2" signature="()V" reference="false"/>
- 	</type>
- 	<type name="JavadocTestClass4">
- 		<field name="f1" reference="false"/>
- 		<field name="f2" reference="false"/>
- 	</type>
- 	<type name="JavadocTestClass5"/>
- 	<type name="JavadocTestClass5$Inner"/>
- 	<type name="JavadocTestClass5$Inner$Inner2">
- 		<field name="f1" reference="false"/>
- 		<field name="f2" reference="false"/>
- 	</type>
- 	<type name="JavadocTestClass6"/>
- 	<type name="JavadocTestClass6$Inner"/>
- 	<type name="JavadocTestClass6$Inner$Inner2">
- 		<method name="m1" signature="()V" extend="false"/>
- 		<method name="m2" signature="()V" reference="false"/>
- 	</type>
- 	<type name="JavadocTestClass7" extend="false" instantiate="false">
- 		<field name="f1" reference="false"/>
- 		<method name="m1" signature="()V" extend="false"/>
- 	</type>
- 	<type name="JavadocTestClass8" instantiate="false" subclass="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/x/C1.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/x/C1.java
deleted file mode 100644
index 25aa07a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/x/C1.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package x;
-
-/**
- * 
- */
-public class C1 {
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/x/C2.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/x/C2.java
deleted file mode 100644
index 7ea6ebf..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/x/C2.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package x;
-
-/**
- * 
- */
-public class C2 {
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/x/y/C3.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/x/y/C3.java
deleted file mode 100644
index 1d5000e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/x/y/C3.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package x.y;
-
-/**
- * 
- */
-public class C3 {
-
-	Object field = null;
-	
-	public Object foo(Integer integer) {
-		return null;
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/x/y/z/C4.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/x/y/z/C4.java
deleted file mode 100644
index dde8708..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/x/y/z/C4.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package x.y.z;
-
-/**
- * 
- */
-public class C4 {
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-source/x/y/z/C5.java b/apitools/org.eclipse.pde.api.tools.tests/test-source/x/y/z/C5.java
deleted file mode 100644
index fa4bece..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-source/x/y/z/C5.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package x.y.z;
-
-/**
- * 
- */
-public class C5 {
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-stubs/component.a_1.0.0.jar b/apitools/org.eclipse.pde.api.tools.tests/test-stubs/component.a_1.0.0.jar
deleted file mode 100644
index 1191c90..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-stubs/component.a_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-stubs/sample.jar b/apitools/org.eclipse.pde.api.tools.tests/test-stubs/sample.jar
deleted file mode 100644
index 8db052a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-stubs/sample.jar
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-xml/.api_description b/apitools/org.eclipse.pde.api.tools.tests/test-xml/.api_description
deleted file mode 100644
index 5b307bb..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-xml/.api_description
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="test">
- <plugin id="test" />
-
- <package name="">
- 	<type name="B" instantiate="false">
- 		<method name="m1" signature="()V" extend="false"/>
- 	</type>
- 	<type name="C" extend="false" instantiate="false" />
- 	<type name="D" reference="false">
- 		<field name="f1" reference="false"/>
- 	</type>
- 	<type name="D" context="a.friend" visibility="SPI"/>
- 	<type name="IB" implement="false"/>
- </package>
- <package name="a.b.c">
- 	<type name="A" extend="false" instantiate="false">
- 		<method name="m2" signature="()V" reference="false"/>
- 	</type>
- 	<type name="C" extend="false"/>
- 	<type name="D" instantiate="false">
- 		<field name="f2" reference="false"/>
- 	</type>
- 	<type name="IC" implement="false"/>
- </package>
- <package name="a.b.c.spi">
- 	<type name="SpiB" extend="false"/>
- 	<type name="SpiC" instantiate="false">
- 		<field name="f4" reference="false"/>
- 		<method name="m4" signature="()V" extend="false"/>
- 	</type>
- 	<type name="SpiD" extend="false" instantiate="false" />
- 	<type name="SpiE" reference="false"/>
- 	<type name="ISpiB" implement="false"/>
- </package>
- <package name="a.b.c.internal">
- </package>
-
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-xml/.api_filters b/apitools/org.eclipse.pde.api.tools.tests/test-xml/.api_filters
deleted file mode 100644
index 181b81b..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-xml/.api_filters
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-	Copyright (c) IBM Corporation and others 2008. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page.
-	
-	All Platform Debug contexts, those for org.eclipse.debug.ui, are located in this file
-	All contexts are grouped by their relation, with all relations grouped alphabetically.
--->
-  <component id="APIPluginTests">
-	  <!--
-	  	Test the kind for RestrictionModifiers#NO_IMPLEMENT
-	  -->
-	  <resource path="src/x/y/z/C4.java">
-	  	<filter severity="2" id="33686528" message="Test the kind for RestrictionModifiers#NO_IMPLEMENT"/>
-	  </resource>
-	  
-	  <!--
-	  	Test the kind for IDelta#REMOVED with flags IDelta#FIELD
-	  	Test the kind for IDelta#CHANGED with flags IDelta#VARARGS_TO_ARRAY
-	  -->
-	  <resource path="src/x/C1.java">
-	  	<filter severity="1" id="17040145" message="Test the kind for IDelta#REMOVED with flags IDelta#FIELD"/>
-	  	<filter severity="0" id="17039927" message="Test the kind for IDelta#CHANGED with flags IDelta#VARARGS_TO_ARRAY"/>
-	  </resource>
-	   
-	  <!--
-	  	Test the kind for IApiMarkerConstants#MARKER_ATTR_MAJOR_VERSION_CHANGE
-	  	Test the kind for IApiMarkerConstants#MARKER_ATTR_MINOR_VERSION_CHANGE
-	  -->
-	  <resource path="src/x/y/C3.java">
-	  	<filter severity="2" id="67567872" message="Test the kind for IApiMarkerConstants#MARKER_ATTR_MAJOR_VERSION_CHANGE"/>
-	  	<filter severity="2" id="67568128" message="Test the kind for IApiMarkerConstants#MARKER_ATTR_MINOR_VERSION_CHANGE"/>
-	  </resource>
-	  
-	  <!--
-	  	Test the kind for IApiMarkerConstants#MARKER_ATTR_SINCE_TAG_MISSING
-	  	Test the kind for IApiMarkerConstants#MARKER_ATTR_SINCE_TAG_MALFORMED
-	  	Test the kind for IApiMarkerConstants#MARKER_ATTR_SINCE_TAG_INVALID
-	  -->
-	  <resource path="META-INF/MANIFEST.MF">
-	  	<filter severity="1" id="134677248" message="Test the kind for IApiMarkerConstants#MARKER_ATTR_SINCE_TAG_MISSING"/>
-	  	<filter severity="1" id="134676992" message="Test the kind for IApiMarkerConstants#MARKER_ATTR_SINCE_TAG_MALFORMED"/>
-	  	<filter severity="1" id="134676736" message="Test the kind for IApiMarkerConstants#MARKER_ATTR_SINCE_TAG_INVALID"/>
-	  </resource>
-  </component>
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-xml/Dummy.class b/apitools/org.eclipse.pde.api.tools.tests/test-xml/Dummy.class
deleted file mode 100644
index 96d6b41..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-xml/Dummy.class
+++ /dev/null
@@ -1 +0,0 @@
-Dummy class file for test suite to indicate the package is not empty
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-xml/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/test-xml/META-INF/MANIFEST.MF
deleted file mode 100644
index 6bc11a9..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-xml/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-Name: test
-Bundle-SymbolicName: test
-Bundle-Version: test
-Export-Package: .,
- a.b.c,
- a.b.c.spi,
- a.b.c.internal;x-friends:="a.friend"
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-xml/a/b/c/Dummy.class b/apitools/org.eclipse.pde.api.tools.tests/test-xml/a/b/c/Dummy.class
deleted file mode 100644
index 96d6b41..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-xml/a/b/c/Dummy.class
+++ /dev/null
@@ -1 +0,0 @@
-Dummy class file for test suite to indicate the package is not empty
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-xml/a/b/c/internal/Dummy.class b/apitools/org.eclipse.pde.api.tools.tests/test-xml/a/b/c/internal/Dummy.class
deleted file mode 100644
index 96d6b41..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-xml/a/b/c/internal/Dummy.class
+++ /dev/null
@@ -1 +0,0 @@
-Dummy class file for test suite to indicate the package is not empty
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test-xml/a/b/c/spi/Dummy.class b/apitools/org.eclipse.pde.api.tools.tests/test-xml/a/b/c/spi/Dummy.class
deleted file mode 100644
index 96d6b41..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test-xml/a/b/c/spi/Dummy.class
+++ /dev/null
@@ -1 +0,0 @@
-Dummy class file for test suite to indicate the package is not empty
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/test.xml b/apitools/org.eclipse.pde.api.tools.tests/test.xml
deleted file mode 100644
index f9797c3..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/test.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="testsuite" default="run" basedir=".">
-  <!-- The property ${eclipse-home} should be passed into this script -->
-  <!-- Set a meaningful default value for when it is not. -->
-  <property name="eclipse-home" value="${basedir}\..\.."/>
-
-  <!-- sets the properties eclipse-home, and library-file -->
-  <property name="plugin-name" value="org.eclipse.pde.api.tools.tests"/>
-  <property name="plugin-dir" value="${eclipse-home}/plugins"/>
-  <property name="library-file"
-            value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>
-
-  <!-- This target holds all initialization code that needs to be done for -->
-  <!-- all tests that are to be run. Initialization for individual tests -->
-  <!-- should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-    <delete>
-      <fileset dir="${eclipse-home}" includes="org*.xml"/>
-    </delete>
-  </target>
-
-  <!-- This target defines the tests that need to be run. -->
-  <target name="suite">
-    <!-- Api Tools Plugin test suite -->
-    <property name="api-tools-plugins-folder" 
-              value="${eclipse-home}/api_tools_plugins_folder"/>
-    <delete dir="${jdt-model-folder}" quiet="true"/>
-    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-      <!-- Use a subdir 'data' so that the JCL jars are put in jdt-model-folder and are deleted at the end of the tests. -->
-      <property name="data-dir" value="${api-tools-plugins-folder}/data"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" 
-                value="org.eclipse.pde.api.tools.tests.ApiToolsPluginTestSuite"/>
-        <property name="vmargs" value="-Xmx300M" />
-    </ant>
-
-    <!-- Api Tools test suite -->
-    <property name="api-tools-folder" 
-              value="${eclipse-home}/api_tools_folder"/>
-    <delete dir="${jdt-dom-folder}" quiet="true"/>
-    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-	  <!-- Use a subdir 'data' so that the JCL jars are put in jdt-model-folder and are deleted at the end of the tests. -->
-      <property name="data-dir" value="${api-tools-folder}/data"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" 
-                value="org.eclipse.pde.api.tools.tests.ApiToolsTestSuite"/>
-      <property name="vmargs" value="-DrequiredBundles=${plugin-dir}"/>
-    </ant>
-  </target>
-
-  <!-- This target holds code to cleanup the testing environment after -->
-  <!-- after all of the tests have been run. You can use this target to -->
-  <!-- delete temporary files that have been created. -->
-  <target name="cleanup">
-  </target>
-
-  <!-- This target runs the test suite. Any actions that need to happen -->
-  <!-- after all the tests have been run should go here. -->
-  <target name="run" depends="init,suite,cleanup">
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>
-  </target>
-
-  <!-- This target runs the performance test suites. -->
-  <target name="performance">
-  </target>
-
-</project>
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test1/after/Annot.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test1/after/Annot.java
deleted file mode 100644
index ff62bf2..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test1/after/Annot.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public @interface Annot {
-	int id() default 0;
-	String name() default "";
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test1/before/Annot.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test1/before/Annot.java
deleted file mode 100644
index d7f8400..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test1/before/Annot.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public @interface Annot {
-	int id() default 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test2/after/Annot.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test2/after/Annot.java
deleted file mode 100644
index d7f8400..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test2/after/Annot.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public @interface Annot {
-	int id() default 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test2/before/Annot.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test2/before/Annot.java
deleted file mode 100644
index ff62bf2..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test2/before/Annot.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public @interface Annot {
-	int id() default 0;
-	String name() default "";
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test3/after/Annot.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test3/after/Annot.java
deleted file mode 100644
index a936a48..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test3/after/Annot.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public @interface Annot {
-	int id() default 0;
-	String name();
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test3/before/Annot.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test3/before/Annot.java
deleted file mode 100644
index d7f8400..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test3/before/Annot.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public @interface Annot {
-	int id() default 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test4/after/Annot.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test4/after/Annot.java
deleted file mode 100644
index 1a44671..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test4/after/Annot.java
+++ /dev/null
@@ -1,15 +0,0 @@
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Target;
-
-public @interface Annot {
-	String name() default "";
-	Class<? extends Object> getClazz() default Object.class;
-	ElementType getElementType() default ElementType.FIELD;
-	Target getTarget() default @Target({ElementType.METHOD});
-	float getF() default 0.0f;
-	double getD() default -0.0;
-	short getS() default 0;
-	boolean getB() default false;
-	char getC() default ' ';
-	long getL() default Long.MAX_VALUE;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test4/before/Annot.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test4/before/Annot.java
deleted file mode 100644
index d7f8400..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test4/before/Annot.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public @interface Annot {
-	int id() default 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test5/after/Annot.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test5/after/Annot.java
deleted file mode 100644
index 8ad1ad6..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test5/after/Annot.java
+++ /dev/null
@@ -1,17 +0,0 @@
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Target;
-
-public @interface Annot {
-	String[] name() default {""};
-	Class<? extends Object>[] getClazz() default { Object.class };
-	ElementType[] getElementType() default { ElementType.FIELD };
-	Target[] getTarget() default { @Target({ElementType.METHOD}) };
-	float[] getF() default { 0.0f };
-	double[] getD() default { -0.0 };
-	short[] getS() default { 0 };
-	boolean[] getB() default { false };
-	char[] getC() default { ' ' };
-	long[] getL() default { Long.MAX_VALUE };
-	byte[] getByte() default { 0 };
-	int[] getInts() default { 0 };
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test5/before/Annot.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test5/before/Annot.java
deleted file mode 100644
index d7f8400..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test5/before/Annot.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public @interface Annot {
-	int id() default 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test6/after/Annot.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test6/after/Annot.java
deleted file mode 100644
index 8ad1ad6..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test6/after/Annot.java
+++ /dev/null
@@ -1,17 +0,0 @@
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Target;
-
-public @interface Annot {
-	String[] name() default {""};
-	Class<? extends Object>[] getClazz() default { Object.class };
-	ElementType[] getElementType() default { ElementType.FIELD };
-	Target[] getTarget() default { @Target({ElementType.METHOD}) };
-	float[] getF() default { 0.0f };
-	double[] getD() default { -0.0 };
-	short[] getS() default { 0 };
-	boolean[] getB() default { false };
-	char[] getC() default { ' ' };
-	long[] getL() default { Long.MAX_VALUE };
-	byte[] getByte() default { 0 };
-	int[] getInts() default { 0 };
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test6/before/Annot.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test6/before/Annot.java
deleted file mode 100644
index a8313f1..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test6/before/Annot.java
+++ /dev/null
@@ -1,17 +0,0 @@
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Target;
-
-public @interface Annot {
-	String[] name() default {"test"};
-	Class<? extends Object>[] getClazz() default { String.class };
-	ElementType[] getElementType() default { ElementType.METHOD };
-	Target[] getTarget() default { @Target({ElementType.FIELD}) };
-	float[] getF() default { 1.0f };
-	double[] getD() default { 1.0 };
-	short[] getS() default { 1 };
-	boolean[] getB() default { true };
-	char[] getC() default { 'C' };
-	long[] getL() default { Long.MIN_VALUE };
-	byte[] getByte() default { 2 };
-	int[] getInts() default { 4 };
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test7/after/Annot.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test7/after/Annot.java
deleted file mode 100644
index 21f8761..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test7/after/Annot.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public @interface Annot {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test7/before/Annot.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test7/before/Annot.java
deleted file mode 100644
index be73035..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test7/before/Annot.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public @interface Annot {
-	int[] getInts() default { 4 };
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test8/after/Annot.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test8/after/Annot.java
deleted file mode 100644
index 21f8761..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test8/after/Annot.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public @interface Annot {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test8/before/Annot.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test8/before/Annot.java
deleted file mode 100644
index eb0041a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/annotation/test8/before/Annot.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public @interface Annot {
-	int[] getInts();
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test1/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test1/after/X.java
deleted file mode 100644
index 45e0256..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test1/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	Integer s = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test1/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test1/before/X.java
deleted file mode 100644
index 45e0256..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test1/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	Integer s = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test1/resources/after/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test1/resources/after/META-INF/MANIFEST.MF
deleted file mode 100644
index 0231897..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test1/resources/after/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest1
-Bundle-Version: 1.0.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: .,
- p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test1/resources/before/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test1/resources/before/META-INF/MANIFEST.MF
deleted file mode 100644
index 8788644..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test1/resources/before/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest
-Bundle-Version: 1.0.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: .,
- p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test2/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test2/after/X.java
deleted file mode 100644
index 45e0256..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test2/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	Integer s = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test2/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test2/before/X.java
deleted file mode 100644
index 45e0256..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test2/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	Integer s = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test2/resources/after/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test2/resources/after/META-INF/MANIFEST.MF
deleted file mode 100644
index 53a72d3..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test2/resources/after/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest1
-Bundle-Version: 1.0.1
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.0/Foundation-1.0,
- JRE-1.1
-Export-Package: .,
- p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test2/resources/before/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test2/resources/before/META-INF/MANIFEST.MF
deleted file mode 100644
index 0231897..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test2/resources/before/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest1
-Bundle-Version: 1.0.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: .,
- p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test3/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test3/after/X.java
deleted file mode 100644
index 45e0256..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test3/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	Integer s = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test3/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test3/before/X.java
deleted file mode 100644
index 45e0256..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test3/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	Integer s = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test3/resources/after/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test3/resources/after/META-INF/MANIFEST.MF
deleted file mode 100644
index 33e2d71..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test3/resources/after/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest1
-Bundle-Version: 1.0.1
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- JRE-1.1
-Export-Package: .,
- p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test3/resources/before/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test3/resources/before/META-INF/MANIFEST.MF
deleted file mode 100644
index 11a72a7..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test3/resources/before/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest1
-Bundle-Version: 1.0.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.0/Foundation-1.0,
- JRE-1.1
-Export-Package: .,
- p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test4/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test4/after/X.java
deleted file mode 100644
index 45e0256..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test4/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	Integer s = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test4/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test4/before/X.java
deleted file mode 100644
index 45e0256..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test4/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	Integer s = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test4/resources/after/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test4/resources/after/META-INF/MANIFEST.MF
deleted file mode 100644
index 33e2d71..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test4/resources/after/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest1
-Bundle-Version: 1.0.1
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- JRE-1.1
-Export-Package: .,
- p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test4/resources/before/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test4/resources/before/META-INF/MANIFEST.MF
deleted file mode 100644
index e8b3ff9..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test4/resources/before/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest1
-Bundle-Version: 1.0.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.0/Foundation-1.0
-Export-Package: .,
- p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test5/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test5/after/X.java
deleted file mode 100644
index 45e0256..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test5/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	Integer s = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test5/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test5/before/X.java
deleted file mode 100644
index 45e0256..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test5/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	Integer s = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test5/resources/after/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test5/resources/after/META-INF/MANIFEST.MF
deleted file mode 100644
index 962fe46..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test5/resources/after/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest1
-Bundle-Version: 1.0.1
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: .,
- p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test5/resources/before/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test5/resources/before/META-INF/MANIFEST.MF
deleted file mode 100644
index d15ec1c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test5/resources/before/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest1
-Bundle-Version: 1.0.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: .,
- p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test6/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test6/after/X.java
deleted file mode 100644
index 45e0256..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test6/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	Integer s = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test6/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test6/before/X.java
deleted file mode 100644
index 45e0256..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test6/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	Integer s = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test6/resources/after/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test6/resources/after/META-INF/MANIFEST.MF
deleted file mode 100644
index 962fe46..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test6/resources/after/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest1
-Bundle-Version: 1.0.1
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: .,
- p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test6/resources/before/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test6/resources/before/META-INF/MANIFEST.MF
deleted file mode 100644
index d15ec1c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test6/resources/before/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest1
-Bundle-Version: 1.0.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: .,
- p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test7/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test7/after/X.java
deleted file mode 100644
index 45e0256..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test7/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	Integer s = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test7/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test7/before/X.java
deleted file mode 100644
index 45e0256..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test7/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	Integer s = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test7/resources/after/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test7/resources/after/META-INF/MANIFEST.MF
deleted file mode 100644
index 962fe46..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test7/resources/after/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest1
-Bundle-Version: 1.0.1
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: .,
- p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test7/resources/before/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test7/resources/before/META-INF/MANIFEST.MF
deleted file mode 100644
index d15ec1c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test7/resources/before/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest1
-Bundle-Version: 1.0.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: .,
- p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test8/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test8/after/X.java
deleted file mode 100644
index 45e0256..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test8/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	Integer s = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test8/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test8/before/X.java
deleted file mode 100644
index 45e0256..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test8/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	Integer s = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test8/resources/after/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test8/resources/after/META-INF/MANIFEST.MF
deleted file mode 100644
index 962fe46..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test8/resources/after/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest1
-Bundle-Version: 1.0.1
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: .,
- p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test8/resources/before/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test8/resources/before/META-INF/MANIFEST.MF
deleted file mode 100644
index 0231897..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test8/resources/before/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest1
-Bundle-Version: 1.0.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: .,
- p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test9/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test9/after/X.java
deleted file mode 100644
index 45e0256..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test9/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	Integer s = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test9/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test9/before/X.java
deleted file mode 100644
index 45e0256..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test9/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	Integer s = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test9/resources/after/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test9/resources/after/META-INF/MANIFEST.MF
deleted file mode 100644
index 2be7b21..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test9/resources/after/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest1
-Bundle-Version: 1.0.1
-Bundle-RequiredExecutionEnvironment: J2SE-1.3,
- J2SE-1.5,
- OSGi/Minimum-1.1,
- OSGi/Minimum-1.0
-Export-Package: .,
- p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test9/resources/before/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test9/resources/before/META-INF/MANIFEST.MF
deleted file mode 100644
index 59b70d5..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/bundles/test9/resources/before/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest1
-Bundle-Version: 1.0.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.3,
- J2SE-1.4,
- J2SE-1.5
-Export-Package: .,
- p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test1/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test1/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test1/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test1/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test1/before/X.java
deleted file mode 100644
index 0b83593..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test1/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test10/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test10/after/X.java
deleted file mode 100644
index b52425e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test10/after/X.java
+++ /dev/null
@@ -1,8 +0,0 @@
-public class X {
-	public int bar() {
-		return 0;
-	}
-	public void foo() {}
-	public int j;
-	public int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test10/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test10/before/X.java
deleted file mode 100644
index 9bffb96..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test10/before/X.java
+++ /dev/null
@@ -1,8 +0,0 @@
-public class X {
-	public int i;
-	public void foo() {}
-	public int bar() {
-		return 0;
-	}
-	public int j;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test100/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test100/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test100/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test100/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test100/before/X.java
deleted file mode 100644
index c77966f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test100/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	protected int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test100/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test100/resources/component.xml
deleted file mode 100644
index 07b3bd4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test100/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
-<plugin id="deltatest" />
-
-<package name="">
-	<type name="X" extend="false"/>
-</package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/resources/after/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/resources/after/META-INF/MANIFEST.MF
deleted file mode 100644
index 1ef4a17..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/resources/after/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest
-Bundle-Version: 1.0.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/resources/after/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/resources/after/component.xml
deleted file mode 100644
index be8c55f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/resources/after/component.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
-<plugin id="deltatest" />
-
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/resources/before/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/resources/before/component.xml
deleted file mode 100644
index 9846842..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/resources/before/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
-<plugin id="deltatest" />
-
-<package name="">
-	<type name="X"/>
-</package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/resources/component.xml
deleted file mode 100644
index 07b3bd4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test101/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
-<plugin id="deltatest" />
-
-<package name="">
-	<type name="X" extend="false"/>
-</package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/resources/after/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/resources/after/META-INF/MANIFEST.MF
deleted file mode 100644
index 8788644..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/resources/after/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest
-Bundle-Version: 1.0.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: .,
- p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/resources/after/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/resources/after/component.xml
deleted file mode 100644
index be8c55f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/resources/after/component.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
-<plugin id="deltatest" />
-
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/resources/before/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/resources/before/META-INF/MANIFEST.MF
deleted file mode 100644
index 1ef4a17..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/resources/before/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest
-Bundle-Version: 1.0.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/resources/before/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/resources/before/component.xml
deleted file mode 100644
index 9846842..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/resources/before/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
-<plugin id="deltatest" />
-
-<package name="">
-	<type name="X"/>
-</package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/resources/component.xml
deleted file mode 100644
index 07b3bd4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test102/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
-<plugin id="deltatest" />
-
-<package name="">
-	<type name="X" extend="false"/>
-</package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/resources/after/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/resources/after/META-INF/MANIFEST.MF
deleted file mode 100644
index d8b4736..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/resources/after/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest
-Bundle-Version: 1.0.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: p
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/resources/after/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/resources/after/component.xml
deleted file mode 100644
index be8c55f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/resources/after/component.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
-<plugin id="deltatest" />
-
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/resources/before/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/resources/before/component.xml
deleted file mode 100644
index 9846842..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/resources/before/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
-<plugin id="deltatest" />
-
-<package name="">
-	<type name="X"/>
-</package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/resources/component.xml
deleted file mode 100644
index 07b3bd4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test103/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
-<plugin id="deltatest" />
-
-<package name="">
-	<type name="X" extend="false"/>
-</package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test104/after/p/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test104/after/p/X.java
deleted file mode 100644
index 3524a02..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test104/after/p/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-
-public final class X {
-	public int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test104/before/p/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test104/before/p/X.java
deleted file mode 100644
index f94fa06..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test104/before/p/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-
-public final class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test104/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test104/resources/component.xml
deleted file mode 100644
index aaede7e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test104/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="p">
- 	<type name="X" extend="true"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test105/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test105/after/X.java
deleted file mode 100644
index f3ac9d9..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test105/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	X(int i) {}
-	protected void foo(String s) {}
-	protected void foo(float f) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test105/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test105/before/X.java
deleted file mode 100644
index 47dc8e2..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test105/before/X.java
+++ /dev/null
@@ -1,6 +0,0 @@
-public class X {
-	X(int i) {}
-	protected void foo(String s) {}
-	protected void foo(int i) {}
-	protected void foo(float f) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test105/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test105/resources/component.xml
deleted file mode 100644
index a5bea87..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test105/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="X" extend="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test106/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test106/after/X.java
deleted file mode 100644
index f3ac9d9..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test106/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	X(int i) {}
-	protected void foo(String s) {}
-	protected void foo(float f) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test106/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test106/before/X.java
deleted file mode 100644
index 47dc8e2..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test106/before/X.java
+++ /dev/null
@@ -1,6 +0,0 @@
-public class X {
-	X(int i) {}
-	protected void foo(String s) {}
-	protected void foo(int i) {}
-	protected void foo(float f) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test106/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test106/resources/component.xml
deleted file mode 100644
index 80484b3..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test106/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="X" extend="true"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test107/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test107/after/X.java
deleted file mode 100644
index e668a94..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test107/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	protected X(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test107/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test107/before/X.java
deleted file mode 100644
index c6e3457..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test107/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	protected X(int i) {}
-	protected X(String s) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test107/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test107/resources/component.xml
deleted file mode 100644
index a5bea87..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test107/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="X" extend="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test108/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test108/after/X.java
deleted file mode 100644
index e668a94..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test108/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	protected X(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test108/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test108/before/X.java
deleted file mode 100644
index c6e3457..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test108/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	protected X(int i) {}
-	protected X(String s) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test108/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test108/resources/component.xml
deleted file mode 100644
index 80484b3..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test108/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="X" extend="true"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test109/after/p/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test109/after/p/X.java
deleted file mode 100644
index af7cd0c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test109/after/p/X.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-
-public class X {
-	protected int foo() {
-		return 0;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test109/before/p/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test109/before/p/X.java
deleted file mode 100644
index 9448b2f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test109/before/p/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test109/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test109/resources/component.xml
deleted file mode 100644
index 0b91d02..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test109/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="p">
- 	<type name="X" extend="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test11/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test11/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test11/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test11/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test11/before/X.java
deleted file mode 100644
index a4bc97c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test11/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	private int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test110/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test110/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test110/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test110/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test110/before/X.java
deleted file mode 100644
index aa2a3f4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test110/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test110/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test110/resources/component.xml
deleted file mode 100644
index 07b3bd4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test110/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
-<plugin id="deltatest" />
-
-<package name="">
-	<type name="X" extend="false"/>
-</package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test111/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test111/after/X.java
deleted file mode 100644
index f3ac9d9..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test111/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	X(int i) {}
-	protected void foo(String s) {}
-	protected void foo(float f) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test111/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test111/before/X.java
deleted file mode 100644
index a3abf3e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test111/before/X.java
+++ /dev/null
@@ -1,6 +0,0 @@
-public class X {
-	X(int i) {}
-	protected void foo(String s) {}
-	public void foo(int i) {}
-	protected void foo(float f) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test111/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test111/resources/component.xml
deleted file mode 100644
index a5bea87..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test111/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="X" extend="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test112/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test112/after/X.java
deleted file mode 100644
index e668a94..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test112/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	protected X(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test112/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test112/before/X.java
deleted file mode 100644
index 2881f69..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test112/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	protected X(int i) {}
-	public X(String s) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test112/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test112/resources/component.xml
deleted file mode 100644
index a5bea87..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test112/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="X" extend="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test12/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test12/after/X.java
deleted file mode 100644
index a4bc97c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test12/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	private int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test12/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test12/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test12/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test13/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test13/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test13/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test13/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test13/before/X.java
deleted file mode 100644
index 4a7e102..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test13/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test14/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test14/after/X.java
deleted file mode 100644
index 4a7e102..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test14/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test14/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test14/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test14/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test15/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test15/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test15/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test15/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test15/before/X.java
deleted file mode 100644
index 5d4140a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test15/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	private void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test16/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test16/after/X.java
deleted file mode 100644
index 5d4140a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test16/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	private void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test16/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test16/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test16/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test17/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test17/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test17/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test17/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test17/before/X.java
deleted file mode 100644
index 306f151..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test17/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test18/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test18/after/X.java
deleted file mode 100644
index 306f151..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test18/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test18/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test18/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test18/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test19/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test19/after/X.java
deleted file mode 100644
index 561ba93..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test19/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public X() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test19/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test19/before/X.java
deleted file mode 100644
index a69085e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test19/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public X() {}
-	private X(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test2/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test2/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test2/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test2/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test2/before/X.java
deleted file mode 100644
index 5d4140a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test2/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	private void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test20/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test20/after/X.java
deleted file mode 100644
index a69085e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test20/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public X() {}
-	private X(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test20/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test20/before/X.java
deleted file mode 100644
index 561ba93..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test20/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public X() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test21/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test21/after/X.java
deleted file mode 100644
index 561ba93..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test21/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public X() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test21/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test21/before/X.java
deleted file mode 100644
index b91c21a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test21/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public X() {}
-	X(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test22/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test22/after/X.java
deleted file mode 100644
index b91c21a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test22/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public X() {}
-	X(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test22/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test22/before/X.java
deleted file mode 100644
index 561ba93..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test22/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public X() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test23/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test23/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test23/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test23/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test23/before/X.java
deleted file mode 100644
index 25a4de4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test23/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public abstract class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test24/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test24/after/X.java
deleted file mode 100644
index 25a4de4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test24/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public abstract class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test24/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test24/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test24/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test25/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test25/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test25/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test25/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test25/before/X.java
deleted file mode 100644
index b03b61e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test25/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public final class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test26/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test26/after/X.java
deleted file mode 100644
index b03b61e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test26/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public final class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test26/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test26/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test26/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test27/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test27/after/X.java
deleted file mode 100644
index 1781ed3..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test27/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X<T> {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test27/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test27/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test27/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test28/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test28/after/X.java
deleted file mode 100644
index 3dbf133..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test28/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X<T, U> {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test28/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test28/before/X.java
deleted file mode 100644
index 1781ed3..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test28/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X<T> {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test29/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test29/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test29/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test29/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test29/before/X.java
deleted file mode 100644
index 1781ed3..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test29/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X<T> {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test3/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test3/after/X.java
deleted file mode 100644
index 561ba93..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test3/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public X() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test3/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test3/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test3/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test30/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test30/after/X.java
deleted file mode 100644
index d82b42a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test30/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X<U> {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test30/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test30/before/X.java
deleted file mode 100644
index 1781ed3..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test30/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X<T> {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test31/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test31/after/X.java
deleted file mode 100644
index 1781ed3..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test31/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X<T> {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test31/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test31/before/X.java
deleted file mode 100644
index 44e7360..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test31/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-import java.io.Serializable;
-
-public class X<T extends Serializable > {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test32/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test32/after/X.java
deleted file mode 100644
index 1a14fc8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test32/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-import java.io.Serializable;
-
-public class X<T extends Object & Serializable > {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test32/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test32/before/X.java
deleted file mode 100644
index 8f71754..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test32/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X<T extends Object > {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test33/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test33/after/X.java
deleted file mode 100644
index 1a14fc8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test33/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-import java.io.Serializable;
-
-public class X<T extends Object & Serializable > {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test33/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test33/before/X.java
deleted file mode 100644
index 44e7360..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test33/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-import java.io.Serializable;
-
-public class X<T extends Serializable > {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test34/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test34/after/X.java
deleted file mode 100644
index 6019bd2..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test34/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	protected static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test34/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test34/before/X.java
deleted file mode 100644
index 4beae74..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test34/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test35/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test35/after/X.java
deleted file mode 100644
index cca8986..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test35/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test35/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test35/before/X.java
deleted file mode 100644
index 4beae74..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test35/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test36/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test36/after/X.java
deleted file mode 100644
index d9a6476..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test36/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	private static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test36/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test36/before/X.java
deleted file mode 100644
index 4beae74..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test36/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test37/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test37/after/X.java
deleted file mode 100644
index cca8986..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test37/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test37/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test37/before/X.java
deleted file mode 100644
index d9a6476..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test37/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	private static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test38/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test38/after/X.java
deleted file mode 100644
index 6019bd2..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test38/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	protected static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test38/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test38/before/X.java
deleted file mode 100644
index d9a6476..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test38/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	private static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test39/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test39/after/X.java
deleted file mode 100644
index 4beae74..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test39/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test39/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test39/before/X.java
deleted file mode 100644
index d9a6476..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test39/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	private static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test4/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test4/after/X.java
deleted file mode 100644
index a9a9c5d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test4/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public X(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test4/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test4/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test4/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test40/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test40/after/X.java
deleted file mode 100644
index 6019bd2..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test40/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	protected static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test40/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test40/before/X.java
deleted file mode 100644
index cca8986..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test40/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test41/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test41/after/X.java
deleted file mode 100644
index 4beae74..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test41/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test41/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test41/before/X.java
deleted file mode 100644
index cca8986..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test41/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test42/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test42/after/X.java
deleted file mode 100644
index 4beae74..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test42/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test42/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test42/before/X.java
deleted file mode 100644
index 6019bd2..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test42/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	protected static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test43/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test43/after/X.java
deleted file mode 100644
index d9a6476..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test43/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	private static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test43/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test43/before/X.java
deleted file mode 100644
index 6019bd2..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test43/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	protected static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test44/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test44/after/X.java
deleted file mode 100644
index cca8986..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test44/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test44/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test44/before/X.java
deleted file mode 100644
index 6019bd2..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test44/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	protected static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test45/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test45/after/X.java
deleted file mode 100644
index 54ae39f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test45/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-import java.io.Serializable;
-
-public class X <T extends Serializable & Cloneable> {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test45/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test45/before/X.java
deleted file mode 100644
index d24548d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test45/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-import java.io.Serializable;
-
-public class X <T extends Exception & Serializable & Cloneable> {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test46/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test46/after/X.java
deleted file mode 100644
index d24548d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test46/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-import java.io.Serializable;
-
-public class X <T extends Exception & Serializable & Cloneable> {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test46/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test46/before/X.java
deleted file mode 100644
index 9da667f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test46/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-import java.io.Serializable;
-
-public class X <T extends Exception & Serializable> {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test47/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test47/after/X.java
deleted file mode 100644
index 9da667f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test47/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-import java.io.Serializable;
-
-public class X <T extends Exception & Serializable> {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test47/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test47/before/X.java
deleted file mode 100644
index d24548d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test47/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-import java.io.Serializable;
-
-public class X <T extends Exception & Serializable & Cloneable> {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test48/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test48/after/X.java
deleted file mode 100644
index e778ad5..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test48/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-import java.io.Serializable;
-
-public class X <T extends Exception & Cloneable & Serializable> {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test48/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test48/before/X.java
deleted file mode 100644
index d24548d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test48/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-import java.io.Serializable;
-
-public class X <T extends Exception & Serializable & Cloneable> {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test49/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test49/after/X.java
deleted file mode 100644
index c5ff877..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test49/after/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public class X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test49/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test49/before/X.java
deleted file mode 100644
index 13b666d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test49/before/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public class X extends Exception {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test5/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test5/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test5/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test5/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test5/before/X.java
deleted file mode 100644
index 561ba93..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test5/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public X() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/after/p/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/after/p/X.java
deleted file mode 100644
index deb3710..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/after/p/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-
-public class X extends Y {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/after/p/Y.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/after/p/Y.java
deleted file mode 100644
index 1c93301..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/after/p/Y.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-
-public class Y extends Z {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/after/p/Z.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/after/p/Z.java
deleted file mode 100644
index 2c1015d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/after/p/Z.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-
-public class Z extends Exception {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/before/p/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/before/p/X.java
deleted file mode 100644
index deb3710..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/before/p/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-
-public class X extends Y {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/before/p/Y.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/before/p/Y.java
deleted file mode 100644
index 1c93301..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/before/p/Y.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-
-public class Y extends Z {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/before/p/Z.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/before/p/Z.java
deleted file mode 100644
index 162de77..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test50/before/p/Z.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-
-public class Z {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/after/p/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/after/p/X.java
deleted file mode 100644
index deb3710..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/after/p/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-
-public class X extends Y {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/after/p/Y.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/after/p/Y.java
deleted file mode 100644
index 1c93301..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/after/p/Y.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-
-public class Y extends Z {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/after/p/Z.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/after/p/Z.java
deleted file mode 100644
index 162de77..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/after/p/Z.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-
-public class Z {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/before/p/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/before/p/X.java
deleted file mode 100644
index deb3710..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/before/p/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-
-public class X extends Y {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/before/p/Y.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/before/p/Y.java
deleted file mode 100644
index 1c93301..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/before/p/Y.java
+++ /dev/null
@@ -1,3 +0,0 @@
-package p;
-
-public class Y extends Z {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/before/p/Z.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/before/p/Z.java
deleted file mode 100644
index 2c1015d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test51/before/p/Z.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-
-public class Z extends Exception {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test52/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test52/after/I.java
deleted file mode 100644
index 8b8c2e8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test52/after/I.java
+++ /dev/null
@@ -1 +0,0 @@
-public interface I {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test52/after/J.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test52/after/J.java
deleted file mode 100644
index f28d269..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test52/after/J.java
+++ /dev/null
@@ -1 +0,0 @@
-public interface J {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test52/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test52/after/X.java
deleted file mode 100644
index 0ee8f09..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test52/after/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public class X implements J {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test52/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test52/before/I.java
deleted file mode 100644
index 8b8c2e8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test52/before/I.java
+++ /dev/null
@@ -1 +0,0 @@
-public interface I {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test52/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test52/before/X.java
deleted file mode 100644
index fb49966..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test52/before/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public class X implements I {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test53/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test53/after/X.java
deleted file mode 100644
index c5ff877..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test53/after/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public class X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test53/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test53/before/X.java
deleted file mode 100644
index 31a0194..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test53/before/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public class X implements Cloneable {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test54/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test54/after/X.java
deleted file mode 100644
index 31a0194..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test54/after/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public class X implements Cloneable {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test54/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test54/before/X.java
deleted file mode 100644
index c5ff877..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test54/before/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public class X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test55/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test55/after/X.java
deleted file mode 100644
index bb7d1e0..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test55/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-import java.io.Serializable;
-
-public class X implements Cloneable, Serializable {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test55/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test55/before/X.java
deleted file mode 100644
index 31a0194..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test55/before/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public class X implements Cloneable {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test56/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test56/after/X.java
deleted file mode 100644
index fec87f8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test56/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X extends Y {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test56/after/Y.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test56/after/Y.java
deleted file mode 100644
index f53879e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test56/after/Y.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class Y {
-	public void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test56/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test56/before/X.java
deleted file mode 100644
index d98d234..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test56/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X extends Y {
-	
-	public void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test56/before/Y.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test56/before/Y.java
deleted file mode 100644
index e7de07f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test56/before/Y.java
+++ /dev/null
@@ -1 +0,0 @@
-public class Y {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test57/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test57/after/X.java
deleted file mode 100644
index fec87f8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test57/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X extends Y {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test57/after/Y.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test57/after/Y.java
deleted file mode 100644
index eb5031e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test57/after/Y.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class Y {
-	public int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test57/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test57/before/X.java
deleted file mode 100644
index 81b5a3c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test57/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X extends Y {
-	
-	public int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test57/before/Y.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test57/before/Y.java
deleted file mode 100644
index e7de07f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test57/before/Y.java
+++ /dev/null
@@ -1 +0,0 @@
-public class Y {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test58/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test58/after/X.java
deleted file mode 100644
index f434667..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test58/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public Object foo() {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test58/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test58/before/X.java
deleted file mode 100644
index b7b4071..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test58/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public Object foo() {
-		return new Object() {};
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test59/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test59/after/X.java
deleted file mode 100644
index f434667..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test59/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public Object foo() {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test59/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test59/before/X.java
deleted file mode 100644
index bf27f5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test59/before/X.java
+++ /dev/null
@@ -1,6 +0,0 @@
-public class X {
-	public Object foo() {
-		class C {}
-		return new C();
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test6/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test6/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test6/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test6/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test6/before/X.java
deleted file mode 100644
index a9a9c5d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test6/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public X(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test60/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test60/after/X.java
deleted file mode 100644
index da18266..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test60/after/X.java
+++ /dev/null
@@ -1,7 +0,0 @@
-public class X {
-	private int i;
-	
-	public int foo() {
-		return i;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test60/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test60/before/X.java
deleted file mode 100644
index 8957c70..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test60/before/X.java
+++ /dev/null
@@ -1,16 +0,0 @@
-public class X {
-	private int i;
-	
-	public int foo() {
-		class C {
-			int value;
-			C(int value) {
-				this.value = value + i;
-			}
-			int getValue() {
-				return this.value;
-			}
-		}
-		return new C(0).getValue();
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test61/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test61/after/X.java
deleted file mode 100644
index 8957c70..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test61/after/X.java
+++ /dev/null
@@ -1,16 +0,0 @@
-public class X {
-	private int i;
-	
-	public int foo() {
-		class C {
-			int value;
-			C(int value) {
-				this.value = value + i;
-			}
-			int getValue() {
-				return this.value;
-			}
-		}
-		return new C(0).getValue();
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test61/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test61/before/X.java
deleted file mode 100644
index a475ba2..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test61/before/X.java
+++ /dev/null
@@ -1,7 +0,0 @@
-public class X {
-	private int i;
-	
-	public int foo() {
-		return this.i;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test62/after/p/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test62/after/p/X.java
deleted file mode 100644
index 9833548..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test62/after/p/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-
-public class X {
-	public int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test62/before/p/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test62/before/p/X.java
deleted file mode 100644
index 9448b2f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test62/before/p/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test62/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test62/resources/component.xml
deleted file mode 100644
index 0b91d02..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test62/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="p">
- 	<type name="X" extend="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test63/after/p/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test63/after/p/X.java
deleted file mode 100644
index 9833548..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test63/after/p/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-
-public class X {
-	public int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test63/before/p/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test63/before/p/X.java
deleted file mode 100644
index 9448b2f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test63/before/p/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test63/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test63/resources/component.xml
deleted file mode 100644
index aaede7e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test63/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="p">
- 	<type name="X" extend="true"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test64/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test64/after/X.java
deleted file mode 100644
index 8ec2eac..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test64/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public class Y {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test64/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test64/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test64/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test65/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test65/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test65/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test65/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test65/before/X.java
deleted file mode 100644
index 8ec2eac..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test65/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public class Y {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test66/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test66/after/X.java
deleted file mode 100644
index 4907bfd..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test66/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public class Y {}
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test66/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test66/before/X.java
deleted file mode 100644
index 8ec2eac..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test66/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public class Y {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test67/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test67/after/X.java
deleted file mode 100644
index 636f309..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test67/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test67/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test67/before/X.java
deleted file mode 100644
index 4907bfd..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test67/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public class Y {}
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test68/after/p/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test68/after/p/X.java
deleted file mode 100644
index f3d8459..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test68/after/p/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-
-public class X {
-	protected int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test68/before/p/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test68/before/p/X.java
deleted file mode 100644
index 9448b2f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test68/before/p/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test68/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test68/resources/component.xml
deleted file mode 100644
index 0b91d02..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test68/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="p">
- 	<type name="X" extend="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test69/after/p/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test69/after/p/X.java
deleted file mode 100644
index f3d8459..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test69/after/p/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-
-public class X {
-	protected int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test69/before/p/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test69/before/p/X.java
deleted file mode 100644
index 9448b2f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test69/before/p/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test69/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test69/resources/component.xml
deleted file mode 100644
index aaede7e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test69/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="p">
- 	<type name="X" extend="true"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test7/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test7/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test7/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test7/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test7/before/X.java
deleted file mode 100644
index aa2a3f4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test7/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test70/after/p/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test70/after/p/X.java
deleted file mode 100644
index 3dd1e9a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test70/after/p/X.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-
-public class X {
-	protected static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test70/before/p/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test70/before/p/X.java
deleted file mode 100644
index 50852dc..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test70/before/p/X.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package p;
-
-public class X {
-	public static class Y {
-		public Y() {}
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test71/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test71/after/X.java
deleted file mode 100644
index fec87f8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test71/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X extends Y {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test71/after/Y.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test71/after/Y.java
deleted file mode 100644
index ede81f6..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test71/after/Y.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class Y {
-	protected int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test71/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test71/before/X.java
deleted file mode 100644
index 6bd63b0..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test71/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X extends Y {
-	protected int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test71/before/Y.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test71/before/Y.java
deleted file mode 100644
index e7de07f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test71/before/Y.java
+++ /dev/null
@@ -1 +0,0 @@
-public class Y {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test72/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test72/after/X.java
deleted file mode 100644
index fec87f8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test72/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X extends Y {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test72/after/Y.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test72/after/Y.java
deleted file mode 100644
index 19dbf1a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test72/after/Y.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class Y {
-	protected void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test72/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test72/before/X.java
deleted file mode 100644
index 879da6e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test72/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X extends Y {
-	
-	protected void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test72/before/Y.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test72/before/Y.java
deleted file mode 100644
index e7de07f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test72/before/Y.java
+++ /dev/null
@@ -1 +0,0 @@
-public class Y {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test73/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test73/after/X.java
deleted file mode 100644
index fec87f8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test73/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X extends Y {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test73/after/Y.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test73/after/Y.java
deleted file mode 100644
index f53879e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test73/after/Y.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class Y {
-	public void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test73/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test73/before/X.java
deleted file mode 100644
index d98d234..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test73/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X extends Y {
-	
-	public void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test73/before/Y.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test73/before/Y.java
deleted file mode 100644
index e7de07f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test73/before/Y.java
+++ /dev/null
@@ -1 +0,0 @@
-public class Y {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test73/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test73/resources/component.xml
deleted file mode 100644
index 6b83aa9..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test73/resources/component.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="X" extend="false"/>
- 	<type name="Y" extend="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test74/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test74/after/X.java
deleted file mode 100644
index 8ec2eac..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test74/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public class Y {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test74/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test74/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test74/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test74/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test74/resources/component.xml
deleted file mode 100644
index a5bea87..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test74/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="X" extend="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test75/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test75/after/X.java
deleted file mode 100644
index 4907bfd..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test75/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public class Y {}
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test75/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test75/before/X.java
deleted file mode 100644
index 8ec2eac..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test75/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public class Y {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test75/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test75/resources/component.xml
deleted file mode 100644
index a5bea87..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test75/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="X" extend="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test76/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test76/after/X.java
deleted file mode 100644
index 369d718..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test76/after/X.java
+++ /dev/null
@@ -1,6 +0,0 @@
-public class X {
-	X(int i) {}
-	public void foo(String s) {}
-	public void foo(int i) {}
-	public void foo(float f) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test76/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test76/before/X.java
deleted file mode 100644
index 369d718..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test76/before/X.java
+++ /dev/null
@@ -1,6 +0,0 @@
-public class X {
-	X(int i) {}
-	public void foo(String s) {}
-	public void foo(int i) {}
-	public void foo(float f) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test77/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test77/after/X.java
deleted file mode 100644
index d044c4a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test77/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	X(int i) {}
-	public void foo(String s) {}
-	public void foo(float f) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test77/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test77/before/X.java
deleted file mode 100644
index 369d718..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test77/before/X.java
+++ /dev/null
@@ -1,6 +0,0 @@
-public class X {
-	X(int i) {}
-	public void foo(String s) {}
-	public void foo(int i) {}
-	public void foo(float f) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test78/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test78/after/X.java
deleted file mode 100644
index 38c22c9..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test78/after/X.java
+++ /dev/null
@@ -1,6 +0,0 @@
-public class X {
-	X(int i) {}
-	public void foo(String s) {}
-	public void foo(float f) {}
-	public void foo(int f) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test78/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test78/before/X.java
deleted file mode 100644
index d044c4a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test78/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	X(int i) {}
-	public void foo(String s) {}
-	public void foo(float f) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/after/X.java
deleted file mode 100644
index fec87f8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X extends Y {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/after/Y.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/after/Y.java
deleted file mode 100644
index 8ab5dcd..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/after/Y.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Y extends Z {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/after/Z.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/after/Z.java
deleted file mode 100644
index b56bacd..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/after/Z.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class Z {
-	public void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/before/X.java
deleted file mode 100644
index d98d234..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X extends Y {
-	
-	public void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/before/Y.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/before/Y.java
deleted file mode 100644
index 42dc2b4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/before/Y.java
+++ /dev/null
@@ -1 +0,0 @@
-public class Y extends Z {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/before/Z.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/before/Z.java
deleted file mode 100644
index 92d5182..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test79/before/Z.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Z {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test8/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test8/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test8/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test8/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test8/before/X.java
deleted file mode 100644
index 85c92b7..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test8/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	static {
-		System.out.println();
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/after/X.java
deleted file mode 100644
index fec87f8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X extends Y {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/after/Y.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/after/Y.java
deleted file mode 100644
index 8ab5dcd..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/after/Y.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Y extends Z {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/after/Z.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/after/Z.java
deleted file mode 100644
index 9de1e3d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/after/Z.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class Z {
-	public int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/before/X.java
deleted file mode 100644
index 628d6db..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X extends Y {
-	public int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/before/Y.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/before/Y.java
deleted file mode 100644
index 42dc2b4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/before/Y.java
+++ /dev/null
@@ -1 +0,0 @@
-public class Y extends Z {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/before/Z.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/before/Z.java
deleted file mode 100644
index 92d5182..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test80/before/Z.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Z {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test81/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test81/after/X.java
deleted file mode 100644
index 5d8b856..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test81/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	private class Y {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test81/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test81/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test81/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test82/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test82/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test82/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test82/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test82/before/X.java
deleted file mode 100644
index 1b23c7a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test82/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	protected class Y {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test83/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test83/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test83/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test83/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test83/before/X.java
deleted file mode 100644
index 5d8b856..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test83/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	private class Y {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test84/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test84/after/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test84/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test84/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test84/before/X.java
deleted file mode 100644
index 73ca674..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test84/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	class Y {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test85/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test85/after/X.java
deleted file mode 100644
index 636f309..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test85/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test85/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test85/before/X.java
deleted file mode 100644
index 7e2bfd5..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test85/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	protected class Y {}
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test86/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test86/after/X.java
deleted file mode 100644
index 636f309..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test86/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test86/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test86/before/X.java
deleted file mode 100644
index 50c897e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test86/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	class Y {}
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test87/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test87/after/X.java
deleted file mode 100644
index 636f309..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test87/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test87/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test87/before/X.java
deleted file mode 100644
index 46e6bf7..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test87/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	private class Y {}
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test88/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test88/after/X.java
deleted file mode 100644
index 7e2bfd5..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test88/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	protected class Y {}
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test88/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test88/before/X.java
deleted file mode 100644
index 636f309..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test88/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test89/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test89/after/X.java
deleted file mode 100644
index 46e6bf7..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test89/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	private class Y {}
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test89/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test89/before/X.java
deleted file mode 100644
index 636f309..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test89/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test9/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test9/after/X.java
deleted file mode 100644
index 85c92b7..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test9/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	static {
-		System.out.println();
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test9/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test9/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test9/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test90/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test90/after/X.java
deleted file mode 100644
index 50c897e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test90/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	class Y {}
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test90/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test90/before/X.java
deleted file mode 100644
index 636f309..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test90/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test91/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test91/after/X.java
deleted file mode 100644
index 7e2bfd5..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test91/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	protected class Y {}
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test91/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test91/before/X.java
deleted file mode 100644
index 636f309..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test91/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test91/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test91/resources/component.xml
deleted file mode 100644
index a5bea87..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test91/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="X" extend="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test92/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test92/after/X.java
deleted file mode 100644
index 46e6bf7..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test92/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	private class Y {}
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test92/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test92/before/X.java
deleted file mode 100644
index 636f309..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test92/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test92/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test92/resources/component.xml
deleted file mode 100644
index a5bea87..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test92/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="X" extend="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test93/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test93/after/X.java
deleted file mode 100644
index 50c897e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test93/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	class Y {}
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test93/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test93/before/X.java
deleted file mode 100644
index 636f309..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test93/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test93/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test93/resources/component.xml
deleted file mode 100644
index a5bea87..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test93/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="X" extend="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test94/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test94/after/X.java
deleted file mode 100644
index 1b23c7a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test94/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	protected class Y {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test94/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test94/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test94/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test94/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test94/resources/component.xml
deleted file mode 100644
index a5bea87..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test94/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="X" extend="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test95/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test95/after/X.java
deleted file mode 100644
index 73ca674..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test95/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	class Y {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test95/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test95/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test95/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test95/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test95/resources/component.xml
deleted file mode 100644
index a5bea87..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test95/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="X" extend="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test96/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test96/after/X.java
deleted file mode 100644
index 5d8b856..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test96/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	private class Y {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test96/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test96/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test96/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test96/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test96/resources/component.xml
deleted file mode 100644
index a5bea87..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test96/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="X" extend="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test97/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test97/after/I.java
deleted file mode 100644
index 8b8c2e8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test97/after/I.java
+++ /dev/null
@@ -1 +0,0 @@
-public interface I {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test97/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test97/after/X.java
deleted file mode 100644
index fb49966..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test97/after/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public class X implements I {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test97/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test97/before/I.java
deleted file mode 100644
index 8b8c2e8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test97/before/I.java
+++ /dev/null
@@ -1 +0,0 @@
-public interface I {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test97/before/J.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test97/before/J.java
deleted file mode 100644
index f28d269..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test97/before/J.java
+++ /dev/null
@@ -1 +0,0 @@
-public interface J {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test97/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test97/before/X.java
deleted file mode 100644
index 0ee8f09..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test97/before/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public class X implements J {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test98/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test98/after/I.java
deleted file mode 100644
index 8b8c2e8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test98/after/I.java
+++ /dev/null
@@ -1 +0,0 @@
-public interface I {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test98/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test98/after/X.java
deleted file mode 100644
index fb49966..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test98/after/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public class X implements I {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test98/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test98/before/I.java
deleted file mode 100644
index 8b8c2e8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test98/before/I.java
+++ /dev/null
@@ -1 +0,0 @@
-public interface I {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test98/before/J.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test98/before/J.java
deleted file mode 100644
index f28d269..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test98/before/J.java
+++ /dev/null
@@ -1 +0,0 @@
-public interface J {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test98/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test98/before/X.java
deleted file mode 100644
index 0ee8f09..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test98/before/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public class X implements J {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/after/X.java
deleted file mode 100644
index fec87f8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/after/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X extends Y {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/after/Y.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/after/Y.java
deleted file mode 100644
index 8ab5dcd..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/after/Y.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Y extends Z {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/after/Z.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/after/Z.java
deleted file mode 100644
index 979f9c2..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/after/Z.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class Z {
-	public static int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/before/X.java
deleted file mode 100644
index fec87f8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X extends Y {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/before/Y.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/before/Y.java
deleted file mode 100644
index 42dc2b4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/before/Y.java
+++ /dev/null
@@ -1 +0,0 @@
-public class Y extends Z {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/before/Z.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/before/Z.java
deleted file mode 100644
index 92d5182..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/class/test99/before/Z.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class Z {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test1/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test1/after/X.java
deleted file mode 100644
index e5f5198..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test1/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public enum X {
-	A, B
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test1/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test1/before/X.java
deleted file mode 100644
index ab5a133..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test1/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public enum X {
-	A, B, C
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test2/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test2/after/X.java
deleted file mode 100644
index 374cbea..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test2/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public enum X {
-	A, B, D
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test2/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test2/before/X.java
deleted file mode 100644
index ab5a133..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test2/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public enum X {
-	A, B, C
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test3/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test3/after/X.java
deleted file mode 100644
index e2cfcda..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test3/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public enum X {
-	A(0), B(3), D(4);
-	
-	X(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test3/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test3/before/X.java
deleted file mode 100644
index 374cbea..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test3/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public enum X {
-	A, B, D
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test4/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test4/after/X.java
deleted file mode 100644
index 2da1096..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test4/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public enum X {
-	A(0.0), B(3.0), D(4.0);
-	
-	X(double i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test4/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test4/before/X.java
deleted file mode 100644
index e2cfcda..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test4/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public enum X {
-	A(0), B(3), D(4);
-	
-	X(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test5/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test5/after/X.java
deleted file mode 100644
index fd11fa9..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test5/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public enum X {
-	A, B, C, D
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test5/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test5/before/X.java
deleted file mode 100644
index ab5a133..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test5/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public enum X {
-	A, B, C
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test6/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test6/after/X.java
deleted file mode 100644
index 1441787..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test6/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public enum X {
-	C, A, B
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test6/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test6/before/X.java
deleted file mode 100644
index ab5a133..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test6/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public enum X {
-	A, B, C
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test7/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test7/after/X.java
deleted file mode 100644
index 8fba6ef..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test7/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public enum X {
-	C, A, B;
-	
-	void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test7/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test7/before/X.java
deleted file mode 100644
index 1441787..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test7/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public enum X {
-	C, A, B
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test8/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test8/after/X.java
deleted file mode 100644
index 5743bc4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test8/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public enum X {
-	C, A, B;
-	
-	private void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test8/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test8/before/X.java
deleted file mode 100644
index 1441787..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/enum/test8/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public enum X {
-	C, A, B
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test1/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test1/after/X.java
deleted file mode 100644
index 45e0256..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test1/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	Integer s = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test1/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test1/before/X.java
deleted file mode 100644
index 13de513..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test1/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	String s = null;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test10/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test10/after/X.java
deleted file mode 100644
index cf975fd..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test10/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public static int s;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test10/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test10/before/X.java
deleted file mode 100644
index 48cda8f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test10/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	static int s;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test11/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test11/after/X.java
deleted file mode 100644
index cf975fd..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test11/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public static int s;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test11/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test11/before/X.java
deleted file mode 100644
index f2d3056..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test11/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	private static int s;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test12/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test12/after/X.java
deleted file mode 100644
index 07c5989..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test12/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public int i = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test12/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test12/before/X.java
deleted file mode 100644
index e38c6ca..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test12/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public final int i = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test13/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test13/after/X.java
deleted file mode 100644
index e38c6ca..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test13/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public final int i = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test13/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test13/before/X.java
deleted file mode 100644
index 07c5989..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test13/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public int i = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test14/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test14/after/X.java
deleted file mode 100644
index 21cd81b..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test14/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public static int i = 12;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test14/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test14/before/X.java
deleted file mode 100644
index 03d9add..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test14/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public static final int i = 12;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test15/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test15/after/X.java
deleted file mode 100644
index 1e4b7be..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test15/after/X.java
+++ /dev/null
@@ -1,7 +0,0 @@
-public class X {
-	public static int i = foo();
-	
-	static int foo() {
-		return 0;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test15/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test15/before/X.java
deleted file mode 100644
index 625004b..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test15/before/X.java
+++ /dev/null
@@ -1,7 +0,0 @@
-public class X {
-	public static final int i = foo();
-	
-	static int foo() {
-		return 0;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test16/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test16/after/X.java
deleted file mode 100644
index aa2a3f4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test16/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test16/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test16/before/X.java
deleted file mode 100644
index 71def3a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test16/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public static int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test17/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test17/after/X.java
deleted file mode 100644
index 71def3a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test17/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public static int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test17/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test17/before/X.java
deleted file mode 100644
index aa2a3f4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test17/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test18/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test18/after/X.java
deleted file mode 100644
index aa2a3f4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test18/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test18/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test18/before/X.java
deleted file mode 100644
index b00fa96..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test18/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public transient int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test19/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test19/after/X.java
deleted file mode 100644
index b00fa96..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test19/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public transient int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test19/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test19/before/X.java
deleted file mode 100644
index aa2a3f4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test19/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test2/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test2/after/X.java
deleted file mode 100644
index ce5b906..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test2/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	int CONSTANT = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test2/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test2/before/X.java
deleted file mode 100644
index 3010fef..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test2/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface X {
-	int CONSTANT = 1;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test20/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test20/after/X.java
deleted file mode 100644
index 4a7e102..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test20/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test20/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test20/before/X.java
deleted file mode 100644
index c77966f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test20/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	protected int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test21/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test21/after/X.java
deleted file mode 100644
index a4bc97c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test21/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	private int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test21/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test21/before/X.java
deleted file mode 100644
index c77966f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test21/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	protected int i;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test22/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test22/after/X.java
deleted file mode 100644
index 9775196..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test22/after/X.java
+++ /dev/null
@@ -1,7 +0,0 @@
-public class X {
-	static {
-		System.out.println();
-	}
-
-	public static final String s = "Hello";
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test22/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test22/before/X.java
deleted file mode 100644
index 628e7e2..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test22/before/X.java
+++ /dev/null
@@ -1,7 +0,0 @@
-public class X {
-	static {
-		System.out.println();
-	}
-
-	public static String s = "Hello";
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test23/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test23/after/X.java
deleted file mode 100644
index 8f9c39e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test23/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	static int i = 12;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test23/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test23/before/X.java
deleted file mode 100644
index 3bc175e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test23/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	static final int i = 12;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test24/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test24/after/X.java
deleted file mode 100644
index 601abe3..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test24/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	static final int i = 13;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test24/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test24/before/X.java
deleted file mode 100644
index 3bc175e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test24/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	static final int i = 12;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test25/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test25/after/X.java
deleted file mode 100644
index 322bd3c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test25/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	private static int i = 12;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test25/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test25/before/X.java
deleted file mode 100644
index 29cd7fd..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test25/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	private static final int i = 12;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test26/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test26/after/X.java
deleted file mode 100644
index 633ae44..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test26/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	private static final int i = 13;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test26/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test26/before/X.java
deleted file mode 100644
index 29cd7fd..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test26/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	private static final int i = 12;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test27/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test27/after/X.java
deleted file mode 100644
index 80b7b2c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test27/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	private final int i = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test27/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test27/before/X.java
deleted file mode 100644
index ffafbe4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test27/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	private int i = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test28/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test28/after/X.java
deleted file mode 100644
index d57f91e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test28/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	protected static final int i = 13;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test28/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test28/before/X.java
deleted file mode 100644
index af03db1..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test28/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	protected static final int i = 12;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test28/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test28/resources/component.xml
deleted file mode 100644
index 07b3bd4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test28/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
-<plugin id="deltatest" />
-
-<package name="">
-	<type name="X" extend="false"/>
-</package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test29/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test29/after/X.java
deleted file mode 100644
index 27a8171..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test29/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-import java.util.List;
-
-public class X {
-	public List<String> list;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test29/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test29/before/X.java
deleted file mode 100644
index 71e5e86..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test29/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-import java.util.List;
-
-public class X {
-	public List<Integer> list;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test3/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test3/after/X.java
deleted file mode 100644
index 569f3c2..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test3/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	Integer s;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test3/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test3/before/X.java
deleted file mode 100644
index 8e79601..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test3/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	String s;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test30/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test30/after/X.java
deleted file mode 100644
index 2baada2..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test30/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-import java.util.Map;
-
-public class X {
-	public Map<String, String> list;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test30/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test30/before/X.java
deleted file mode 100644
index d6c1a23..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test30/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-import java.util.Map;
-
-public class X {
-	public Map<String, Integer> list;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test31/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test31/after/X.java
deleted file mode 100644
index 2baada2..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test31/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-import java.util.Map;
-
-public class X {
-	public Map<String, String> list;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test31/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test31/before/X.java
deleted file mode 100644
index 60c330e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test31/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-import java.util.Map;
-
-public class X {
-	public Map list;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test32/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test32/after/X.java
deleted file mode 100644
index ac107dd..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test32/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-import java.util.ArrayList;
-
-public class X {
-	public ArrayList<String> list;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test32/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test32/before/X.java
deleted file mode 100644
index 27a8171..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test32/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-import java.util.List;
-
-public class X {
-	public List<String> list;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test33/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test33/after/X.java
deleted file mode 100644
index b9e107a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test33/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-import java.util.ArrayList;
-
-public class X {
-	public ArrayList list;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test33/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test33/before/X.java
deleted file mode 100644
index ac107dd..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test33/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-import java.util.ArrayList;
-
-public class X {
-	public ArrayList<String> list;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test34/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test34/after/X.java
deleted file mode 100644
index 380e419..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test34/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X<U, T, V> {
-	public X<Integer, String, Number> x;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test34/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test34/before/X.java
deleted file mode 100644
index b37b4f0..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test34/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X<U, T, V> {
-	public X<String, Integer, Number> x;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test35/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test35/after/X.java
deleted file mode 100644
index 1464526d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test35/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public final class X {
-	protected static final int i = 23;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test35/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test35/before/X.java
deleted file mode 100644
index 875b950..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test35/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public final class X {
-	protected static final int i = 12;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test36/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test36/after/I.java
deleted file mode 100644
index 5cc2779..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test36/after/I.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface I {
-	public static final int CANCELED = 2;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test36/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test36/before/I.java
deleted file mode 100644
index d47d7e8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test36/before/I.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface I {
-    public static final int CANCELLED = 2;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test36/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test36/resources/component.xml
deleted file mode 100644
index 1d49b2a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test36/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
-<plugin id="deltatest" />
-
-<package name="">
-	<type name="I" implement="false"/>
-</package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test37/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test37/after/I.java
deleted file mode 100644
index b1b3101..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test37/after/I.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface I {
-	public static final int CANCELLED = 4;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test37/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test37/before/I.java
deleted file mode 100644
index d47d7e8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test37/before/I.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface I {
-    public static final int CANCELLED = 2;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test4/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test4/after/X.java
deleted file mode 100644
index e82f0af..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test4/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	static final int s = 1;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test4/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test4/before/X.java
deleted file mode 100644
index 3eabbc0..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test4/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	static final int s = 2;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test5/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test5/after/X.java
deleted file mode 100644
index 6704f2b..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test5/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	static int s = 1;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test5/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test5/before/X.java
deleted file mode 100644
index 0d0b03a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test5/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	static int s = 2;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test6/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test6/after/X.java
deleted file mode 100644
index 32c3051..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test6/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	protected static int s;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test6/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test6/before/X.java
deleted file mode 100644
index cf975fd..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test6/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public static int s;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test7/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test7/after/X.java
deleted file mode 100644
index 48cda8f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test7/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	static int s;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test7/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test7/before/X.java
deleted file mode 100644
index cf975fd..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test7/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public static int s;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test8/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test8/after/X.java
deleted file mode 100644
index f2d3056..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test8/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	private static int s;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test8/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test8/before/X.java
deleted file mode 100644
index cf975fd..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test8/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public static int s;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test9/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test9/after/X.java
deleted file mode 100644
index cf975fd..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test9/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public static int s;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test9/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test9/before/X.java
deleted file mode 100644
index 32c3051..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/field/test9/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	protected static int s;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test1/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test1/after/I.java
deleted file mode 100644
index 39f1b25..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test1/after/I.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public interface I {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test1/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test1/before/I.java
deleted file mode 100644
index a7df408..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test1/before/I.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface I {
-	public void foo();
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test10/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test10/after/I.java
deleted file mode 100644
index b4b22b4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test10/after/I.java
+++ /dev/null
@@ -1,3 +0,0 @@
-import java.io.Serializable;
-
-public interface I extends Serializable {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test10/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test10/before/I.java
deleted file mode 100644
index 8b8c2e8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test10/before/I.java
+++ /dev/null
@@ -1 +0,0 @@
-public interface I {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test11/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test11/after/I.java
deleted file mode 100644
index 8b8c2e8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test11/after/I.java
+++ /dev/null
@@ -1 +0,0 @@
-public interface I {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test11/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test11/before/I.java
deleted file mode 100644
index b4b22b4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test11/before/I.java
+++ /dev/null
@@ -1,3 +0,0 @@
-import java.io.Serializable;
-
-public interface I extends Serializable {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test12/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test12/after/I.java
deleted file mode 100644
index b4b22b4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test12/after/I.java
+++ /dev/null
@@ -1,3 +0,0 @@
-import java.io.Serializable;
-
-public interface I extends Serializable {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test12/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test12/before/I.java
deleted file mode 100644
index 674b778..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test12/before/I.java
+++ /dev/null
@@ -1,3 +0,0 @@
-import java.io.Serializable;
-
-public interface I extends Serializable, Cloneable {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test13/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test13/after/I.java
deleted file mode 100644
index 674b778..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test13/after/I.java
+++ /dev/null
@@ -1,3 +0,0 @@
-import java.io.Serializable;
-
-public interface I extends Serializable, Cloneable {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test13/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test13/before/I.java
deleted file mode 100644
index b4b22b4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test13/before/I.java
+++ /dev/null
@@ -1,3 +0,0 @@
-import java.io.Serializable;
-
-public interface I extends Serializable {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test14/after/p/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test14/after/p/I.java
deleted file mode 100644
index cd54d00..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test14/after/p/I.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-
-public interface I {
-	int i = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test14/before/p/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test14/before/p/I.java
deleted file mode 100644
index 99c0d08..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test14/before/p/I.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-
-public interface I {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test14/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test14/resources/component.xml
deleted file mode 100644
index e7dd7f7..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test14/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="p">
- 	<type name="I" implement="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test15/after/p/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test15/after/p/I.java
deleted file mode 100644
index cd54d00..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test15/after/p/I.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-
-public interface I {
-	int i = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test15/before/p/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test15/before/p/I.java
deleted file mode 100644
index 99c0d08..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test15/before/p/I.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package p;
-
-public interface I {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test15/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test15/resources/component.xml
deleted file mode 100644
index 672463a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test15/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="p">
- 	<type name="I" implement="true"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test16/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test16/after/I.java
deleted file mode 100644
index c2f8131..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test16/after/I.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public interface I extends J {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test16/after/J.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test16/after/J.java
deleted file mode 100644
index fd80206..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test16/after/J.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface J {
-	void foo();
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test16/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test16/before/I.java
deleted file mode 100644
index 3e25e61..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test16/before/I.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface I extends J {
-	void foo();
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test16/before/J.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test16/before/J.java
deleted file mode 100644
index f28d269..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test16/before/J.java
+++ /dev/null
@@ -1 +0,0 @@
-public interface J {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test16/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test16/resources/component.xml
deleted file mode 100644
index 88d5031..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test16/resources/component.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="I" implement="false"/>
- 	<type name="J" implement="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test17/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test17/after/I.java
deleted file mode 100644
index c2f8131..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test17/after/I.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public interface I extends J {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test17/after/J.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test17/after/J.java
deleted file mode 100644
index fd80206..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test17/after/J.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface J {
-	void foo();
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test17/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test17/before/I.java
deleted file mode 100644
index 3e25e61..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test17/before/I.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface I extends J {
-	void foo();
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test17/before/J.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test17/before/J.java
deleted file mode 100644
index f28d269..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test17/before/J.java
+++ /dev/null
@@ -1 +0,0 @@
-public interface J {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test17/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test17/resources/component.xml
deleted file mode 100644
index e858163..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test17/resources/component.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="I" implement="true"/>
- 	<type name="J" implement="true"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test18/after/p/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test18/after/p/I.java
deleted file mode 100644
index d776c47..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test18/after/p/I.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package p;
-
-public interface I {
-	public class Y {}
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test18/before/p/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test18/before/p/I.java
deleted file mode 100644
index b2050d3..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test18/before/p/I.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package p;
-
-public interface I {
-	public class Y {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test18/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test18/resources/component.xml
deleted file mode 100644
index e7dd7f7..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test18/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="p">
- 	<type name="I" implement="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test19/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test19/after/I.java
deleted file mode 100644
index 500e0e0..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test19/after/I.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public interface I {
-	public class Y {}
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test19/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test19/before/I.java
deleted file mode 100644
index 1f57509..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test19/before/I.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface I {
-	public class Y {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test19/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test19/resources/component.xml
deleted file mode 100644
index 6e4de09..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test19/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="I" implement="true"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test2/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test2/after/I.java
deleted file mode 100644
index 39f1b25..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test2/after/I.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public interface I {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test2/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test2/before/I.java
deleted file mode 100644
index 6dcfd0f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test2/before/I.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface I {
-	int I = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test20/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test20/after/I.java
deleted file mode 100644
index 500e0e0..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test20/after/I.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public interface I {
-	public class Y {}
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test20/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test20/before/I.java
deleted file mode 100644
index 39f1b25..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test20/before/I.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public interface I {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test20/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test20/resources/component.xml
deleted file mode 100644
index f24ad0b..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test20/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="I" implement="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test21/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test21/after/I.java
deleted file mode 100644
index 39f1b25..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test21/after/I.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public interface I {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test21/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test21/before/I.java
deleted file mode 100644
index 1f57509..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test21/before/I.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface I {
-	public class Y {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test21/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test21/resources/component.xml
deleted file mode 100644
index 6e4de09..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test21/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="I" implement="true"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test22/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test22/after/I.java
deleted file mode 100644
index 500e0e0..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test22/after/I.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public interface I {
-	public class Y {}
-	public class Z {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test22/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test22/before/I.java
deleted file mode 100644
index 39f1b25..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test22/before/I.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public interface I {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test22/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test22/resources/component.xml
deleted file mode 100644
index 6e4de09..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test22/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="I" implement="true"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test23/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test23/after/I.java
deleted file mode 100644
index c2f8131..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test23/after/I.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public interface I extends J {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test23/after/J.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test23/after/J.java
deleted file mode 100644
index 400cf9e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test23/after/J.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface J {
-	int i = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test23/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test23/before/I.java
deleted file mode 100644
index ed6fe6f..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test23/before/I.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public interface I extends J {
-	int i = 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test23/before/J.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test23/before/J.java
deleted file mode 100644
index f28d269..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test23/before/J.java
+++ /dev/null
@@ -1 +0,0 @@
-public interface J {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test3/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test3/after/I.java
deleted file mode 100644
index c98694a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test3/after/I.java
+++ /dev/null
@@ -1,6 +0,0 @@
-public interface I {
-	Object foo2();
-	void foo();
-	int I = 0;
-	int bar();
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test3/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test3/before/I.java
deleted file mode 100644
index 8d57b97..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test3/before/I.java
+++ /dev/null
@@ -1,6 +0,0 @@
-public interface I {
-	int I = 0;
-	void foo();
-	int bar();
-	Object foo2();
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test4/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test4/after/I.java
deleted file mode 100644
index b4555b5..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test4/after/I.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public interface I<T> {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test4/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test4/before/I.java
deleted file mode 100644
index 39f1b25..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test4/before/I.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public interface I {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test5/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test5/after/I.java
deleted file mode 100644
index a7fb16d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test5/after/I.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public interface I<T, U> {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test5/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test5/before/I.java
deleted file mode 100644
index b4555b5..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test5/before/I.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public interface I<T> {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test6/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test6/after/I.java
deleted file mode 100644
index 39f1b25..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test6/after/I.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public interface I {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test6/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test6/before/I.java
deleted file mode 100644
index a7fb16d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test6/before/I.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public interface I<T, U> {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test7/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test7/after/I.java
deleted file mode 100644
index b4555b5..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test7/after/I.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public interface I<T> {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test7/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test7/before/I.java
deleted file mode 100644
index a7fb16d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test7/before/I.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public interface I<T, U> {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test8/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test8/after/I.java
deleted file mode 100644
index 044d849..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test8/after/I.java
+++ /dev/null
@@ -1,4 +0,0 @@
-import java.io.Serializable;
-
-public interface I<U extends Object & Serializable, T extends Exception> {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test8/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test8/before/I.java
deleted file mode 100644
index 872f0e3..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test8/before/I.java
+++ /dev/null
@@ -1,4 +0,0 @@
-import java.io.Serializable;
-
-public interface I<U extends Exception, T extends Object & Serializable> {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test9/after/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test9/after/I.java
deleted file mode 100644
index 872f0e3..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test9/after/I.java
+++ /dev/null
@@ -1,4 +0,0 @@
-import java.io.Serializable;
-
-public interface I<U extends Exception, T extends Object & Serializable> {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test9/before/I.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test9/before/I.java
deleted file mode 100644
index a2929a4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/interface/test9/before/I.java
+++ /dev/null
@@ -1,4 +0,0 @@
-import java.io.Serializable;
-
-public interface I<T extends Exception, U extends Object & Serializable> {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test1/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test1/after/X.java
deleted file mode 100644
index 1d30a56..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test1/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public int foo() {
-		return 1;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test1/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test1/before/X.java
deleted file mode 100644
index 01e8653..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test1/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public int foo() {
-		return 0;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test10/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test10/after/X.java
deleted file mode 100644
index 365b507..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test10/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test10/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test10/before/X.java
deleted file mode 100644
index 31e39a6..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test10/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public void foo(int i) throws Exception {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test11/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test11/after/X.java
deleted file mode 100644
index 365b507..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test11/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test11/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test11/before/X.java
deleted file mode 100644
index f34fea5..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test11/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public void foo(int i) throws NullPointerException {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test12/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test12/after/X.java
deleted file mode 100644
index 4c345ba..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test12/after/X.java
+++ /dev/null
@@ -1,6 +0,0 @@
-import java.io.IOException;
-
-public class X {
-	public void foo(int i) throws NullPointerException, IOException, Exception {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test12/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test12/before/X.java
deleted file mode 100644
index 7cd13fb..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test12/before/X.java
+++ /dev/null
@@ -1,6 +0,0 @@
-import java.io.IOException;
-
-public class X {
-	public void foo(int i) throws Exception, NullPointerException, IOException {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test13/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test13/after/X.java
deleted file mode 100644
index 31e0c54..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test13/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test13/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test13/before/X.java
deleted file mode 100644
index 390ccd9..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test13/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	protected void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test14/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test14/after/X.java
deleted file mode 100644
index 4e0e47b..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test14/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	private void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test14/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test14/before/X.java
deleted file mode 100644
index 390ccd9..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test14/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	protected void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test15/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test15/after/X.java
deleted file mode 100644
index 390ccd9..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test15/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	protected void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test15/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test15/before/X.java
deleted file mode 100644
index 365b507..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test15/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test16/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test16/after/X.java
deleted file mode 100644
index 31e0c54..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test16/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test16/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test16/before/X.java
deleted file mode 100644
index 365b507..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test16/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test17/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test17/after/X.java
deleted file mode 100644
index 4e0e47b..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test17/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	private void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test17/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test17/before/X.java
deleted file mode 100644
index 365b507..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test17/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test18/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test18/after/X.java
deleted file mode 100644
index 365b507..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test18/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test18/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test18/before/X.java
deleted file mode 100644
index 31e0c54..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test18/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test19/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test19/after/X.java
deleted file mode 100644
index 365b507..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test19/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test19/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test19/before/X.java
deleted file mode 100644
index 390ccd9..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test19/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	protected void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test2/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test2/after/X.java
deleted file mode 100644
index 6450f21..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test2/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public int foo(int j) {
-		return j;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test2/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test2/before/X.java
deleted file mode 100644
index c40ea69..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test2/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public int foo(int i) {
-		return i;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test20/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test20/after/X.java
deleted file mode 100644
index 365b507..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test20/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test20/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test20/before/X.java
deleted file mode 100644
index 4e0e47b..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test20/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	private void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test21/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test21/after/X.java
deleted file mode 100644
index 8002f12..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test21/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public abstract class X {
-	public void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test21/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test21/before/X.java
deleted file mode 100644
index 61e4c87..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test21/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public abstract class X {
-	public abstract void foo(int i);
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test22/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test22/after/X.java
deleted file mode 100644
index 61e4c87..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test22/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public abstract class X {
-	public abstract void foo(int i);
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test22/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test22/before/X.java
deleted file mode 100644
index 8002f12..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test22/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public abstract class X {
-	public void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test23/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test23/after/X.java
deleted file mode 100644
index 9c0eb50..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test23/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test23/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test23/before/X.java
deleted file mode 100644
index 88be231..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test23/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public final void foo(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test24/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test24/after/X.java
deleted file mode 100644
index 88be231..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test24/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public final void foo(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test24/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test24/before/X.java
deleted file mode 100644
index 9c0eb50..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test24/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test25/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test25/after/X.java
deleted file mode 100644
index 9c0eb50..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test25/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test25/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test25/before/X.java
deleted file mode 100644
index 330b4b5..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test25/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public static void foo(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test26/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test26/after/X.java
deleted file mode 100644
index 330b4b5..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test26/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public static void foo(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test26/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test26/before/X.java
deleted file mode 100644
index 9c0eb50..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test26/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test27/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test27/after/X.java
deleted file mode 100644
index 9c0eb50..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test27/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test27/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test27/before/X.java
deleted file mode 100644
index 03ee129..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test27/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public native void foo(int i);
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test28/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test28/after/X.java
deleted file mode 100644
index 03ee129..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test28/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public native void foo(int i);
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test28/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test28/before/X.java
deleted file mode 100644
index 9c0eb50..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test28/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test29/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test29/after/X.java
deleted file mode 100644
index 9c0eb50..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test29/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test29/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test29/before/X.java
deleted file mode 100644
index b686e72..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test29/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public synchronized void foo(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test3/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test3/after/X.java
deleted file mode 100644
index e3f0f04..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test3/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public int bar(int i) {
-		return i;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test3/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test3/before/X.java
deleted file mode 100644
index c40ea69..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test3/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public int foo(int i) {
-		return i;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test30/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test30/after/X.java
deleted file mode 100644
index b686e72..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test30/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public synchronized void foo(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test30/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test30/before/X.java
deleted file mode 100644
index 9c0eb50..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test30/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test31/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test31/after/X.java
deleted file mode 100644
index f5b3c3d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test31/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public <U> void foo(U u) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test31/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test31/before/X.java
deleted file mode 100644
index 69f0fc4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test31/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(Object o) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test32/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test32/after/X.java
deleted file mode 100644
index f3e51b9..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test32/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public <U, V> void foo(U u) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test32/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test32/before/X.java
deleted file mode 100644
index f5b3c3d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test32/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public <U> void foo(U u) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test33/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test33/after/X.java
deleted file mode 100644
index 69f0fc4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test33/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(Object o) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test33/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test33/before/X.java
deleted file mode 100644
index f5b3c3d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test33/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public <U> void foo(U u) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test34/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test34/after/X.java
deleted file mode 100644
index f5b3c3d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test34/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public <U> void foo(U u) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test34/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test34/before/X.java
deleted file mode 100644
index f3e51b9..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test34/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public <U, V> void foo(U u) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test35/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test35/after/X.java
deleted file mode 100644
index 531d165..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test35/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public <V> void foo(V u) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test35/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test35/before/X.java
deleted file mode 100644
index f5b3c3d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test35/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public <U> void foo(U u) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test36/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test36/after/X.java
deleted file mode 100644
index b6efa6e..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test36/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-import java.io.Serializable;
-
-public class X {
-	public <V extends Exception, U extends Object & Serializable> void foo(U u, V v) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test36/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test36/before/X.java
deleted file mode 100644
index 0df37fe..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test36/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-import java.io.Serializable;
-
-public class X {
-	public <U extends Object & Serializable, V extends Exception> void foo(U u, V v) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test37/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test37/after/X.java
deleted file mode 100644
index 99f43a1..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test37/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(String... tab) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test37/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test37/before/X.java
deleted file mode 100644
index 1962375..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test37/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(String[] tab) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test38/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test38/after/X.java
deleted file mode 100644
index 1962375..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test38/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(String[] tab) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test38/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test38/before/X.java
deleted file mode 100644
index 99f43a1..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test38/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(String... tab) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test39/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test39/after/X.java
deleted file mode 100644
index 978b39a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test39/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(String tab) throws IllegalArgumentException {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test39/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test39/before/X.java
deleted file mode 100644
index 94dd4f7..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test39/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(String tab) throws NullPointerException, IllegalArgumentException {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test4/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test4/after/X.java
deleted file mode 100644
index c40ea69..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test4/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public int foo(int i) {
-		return i;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test4/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test4/before/X.java
deleted file mode 100644
index 01e8653..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test4/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public int foo() {
-		return 0;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test40/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test40/after/X.java
deleted file mode 100644
index 272c02c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test40/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(String tab) throws NullPointerException {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test40/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test40/before/X.java
deleted file mode 100644
index bef6b67..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test40/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(String tab) throws NullPointerException, Exception {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test41/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test41/after/X.java
deleted file mode 100644
index c905bb1..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test41/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-import java.io.IOException;
-
-public class X {
-	public void foo(String tab) throws NullPointerException, Exception, IOException {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test41/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test41/before/X.java
deleted file mode 100644
index bef6b67..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test41/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(String tab) throws NullPointerException, Exception {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test42/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test42/after/X.java
deleted file mode 100644
index 4d30658..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test42/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(String tab) throws NullPointerException, Exception, IllegalArgumentException {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test42/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test42/before/X.java
deleted file mode 100644
index bef6b67..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test42/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(String tab) throws NullPointerException, Exception {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test43/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test43/after/X.java
deleted file mode 100644
index 205a6c0..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test43/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public @interface X {
-	int id() default 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test43/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test43/before/X.java
deleted file mode 100644
index 60b94ab..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test43/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public @interface X {
-	int id();
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test44/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test44/after/X.java
deleted file mode 100644
index 60b94ab..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test44/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public @interface X {
-	int id();
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test44/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test44/before/X.java
deleted file mode 100644
index 205a6c0..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test44/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public @interface X {
-	int id() default 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test45/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test45/after/X.java
deleted file mode 100644
index 8d68705..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test45/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public @interface X {
-	int id() default -1;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test45/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test45/before/X.java
deleted file mode 100644
index 205a6c0..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test45/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public @interface X {
-	int id() default 0;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test46/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test46/after/X.java
deleted file mode 100644
index 88be231..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test46/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public final void foo(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test46/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test46/before/X.java
deleted file mode 100644
index 9c0eb50..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test46/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test46/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test46/resources/component.xml
deleted file mode 100644
index a5bea87..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test46/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- 	<type name="X" extend="false"/>
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test47/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test47/after/X.java
deleted file mode 100644
index d31a232..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test47/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	int foo(int i) { return 0; }
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test47/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test47/before/X.java
deleted file mode 100644
index d0ce5c3..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test47/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	void foo(int i) {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test48/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test48/after/X.java
deleted file mode 100644
index 7f31837..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test48/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	private void foo(int i) throws Exception {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test48/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test48/before/X.java
deleted file mode 100644
index 4e0e47b..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test48/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	private void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test49/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test49/after/X.java
deleted file mode 100644
index 48594ec..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test49/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public abstract class X {
-	public abstract void foo();
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test49/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test49/before/X.java
deleted file mode 100644
index 25a4de4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test49/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public abstract class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test5/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test5/after/X.java
deleted file mode 100644
index 01e8653..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test5/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public int foo() {
-		return 0;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test5/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test5/before/X.java
deleted file mode 100644
index c40ea69..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test5/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public int foo(int i) {
-		return i;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test50/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test50/after/X.java
deleted file mode 100644
index 5641ad1..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test50/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-class X {
-	public void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test50/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test50/before/X.java
deleted file mode 100644
index cff5a23..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test50/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test50/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test50/resources/component.xml
deleted file mode 100644
index 351496b..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test50/resources/component.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
- <plugin id="deltatest" />
-
- <package name="">
- </package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test51/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test51/after/X.java
deleted file mode 100644
index 0b83593..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test51/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test51/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test51/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test51/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test51/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test51/resources/component.xml
deleted file mode 100644
index 16619dc..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test51/resources/component.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
-<plugin id="deltatest" />
-
-<package name="">
-</package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test52/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test52/after/X.java
deleted file mode 100644
index 0b83593..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test52/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test52/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test52/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test52/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test52/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test52/resources/component.xml
deleted file mode 100644
index 07b3bd4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test52/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
-<plugin id="deltatest" />
-
-<package name="">
-	<type name="X" extend="false"/>
-</package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test53/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test53/after/X.java
deleted file mode 100644
index 0b83593..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test53/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test53/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test53/before/X.java
deleted file mode 100644
index a5ade5c..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test53/before/X.java
+++ /dev/null
@@ -1,2 +0,0 @@
-public class X {
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test53/resources/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test53/resources/component.xml
deleted file mode 100644
index 7e79ff6..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test53/resources/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
-<plugin id="deltatest" />
-
-<package name="">
-
-</package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test54/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test54/after/X.java
deleted file mode 100644
index fdcdee1..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test54/after/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	private static void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test54/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test54/before/X.java
deleted file mode 100644
index 5d4140a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test54/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	private void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test6/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test6/after/X.java
deleted file mode 100644
index e976744..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test6/after/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public int foo(float i) {
-		return (int) i;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test6/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test6/before/X.java
deleted file mode 100644
index c40ea69..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test6/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public int foo(int i) {
-		return i;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test7/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test7/after/X.java
deleted file mode 100644
index 365b507..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test7/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test7/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test7/before/X.java
deleted file mode 100644
index c40ea69..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test7/before/X.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class X {
-	public int foo(int i) {
-		return i;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test8/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test8/after/X.java
deleted file mode 100644
index 31e39a6..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test8/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public void foo(int i) throws Exception {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test8/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test8/before/X.java
deleted file mode 100644
index 365b507..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test8/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test9/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test9/after/X.java
deleted file mode 100644
index f34fea5..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test9/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public void foo(int i) throws NullPointerException {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test9/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test9/before/X.java
deleted file mode 100644
index 365b507..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/method/test9/before/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public void foo(int i) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test1/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test1/after/X.java
deleted file mode 100644
index 24e3aca..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test1/after/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public enum X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test1/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test1/before/X.java
deleted file mode 100644
index 9bce652..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test1/before/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public interface X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test10/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test10/after/X.java
deleted file mode 100644
index 9bce652..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test10/after/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public interface X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test10/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test10/before/X.java
deleted file mode 100644
index 24e3aca..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test10/before/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public enum X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test11/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test11/after/X.java
deleted file mode 100644
index c5ff877..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test11/after/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public class X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test11/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test11/before/X.java
deleted file mode 100644
index 24e3aca..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test11/before/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public enum X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test12/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test12/after/X.java
deleted file mode 100644
index ec4c05a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test12/after/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public @interface X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test12/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test12/before/X.java
deleted file mode 100644
index 24e3aca..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test12/before/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public enum X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test2/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test2/after/X.java
deleted file mode 100644
index c5ff877..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test2/after/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public class X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test2/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test2/before/X.java
deleted file mode 100644
index 9bce652..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test2/before/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public interface X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test3/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test3/after/X.java
deleted file mode 100644
index ec4c05a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test3/after/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public @interface X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test3/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test3/before/X.java
deleted file mode 100644
index 9bce652..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test3/before/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public interface X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test4/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test4/after/X.java
deleted file mode 100644
index 9bce652..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test4/after/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public interface X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test4/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test4/before/X.java
deleted file mode 100644
index c5ff877..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test4/before/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public class X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test5/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test5/after/X.java
deleted file mode 100644
index 24e3aca..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test5/after/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public enum X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test5/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test5/before/X.java
deleted file mode 100644
index c5ff877..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test5/before/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public class X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test6/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test6/after/X.java
deleted file mode 100644
index ec4c05a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test6/after/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public @interface X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test6/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test6/before/X.java
deleted file mode 100644
index c5ff877..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test6/before/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public class X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test7/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test7/after/X.java
deleted file mode 100644
index c5ff877..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test7/after/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public class X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test7/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test7/before/X.java
deleted file mode 100644
index ec4c05a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test7/before/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public @interface X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test8/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test8/after/X.java
deleted file mode 100644
index 24e3aca..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test8/after/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public enum X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test8/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test8/before/X.java
deleted file mode 100644
index ec4c05a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test8/before/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public @interface X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test9/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test9/after/X.java
deleted file mode 100644
index 9bce652..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test9/after/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public interface X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test9/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test9/before/X.java
deleted file mode 100644
index ec4c05a..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/mixedtypes/test9/before/X.java
+++ /dev/null
@@ -1 +0,0 @@
-public @interface X {}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/resources/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/resources/META-INF/MANIFEST.MF
deleted file mode 100644
index 8788644..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/resources/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.7.0
-Created-By: 1.6.0_05-ea-b04 (Sun Microsystems Inc.)
-Bundle-ManifestVersion: 2
-Bundle-Name: deltatest Plug-in
-Bundle-SymbolicName: deltatest
-Bundle-Version: 1.0.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: .,
- p
-
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/restrictions/test1/after/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/restrictions/test1/after/X.java
deleted file mode 100644
index 292ec42..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/restrictions/test1/after/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public class X {
-	public void foo() {}
-	public void foo2() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/restrictions/test1/before/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/restrictions/test1/before/X.java
deleted file mode 100644
index 0b83593..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/restrictions/test1/before/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public void foo() {}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/restrictions/test1/resources/after/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/restrictions/test1/resources/after/component.xml
deleted file mode 100644
index 84c7d26..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/restrictions/test1/resources/after/component.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
-<plugin id="deltatest" />
-<package name="">
-	<type name="X"/>
-</package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/restrictions/test1/resources/before/component.xml b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/restrictions/test1/resources/before/component.xml
deleted file mode 100644
index 07b3bd4..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/restrictions/test1/resources/before/component.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component name="deltatest">
-<plugin id="deltatest" />
-
-<package name="">
-	<type name="X" extend="false"/>
-</package>
-</component>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test1/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test1/X.java
deleted file mode 100644
index c0df7eb..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test1/X.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public String s;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test1/X2.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test1/X2.java
deleted file mode 100644
index d224169..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test1/X2.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class X {
-	public Integer s;
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test2/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test2/X.java
deleted file mode 100644
index 6f62e91..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test2/X.java
+++ /dev/null
@@ -1,4 +0,0 @@
-public @interface X {
-	int id() default 0;
-	String name();
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test2/X2.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test2/X2.java
deleted file mode 100644
index 78210c8..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test2/X2.java
+++ /dev/null
@@ -1,16 +0,0 @@
-@interface Ann {
-	int key() default 4;
-}
-enum E {
-	A, B,  C, D
-}
-@interface Annot {
-	int value() default 0;
-	E e() default E.D;
-	Ann annotation();
-}
-public @interface X2 {
-	int id() default 0;
-	String[] name() default { "toto", "tata" };
-	Annot annotat() default @Annot(value=10,e=E.C,annotation=@Ann());
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test3/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test3/X.java
deleted file mode 100644
index 7a138ca..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test3/X.java
+++ /dev/null
@@ -1,7 +0,0 @@
-public enum X {
-	A(10), B(0);
-	
-	X(int i) {
-		// ignore
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test3/X2.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test3/X2.java
deleted file mode 100644
index 2ab6e47..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test3/X2.java
+++ /dev/null
@@ -1,7 +0,0 @@
-public enum X2 {
-	A(10), B(0), C(3);
-	
-	X2(int i) {
-		// ignore
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test4/X.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test4/X.java
deleted file mode 100644
index 0025513..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test4/X.java
+++ /dev/null
@@ -1,12 +0,0 @@
-import java.io.Serializable;
-
-public class X<T extends Serializable & Cloneable, U extends Exception> {
-		T t;
-    public static <U extends Object> void foo(U u) {}
-    public static <U extends Object & Serializable> void foo(String s, int i, U u) {}
-    public static void foo(String s, int i, String[] tab) {}
-    
-    public void bar() {
-    	foo("", 0, null);
-    }
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test4/X2.java b/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test4/X2.java
deleted file mode 100644
index d2dce5d..0000000
--- a/apitools/org.eclipse.pde.api.tools.tests/tests-deltas/test_cases/test4/X2.java
+++ /dev/null
@@ -1,12 +0,0 @@
-import java.io.Serializable;
-
-public class X2<T extends Object & Serializable> {
-		T t;
-    public static <U extends Exception> void foo(U u) {}
-    public static <U extends Object & Serializable> void foo(String s, int i, U u) {}
-    public static void foo(String s, int i, String[] tab) {}
-    
-    public void bar() {
-    	foo("", 0, null);
-    }
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.ui/.classpath b/apitools/org.eclipse.pde.api.tools.ui/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/apitools/org.eclipse.pde.api.tools.ui/.project b/apitools/org.eclipse.pde.api.tools.ui/.project
deleted file mode 100644
index 3230c78..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.pde.api.tools.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/apitools/org.eclipse.pde.api.tools.ui/.settings/org.eclipse.jdt.core.prefs b/apitools/org.eclipse.pde.api.tools.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f90b243..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,68 +0,0 @@
-#Wed Nov 28 16:17:58 CST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/apitools/org.eclipse.pde.api.tools.ui/.settings/org.eclipse.pde.prefs b/apitools/org.eclipse.pde.api.tools.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index ab58b06..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,16 +0,0 @@
-#Mon Feb 04 11:11:05 CST 2008
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.deprecated=1
-compilers.p.missing-bundle-classpath-entries=1
-compilers.p.missing-packages=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/apitools/org.eclipse.pde.api.tools.ui/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 7056a82..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,36 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.pde.api.tools.ui; singleton:=true
-Bundle-Version: 0.1.0.qualifier
-Bundle-Localization: plugin
-Eclipse-LazyStart: true
-Bundle-ActivationPolicy: lazy
-Bundle-Vendor: %providerName
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.jdt.core,
- org.eclipse.pde.ui,
- org.eclipse.pde.api.tools,
- org.eclipse.ui,
- org.eclipse.jdt.ui,
- org.eclipse.jface.text,
- org.eclipse.jdt.launching,
- org.eclipse.core.resources,
- org.eclipse.ui.forms;bundle-version="3.3.100",
- org.eclipse.ui.ide;bundle-version="3.3.100",
- org.eclipse.search;bundle-version="3.4.0",
- org.eclipse.ui.editors;bundle-version="3.4.0",
- org.eclipse.ltk.core.refactoring;bundle-version="3.4.0",
- org.eclipse.ltk.ui.refactoring;bundle-version="3.4.0"
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-Activator: org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin
-Export-Package: org.eclipse.pde.api.tools.ui.internal;x-friends:="org.eclipse.pde.api.tools.tests",
- org.eclipse.pde.api.tools.ui.internal.actions;x-friends:="org.eclipse.pde.api.tools.tests",
- org.eclipse.pde.api.tools.ui.internal.completion;x-friends:="org.eclipse.pde.api.tools.tests",
- org.eclipse.pde.api.tools.ui.internal.markers;x-friends:="org.eclipse.pde.api.tools.tests",
- org.eclipse.pde.api.tools.ui.internal.preferences;x-friends:="org.eclipse.pde.api.tools.tests",
- org.eclipse.pde.api.tools.ui.internal.properties;x-friends:="org.eclipse.pde.api.tools.tests",
- org.eclipse.pde.api.tools.ui.internal.stubs;x-friends:="org.eclipse.pde.api.tools.tests",
- org.eclipse.pde.api.tools.ui.internal.wizards;x-friends:="org.eclipse.pde.api.tools.tests",
- org.eclipse.pde.api.tools.ui.internal.wizards.analysis;x-internal:=true
-Import-Package: com.ibm.icu.text;version="3.6.1"
diff --git a/apitools/org.eclipse.pde.api.tools.ui/about.html b/apitools/org.eclipse.pde.api.tools.ui/about.html
deleted file mode 100644
index 4602330..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.ui/build.properties b/apitools/org.eclipse.pde.api.tools.ui/build.properties
deleted file mode 100644
index 822d480..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               .,\
-               about.html,\
-               plugin.properties,\
-               icons/
-src.includes = about.html
diff --git a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/api_tools.gif b/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/api_tools.gif
deleted file mode 100644
index 311b0df..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/api_tools.gif
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/bundleversion.gif b/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/bundleversion.gif
deleted file mode 100644
index ba5e76f..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/bundleversion.gif
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/category_menu.gif b/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/category_menu.gif
deleted file mode 100644
index a753223..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/category_menu.gif
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/collect_apis.gif b/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/collect_apis.gif
deleted file mode 100644
index bd99c30..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/collect_apis.gif
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/collect_references.gif b/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/collect_references.gif
deleted file mode 100644
index 1c86a84..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/collect_references.gif
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/collect_users.gif b/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/collect_users.gif
deleted file mode 100644
index e011774..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/collect_users.gif
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/compare_apis.gif b/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/compare_apis.gif
deleted file mode 100644
index 911e362..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/compare_apis.gif
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/eclipse_profile.gif b/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/eclipse_profile.gif
deleted file mode 100644
index eb7b90c..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/eclipse_profile.gif
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/extract_references.gif b/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/extract_references.gif
deleted file mode 100644
index 43eb5e1..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/extract_references.gif
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/frgmt_obj.gif b/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/frgmt_obj.gif
deleted file mode 100644
index d55b09f..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/frgmt_obj.gif
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/library_obj.gif b/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/library_obj.gif
deleted file mode 100644
index cb55e33..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/library_obj.gif
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/plugin_obj.gif b/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/plugin_obj.gif
deleted file mode 100644
index 8493df4..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/icons/full/obj16/plugin_obj.gif
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.ui/icons/full/ovr16/error_ovr.gif b/apitools/org.eclipse.pde.api.tools.ui/icons/full/ovr16/error_ovr.gif
deleted file mode 100644
index c112416..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/icons/full/ovr16/error_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.ui/icons/full/ovr16/success_ovr.gif b/apitools/org.eclipse.pde.api.tools.ui/icons/full/ovr16/success_ovr.gif
deleted file mode 100644
index 20fc2f2..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/icons/full/ovr16/success_ovr.gif
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.ui/icons/full/wizban/profile_wiz.png b/apitools/org.eclipse.pde.api.tools.ui/icons/full/wizban/profile_wiz.png
deleted file mode 100644
index 2151541..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/icons/full/wizban/profile_wiz.png
+++ /dev/null
Binary files differ
diff --git a/apitools/org.eclipse.pde.api.tools.ui/plugin.properties b/apitools/org.eclipse.pde.api.tools.ui/plugin.properties
deleted file mode 100644
index fd36180..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/plugin.properties
+++ /dev/null
@@ -1,41 +0,0 @@
-###############################################################################
-# Copyright (c) 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = API Tools UI
-providerName = Eclipse.org
-apiToolsUISet = API Tools
-menuLabel = &API Tools
-refExtractLabel = &Extract References
-refExtractToolTip = Extract External References from a project
-collectlApiLabel = &Collect APIs
-collectApiToolTip = Collect API information into repository
-compareApiLabel = C&ompare APIs
-compareApiToolTip = Compare API information with a repository
-collectUsersLabel = Collect Users
-collectUsersToolTip = Collect the users of the given class 
-collectReferencesLabel = Collect References
-collectReferencesToolTip = Collect the referenced classes of the given class 
-repositoryName = API Tools
-referenceSearchLabel = Reference-Search Results
-userSearchLabel = User-Search Results
-apiToolsMenuLabel = API Tools
-ApiProfilesPreferencePage.name = API Profiles
-ApiProfilesPreferencePage.keywords = API SPI profile baseline 
-ApiErrorsWarningsPreferencePage.name = API Errors/Warnings
-ApiErrorsWarningsPreferencePage.keywords = API SPI profile settings compare delta error warning
-ApiErrorsWarningsPage.name = API Errors/Warnings
-ApiErrorsWarningsPage.keywords = API errors warnings
-ApiFiltersPage.name = API Problem Filters
-ApiFiltersPage.keywords = API SPI profile settings search filter error problem
-ApiToolingSetup.name = API &Tooling Setup...
-ApiToolingSetup.tooltip = Configure projects for API usage and binary compatibility checks
-MarkerCategory.name = API Problems
-ApiToolsJavadocProposals.name = API Tools Javadoc Proposals
-AnalyzeCompatibleBundles.action.label= Compatible &Versions...
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools.ui/plugin.xml b/apitools/org.eclipse.pde.api.tools.ui/plugin.xml
deleted file mode 100644
index ac88a4e..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/plugin.xml
+++ /dev/null
@@ -1,179 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension
-         id="apitools_javadoc_proposals"
-         name="%ApiToolsJavadocProposals.name"
-         point="org.eclipse.jdt.ui.javaCompletionProposalComputer">
-      <javaCompletionProposalComputer
-            activate="true"
-            categoryId="org.eclipse.jdt.ui.javaNoTypeProposalCategory"
-            class="org.eclipse.pde.api.tools.ui.internal.completion.APIToolsJavadocCompletionProposalComputer">
-         <partition
-               type="__java_javadoc">
-         </partition>
-      </javaCompletionProposalComputer>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            category="org.eclipse.pde.ui.MainPreferencePage"
-            class="org.eclipse.pde.api.tools.ui.internal.preferences.ApiProfilesPreferencePage"
-            id="org.eclipse.pde.api.tools.ui.apiprofiles.prefpage"
-            name="%ApiProfilesPreferencePage.name">
-         <keywordReference
-               id="org.eclipse.pde.api.tools.ui.profiles.prefpage">
-         </keywordReference>
-      </page>
-      <page
-            category="org.eclipse.pde.ui.MainPreferencePage"
-            class="org.eclipse.pde.api.tools.ui.internal.preferences.ApiErrorsWarningsPreferencePage"
-            id="org.eclipse.pde.api.tools.ui.apitools.errorwarnings.prefpage"
-            name="%ApiErrorsWarningsPreferencePage.name">
-         <keywordReference
-               id="org.eclipse.pde.api.tools.ui.apitools.errorwarnings.prefpage.keywords">
-         </keywordReference>
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            adaptable="true"
-            id="org.eclipse.pde.api.tools.ui.toolsetupcontribution"
-            objectClass="org.eclipse.core.resources.IProject">
-         <action
-               class="org.eclipse.pde.api.tools.ui.internal.actions.ApiToolingSetupObjectContribution"
-               enablesFor="+"
-               helpContextId="update_javadoc_tags_contribution_action"
-               icon="icons/full/obj16/category_menu.gif"
-               id="org.eclipse.pde.api.tools.ui.update.javadoctags"
-               label="%ApiToolingSetup.name"
-               menubarPath="org.eclipse.pde.ui.project.tools/group1"
-               tooltip="%ApiToolingSetup.tooltip">
-         </action>
-         <filter
-               name="projectNature"
-               value="org.eclipse.jdt.core.javanature">
-         </filter>
-         <filter
-               name="projectNature"
-               value="org.eclipse.pde.PluginNature">
-         </filter>
-      </objectContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.propertyPages">
-      <page
-            category="org.eclipse.pde.internal.ui.properties.pluginDevelopmentPage"
-            class="org.eclipse.pde.api.tools.ui.internal.properties.ApiErrorsWarningsPropertyPage"
-            id="org.eclipse.pde.api.tools.ui.apitools.proppage"
-            name="%ApiErrorsWarningsPage.name">
-         <keywordReference
-               id="org.eclipse.pde.api.tools.ui.apitools.prefpage">
-         </keywordReference>
-         <enabledWhen>
-            <adapt
-                  type="org.eclipse.core.resources.IProject">
-            </adapt>
-         </enabledWhen>
-         <filter
-               name="projectNature"
-               value="org.eclipse.pde.api.tools.apiAnalysisNature">
-         </filter>
-      </page>
-      <page
-            category="org.eclipse.pde.internal.ui.properties.pluginDevelopmentPage"
-            class="org.eclipse.pde.api.tools.ui.internal.properties.ApiFiltersPropertyPage"
-            id="org.eclipse.pde.api.tools.ui.apitools.filterspage"
-            name="%ApiFiltersPage.name">
-         <keywordReference
-               id="org.eclipse.pde.api.tools.ui.apitools.filters.prefpage.keywords">
-         </keywordReference>
-         <enabledWhen>
-            <adapt
-                  type="org.eclipse.core.resources.IProject">
-            </adapt>
-         </enabledWhen>
-         <filter
-               name="projectNature"
-               value="org.eclipse.pde.api.tools.apiAnalysisNature">
-         </filter>
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.ui.keywords">
-      <keyword
-            id="org.eclipse.pde.api.tools.ui.profiles.prefpage"
-            label="%ApiProfilesPreferencePage.keywords">
-      </keyword>
-      <keyword
-            id="org.eclipse.pde.api.tools.ui.apitools.errorwarnings.prefpage.keywords"
-            label="%ApiErrorsWarningsPreferencePage.keywords">
-      </keyword>
-      <keyword
-            id="org.eclipse.pde.api.tools.ui.apitools.filters.prefpage.keywords"
-            label="%ApiFiltersPage.keywords">
-      </keyword>
-      <keyword
-            id="org.eclipse.pde.api.tools.ui.apitools.prefpage"
-            label="%ApiErrorsWarningsPage.keywords">
-      </keyword>
-   </extension>
-   <extension
-         point="org.eclipse.ui.ide.markerSupport">
-      <markerTypeCategory
-            name="%MarkerCategory.name">
-         <markerTypeReference
-               id="org.eclipse.pde.api.tools.binary_compatibility">
-         </markerTypeReference>
-         <markerTypeReference
-               id="org.eclipse.pde.api.tools.api_usage">
-         </markerTypeReference>
-         <markerTypeReference
-               id="org.eclipse.pde.api.tools.version_numbering">
-         </markerTypeReference>
-         <markerTypeReference
-               id="org.eclipse.pde.api.tools.api_profile">
-         </markerTypeReference>
-         <markerTypeReference
-               id="org.eclipse.pde.api.tools.marker.sincetags">
-         </markerTypeReference>
-      </markerTypeCategory>
-   </extension>
-   <extension
-         point="org.eclipse.ui.ide.markerResolution">
-      <markerResolutionGenerator
-            class="org.eclipse.pde.api.tools.ui.internal.markers.ApiMarkerResolutionGenerator"
-            markerType="org.eclipse.pde.api.tools.api_profile">
-      </markerResolutionGenerator>
-      <markerResolutionGenerator
-            class="org.eclipse.pde.api.tools.ui.internal.markers.ApiMarkerResolutionGenerator"
-            markerType="org.eclipse.pde.api.tools.binary_compatibility">
-      </markerResolutionGenerator>
-      <markerResolutionGenerator
-            class="org.eclipse.pde.api.tools.ui.internal.markers.ApiMarkerResolutionGenerator"
-            markerType="org.eclipse.pde.api.tools.api_usage">
-      </markerResolutionGenerator>
-      <markerResolutionGenerator
-            class="org.eclipse.pde.api.tools.ui.internal.markers.ApiMarkerResolutionGenerator"
-            markerType="org.eclipse.pde.api.tools.version_numbering">
-      </markerResolutionGenerator>
-      <markerResolutionGenerator
-            class="org.eclipse.pde.api.tools.ui.internal.markers.ApiMarkerResolutionGenerator"
-            markerType="org.eclipse.pde.api.tools.marker.sincetags">
-      </markerResolutionGenerator>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <viewerContribution
-            id="org.eclipse.pde.api.tools.ui.actions.compatibleBundles"
-            targetID="#RequiredPluginsContextMenu">
-         <action
-               class="org.eclipse.pde.api.tools.ui.internal.wizards.analysis.AnalyzeCompatibilityAction"
-               id="org.eclipse.pde.api.tools.ui.action.bundleCompatibility"
-               label="%AnalyzeCompatibleBundles.action.label"
-               menubarPath="additions">
-         </action>
-      </viewerContribution>
-   </extension>
-</plugin>
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/ApiImageDescriptor.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/ApiImageDescriptor.java
deleted file mode 100644
index 566f7bd..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/ApiImageDescriptor.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal;
-
-
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-
-/**
- * A main icon and several adornments. The adornments
- * are computed according to flags set on creation of the descriptor.
- */
-public class ApiImageDescriptor extends CompositeImageDescriptor {
-	
-	/** Flag to render the error (red x) adornment */
-	public final static int ERROR =		0x0001;
-	/** Flag to render the success (green check mark) adornment */
-	public final static int SUCCESS =	0x0002;
-	
-	private ImageDescriptor fBaseImage;
-	private int fFlags;
-	private Point fSize;
-	
-	/**
-	 * Create a new composite image.
-	 * 
-	 * @param baseImage an image descriptor used as the base image
-	 * @param flags flags indicating which adornments are to be rendered
-	 * 
-	 */
-	public ApiImageDescriptor(ImageDescriptor baseImage, int flags) {
-		setBaseImage(baseImage);
-		setFlags(flags);
-	}
-	
-	/**
-	 * @see CompositeImageDescriptor#getSize()
-	 */
-	protected Point getSize() {
-		if (fSize == null) {
-			ImageData data= getBaseImage().getImageData();
-			setSize(new Point(data.width, data.height));
-		}
-		return fSize;
-	}
-	
-	/**
-	 * @see Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {
-		if (!(object instanceof ApiImageDescriptor)){
-			return false;
-		}
-			
-		ApiImageDescriptor other= (ApiImageDescriptor)object;
-		return (getBaseImage().equals(other.getBaseImage()) && getFlags() == other.getFlags());
-	}
-	
-	/**
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return getBaseImage().hashCode() | getFlags();
-	}
-	
-	/**
-	 * @see CompositeImageDescriptor#drawCompositeImage(int, int)
-	 */
-	protected void drawCompositeImage(int width, int height) {
-		ImageData bg= getBaseImage().getImageData();
-		if (bg == null) {
-			bg= DEFAULT_IMAGE_DATA;
-		}
-		drawImage(bg, 0, 0);
-		drawOverlays();
-	}
-
-	private ImageData getImageData(String imageDescriptorKey) {
-		return ApiUIPlugin.getImageDescriptor(imageDescriptorKey).getImageData();
-	}
-	
-	/**
-	 * Add any overlays to the image as specified in the flags.
-	 */
-	protected void drawOverlays() {
-		int flags= getFlags();
-		int x= 0;
-		int y= 0;
-		ImageData data= null;
-		if ((flags & ERROR) != 0) {
-			x= 0;
-			y= getSize().y;
-			data= getImageData(IApiToolsConstants.IMG_OVR_ERROR);
-			y -= data.height;
-			drawImage(data, x, y);
-		} else if ((flags & SUCCESS) != 0) {
-			x= 0;
-			y= getSize().y;
-			data= getImageData(IApiToolsConstants.IMG_OVR_SUCCESS);
-			y -= data.height;
-			drawImage(data, x, y);
-		} 
-	}
-	
-	protected ImageDescriptor getBaseImage() {
-		return fBaseImage;
-	}
-
-	protected void setBaseImage(ImageDescriptor baseImage) {
-		fBaseImage = baseImage;
-	}
-
-	protected int getFlags() {
-		return fFlags;
-	}
-
-	protected void setFlags(int flags) {
-		fFlags = flags;
-	}
-
-	protected void setSize(Point size) {
-		fSize = size;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/ApiToolsLabelProvider.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/ApiToolsLabelProvider.java
deleted file mode 100644
index 97cdb26..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/ApiToolsLabelProvider.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.BaseLabelProvider;
-import org.eclipse.jface.viewers.IFontProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.pde.api.tools.internal.builder.ApiUseAnalyzer.CompatibilityResult;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMemberDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.search.ILocation;
-import org.eclipse.pde.api.tools.ui.internal.wizards.ApiProfileWizardPage.EEEntry;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Label provider for API tools objects.
- * 
- * @since 1.0.0
- */
-public class ApiToolsLabelProvider extends BaseLabelProvider implements ILabelProvider, IFontProvider {
-
-	/**
-	 * Font for the default {@link IApiProfile} 
-	 */
-	private Font font = null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.BaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		if(font != null) {
-			font.dispose();
-		}
-		super.dispose();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object element) {
-		if (element instanceof IApiComponent) {
-			IApiComponent comp = (IApiComponent) element;
-			if(comp.isSystemComponent()) {
-				return ApiUIPlugin.getSharedImage(IApiToolsConstants.IMG_OBJ_API_SYSTEM_LIBRARY);
-			}
-			if (comp.isFragment()) {
-				return ApiUIPlugin.getSharedImage(IApiToolsConstants.IMG_OBJ_FRAGMENT);
-			}
-			return ApiUIPlugin.getSharedImage(IApiToolsConstants.IMG_OBJ_BUNDLE);
-		}
-		if (element instanceof File) {
-			return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
-		}
-		if(element instanceof IApiProfile) {
-			return ApiUIPlugin.getSharedImage(IApiToolsConstants.IMG_OBJ_ECLIPSE_PROFILE);
-		}
-		if(element instanceof EEEntry) {
-			return ApiUIPlugin.getSharedImage(IApiToolsConstants.IMG_OBJ_API_SYSTEM_LIBRARY);
-		}
-		if (element instanceof CompatibilityResult) {
-			CompatibilityResult result = (CompatibilityResult) element;
-			IApiComponent component = result.getRequiredComponent();
-			String baseKey = null;
-			if (component.isFragment()) {
-				baseKey = IApiToolsConstants.IMG_OBJ_FRAGMENT;
-			} else if (component.isSystemComponent()) {
-				baseKey = IApiToolsConstants.IMG_OBJ_API_SYSTEM_LIBRARY;
-			} else {
-				baseKey = IApiToolsConstants.IMG_OBJ_BUNDLE;
-			}
-			int flags = ApiImageDescriptor.SUCCESS;
-			if (result.getUnresolvedReferences().length > 0) {
-				flags = ApiImageDescriptor.ERROR;
-			}
-			return ApiUIPlugin.getImage(new ApiImageDescriptor(ApiUIPlugin.getImageDescriptor(baseKey), flags));
-		}
-		if (element instanceof ILocation) {
-			ILocation location = (ILocation) element;
-			IMemberDescriptor member = location.getMember();
-			switch (member.getElementType()) {
-				case IElementDescriptor.T_REFERENCE_TYPE:
-					// TODO: class versus interface
-					return JavaUI.getSharedImages().getImage(org.eclipse.jdt.ui.ISharedImages.IMG_OBJS_CLASS);
-				default:
-					// TODO: need visibility
-					return JavaUI.getSharedImages().getImage(org.eclipse.jdt.ui.ISharedImages.IMG_OBJS_PUBLIC);
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-	 */
-	public String getText(Object element) {
-		if (element instanceof IApiComponent) {
-			IApiComponent comp = (IApiComponent) element;
-			return MessageFormat.format(Messages.ApiToolsLabelProvider_0, new String[]{comp.getId(), comp.getVersion()});
-		}
-		if (element instanceof File) {
-			try {
-				return ((File)element).getCanonicalPath();
-			} catch (IOException e) {
-				return ((File)element).getName();
-			}
-		}
-		if(element instanceof IApiProfile) {
-			IApiProfile profile  = (IApiProfile) element;
-			return profile.getName();
-		}
-		if(element instanceof EEEntry) {
-			return ((EEEntry)element).toString();
-		}
-		if (element instanceof CompatibilityResult) {
-			return getText(((CompatibilityResult)element).getRequiredComponent());
-		}
-		if (element instanceof ILocation) {
-			ILocation location = (ILocation) element;
-			IMemberDescriptor member = location.getMember();
-			switch (member.getElementType()) {
-				case IElementDescriptor.T_REFERENCE_TYPE:
-					return ((IReferenceTypeDescriptor)member).getQualifiedName();
-				case IElementDescriptor.T_METHOD:
-					IMethodDescriptor method = (IMethodDescriptor) member;
-					StringBuffer buf = new StringBuffer();
-					buf.append(member.getEnclosingType().getQualifiedName());
-					buf.append('.');
-					buf.append(Signature.toString(method.getSignature(), method.getName(), null, false, false));
-					return buf.toString();
-				default:
-					return member.getName();
-			}
-		}		
-		return "<unknown>"; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns if the specified {@link IApiProfile} is the default profile or not
-	 * @param element
-	 * @return if the profile is the default or not
-	 */
-	protected boolean isDefaultProfile(Object element) {
-		if(element instanceof IApiProfile) {
-			IApiProfile profile = (IApiProfile) element;
-			IApiProfile def = ApiPlugin.getDefault().getApiProfileManager().getDefaultApiProfile();
-			if(def != null) {
-				return profile.getName().equals(def.getName());
-			}
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IFontProvider#getFont(java.lang.Object)
-	 */
-	public Font getFont(Object element) {
-		if(isDefaultProfile(element)) {
-			if (font == null) {
-	            Font dialogFont = JFaceResources.getDialogFont();
-				FontData[] fontData = dialogFont.getFontData();
-	            for (int i = 0; i < fontData.length; i++) {
-					FontData data = fontData[i];
-					data.setStyle(SWT.BOLD);
-				}
-                Display display = ApiUIPlugin.getShell().getDisplay();
-	            font = new Font(display, fontData);
-			}
-			return font;
-		}
-		return null;
-	}
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/ApiUIPlugin.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/ApiUIPlugin.java
deleted file mode 100644
index 450d0df..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/ApiUIPlugin.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal;
-
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-
-/**
- * API tooling UI plug-in class.
- * 
- * @since 1.0.0
- */
-public class ApiUIPlugin extends AbstractUIPlugin {
-
-	/**
-	 * Singleton plug-in
-	 */
-	private static ApiUIPlugin fgDefault = null;
-	
-	/**
-	 * The id of the plugin
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.pde.api.tools.ui"; //$NON-NLS-1$
-	
-	/**
-	 * Status code indicating an unexpected internal error.
-	 */
-	public static final int INTERNAL_ERROR = 120;
-	
-	/**
-	 * Root path to icon directories.
-	 */
-	private static final String ICONS_PATH = "$nl$/icons/full/"; //$NON-NLS-1$
-	
-	/**
-	 * Relative path to object model icons.
-	 */
-	private final static String OBJECT= ICONS_PATH + "obj16/"; //basic colors - size 16x16 //$NON-NLS-1$
-	private final static String OVR= ICONS_PATH + "ovr16/"; //basic colors - size 7x8 //$NON-NLS-1$
-	private final static String WIZBAN= ICONS_PATH + "wizban/"; //basic colors - size 16x16 //$NON-NLS-1$
-	
-	/**
-	 * Maps Image descriptors to images for composite images
-	 */
-	private static Map fCompositeImages = new HashMap();
-	
-	/**
-	 * Constructor
-	 */
-	public ApiUIPlugin() {
-		fgDefault = this;
-	}
-	
-	/**
-	 * Returns the singleton API UI Tooling plug-in.
-	 * 
-	 * @return plug-in
-	 */
-	public static ApiUIPlugin getDefault() {
-		if(fgDefault == null) {
-			fgDefault = new ApiUIPlugin();
-		}
-		return fgDefault;
-	}
-	
-	/**
-	 * Returns dialog settings with the given name, creating a new section
-	 * if one does not exist.
-	 * 
-	 * @param name section name
-	 * @return dialog settings
-	 */
-	public IDialogSettings getDialogSettingsSection(String name) {
-		IDialogSettings dialogSettings= getDialogSettings();
-		IDialogSettings section= dialogSettings.getSection(name);
-		if (section == null) {
-			section= dialogSettings.addNewSection(name);
-		}
-		return section;
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#initializeImageRegistry(org.eclipse.jface.resource.ImageRegistry)
-	 */
-	protected void initializeImageRegistry(ImageRegistry reg) {
-		// model objects
-		declareRegistryImage(reg, IApiToolsConstants.IMG_OBJ_API_COMPONENT, OBJECT + "api_tools.gif"); //$NON-NLS-1$
-		declareRegistryImage(reg, IApiToolsConstants.IMG_OBJ_API_SYSTEM_LIBRARY, OBJECT + "library_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(reg, IApiToolsConstants.IMG_OBJ_API_SEARCH, OBJECT + "extract_references.gif"); //$NON-NLS-1$
-		declareRegistryImage(reg, IApiToolsConstants.IMG_OBJ_BUNDLE, OBJECT + "plugin_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(reg, IApiToolsConstants.IMG_OBJ_FRAGMENT, OBJECT + "frgmt_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(reg, IApiToolsConstants.IMG_OBJ_ECLIPSE_PROFILE, OBJECT + "eclipse_profile.gif"); //$NON-NLS-1$
-		declareRegistryImage(reg, IApiToolsConstants.IMG_OBJ_BUNDLE_VERSION, OBJECT + "bundleversion.gif"); //$NON-NLS-1$
-		// overlays
-		declareRegistryImage(reg, IApiToolsConstants.IMG_OVR_ERROR, OVR+ "error_ovr.gif"); //$NON-NLS-1$
-		declareRegistryImage(reg, IApiToolsConstants.IMG_OVR_SUCCESS, OVR+ "success_ovr.gif"); //$NON-NLS-1$
-		// wizards
-		declareRegistryImage(reg, IApiToolsConstants.IMG_WIZBAN_PROFILE, WIZBAN+ "profile_wiz.png"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Logs the specified status with this plug-in's log.
-	 * 
-	 * @param status status to log
-	 */
-	public static void log(IStatus status) {
-		if (getDefault() == null) {
-			Throwable exception = status.getException();
-			if (exception != null) {
-				exception.printStackTrace();
-			}
-		} else {
-			getDefault().getLog().log(status);
-		}
-	}
-	
-	/**
-	 * Logs the specified throwable with this plug-in's log.
-	 * 
-	 * @param t throwable to log 
-	 */
-	public static void log(Throwable t) {
-		log(newErrorStatus("Error logged from API Tools UI: ", t)); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Logs an internal error with the specified message.
-	 * 
-	 * @param message the error message to log
-	 */
-	public static void logErrorMessage(String message) {
-		// this message is intentionally not internationalized, as an exception may
-		// be due to the resource bundle itself
-		log(newErrorStatus("Internal message logged from API Tools UI: " + message, null)); //$NON-NLS-1$	
-	}
-	
-	/**
-	 * Returns a new error status for this plug-in with the given message
-	 * @param message the message to be included in the status
-	 * @param exception the exception to be included in the status or <code>null</code> if none
-	 * @return a new error status
-	 */
-	public static IStatus newErrorStatus(String message, Throwable exception) {
-		return new Status(IStatus.ERROR, getPluginIdentifier(), INTERNAL_ERROR, message, exception);
-	}
-	
-	/**
-	 * Returns the currently active workbench window shell or <code>null</code>
-	 * if none.
-	 * 
-	 * @return the currently active workbench window shell or <code>null</code>
-	 */
-	public static Shell getShell() {
-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		if (window == null) {
-			IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows();
-			if (windows.length > 0) {
-				return windows[0].getShell();
-			}
-		} 
-		else {
-			return window.getShell();
-		}
-		return null;
-	}
-	
-	/**
-	 * @return the id of this plugin.
-	 * Value is <code><org.eclipse.pde.api.tools.ui></code>
-	 */
-	public static String getPluginIdentifier() {
-		return PLUGIN_ID;
-	}
-	
-	/**
-	 * Declare an Image in the registry table.
-	 * @param reg	image registry
-	 * @param key 	The key to use when registering the image
-	 * @param path	The path where the image can be found. This path is relative to where
-	 *				this plug-in class is found (i.e. typically the packages directory)
-	 */
-	private final static void declareRegistryImage(ImageRegistry reg, String key, String path) {
-		ImageDescriptor desc = ImageDescriptor.getMissingImageDescriptor();
-		Bundle bundle = Platform.getBundle(IApiToolsConstants.ID_API_TOOLS_UI_PLUGIN);
-		URL url = null;
-		if (bundle != null){
-			url = FileLocator.find(bundle, new Path(path), null);
-			desc = ImageDescriptor.createFromURL(url);
-		}
-		reg.put(key, desc);
-	}	
-	
-	/**
-	 * Returns an image from the registry with the given key or <code>null</code> if none.
-	 * 
-	 * @param key image key
-	 * @return image or <code>null</code>
-	 */
-	public static Image getSharedImage(String key) {
-		return getDefault().getImageRegistry().get(key);
-	}
-	
-	/**
-	 * Returns the image associated with the given image descriptor.
-	 * 
-	 * @param descriptor the image descriptor for which there is a managed image
-	 * @return the image associated with the image descriptor or <code>null</code>
-	 *  if the image descriptor can't create the requested image.
-	 */
-	public static Image getImage(ImageDescriptor descriptor) {
-		if (descriptor == null)
-			descriptor= ImageDescriptor.getMissingImageDescriptor();
-			
-		Image result= (Image)fCompositeImages.get(descriptor);
-		if (result != null)
-			return result;
-	 
-		result= descriptor.createImage();
-		if (result != null)
-			fCompositeImages.put(descriptor, result);
-		return result;
-	}
-	
-	/**
-	 * Returns an image descriptor from the registry with the given key or <code>null</code> if none.
-	 * 
-	 * @param key image key
-	 * @return image descriptor or <code>null</code>
-	 */
-	public static ImageDescriptor getImageDescriptor(String key) {
-		return getDefault().getImageRegistry().getDescriptor(key);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		// dispose composite images
-		for (Iterator iter= fCompositeImages.values().iterator(); iter.hasNext(); ) {
-			Image image= (Image)iter.next();
-			image.dispose();
-		}
-		fCompositeImages.clear();
-		super.stop(context);
-	}
-	
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/IApiToolsConstants.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/IApiToolsConstants.java
deleted file mode 100644
index 67c6630..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/IApiToolsConstants.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal;
-
-/**
- * @since 1.0.0
- */
-public interface IApiToolsConstants {
-
-	/**
-	 * Plug-in identifier
-	 */
-	public static final String ID_API_TOOLS_UI_PLUGIN = "org.eclipse.pde.api.tools.ui"; //$NON-NLS-1$
-	/**
-	 * Empty String constant
-	 */
-	public static final String EMPTY_STRING = ""; //$NON-NLS-1$
-	/**
-	 * Key for API component image.
-	 */
-	public static final String IMG_OBJ_API_COMPONENT = "IMG_OBJ_API_COMPONENT"; //$NON-NLS-1$
-	/**
-	 * Key for API system component image
-	 */
-	public static final String IMG_OBJ_API_SYSTEM_LIBRARY = "IMG_OBJ_API_SYSTEM_LIBRARY"; //$NON-NLS-1$
-	
-	/**
-	 * Key for API search image
-	 */
-	public static final String IMG_OBJ_API_SEARCH = "IMG_OBJ_API_SEARCH"; //$NON-NLS-1$
-	
-	/**
-	 * Key for bundle image
-	 */
-	public static final String IMG_OBJ_BUNDLE = "IMG_OBJ_BUNDLE"; //$NON-NLS-1$
-	
-	/**
-	 * Key for fragment image
-	 */
-	public static final String IMG_OBJ_FRAGMENT = "IMG_OBJ_FRAGMENT"; //$NON-NLS-1$		
-	
-	/**
-	 * Key for Eclipse SDK/API profile image
-	 */
-	public static final String IMG_OBJ_ECLIPSE_PROFILE = "IMG_OBJ_ECLIPSE_PROFILE"; //$NON-NLS-1$
-	
-	/**
-	 * Key for a bundle version image
-	 */
-	public static final String IMG_OBJ_BUNDLE_VERSION = "IMG_OBJ_BUNDLE_VERSION"; //$NON-NLS-1$
-	
-	/**
-	 * Error overlay.
-	 */
-	public static final String IMG_OVR_ERROR = "IMG_OVR_ERROR"; //$NON-NLS-1$
-	
-	/**
-	 * Success overlay
-	 */
-	public static final String IMG_OVR_SUCCESS = "IMG_OVR_SUCCESS"; //$NON-NLS-1$
-	
-	/**
-	 * Wizard banner for editing an API profile
-	 */
-	public static final String IMG_WIZBAN_PROFILE = "IMG_WIZBAN_PROFILE"; //$NON-NLS-1$
-	
-	/**
-	 * Id for the Api profiles preference page.
-	 */
-	public static final String ID_PROFILES_PREF_PAGE = "org.eclipse.pde.api.tools.ui.apiprofiles.prefpage"; //$NON-NLS-1$
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/IApiToolsHelpContextIds.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/IApiToolsHelpContextIds.java
deleted file mode 100644
index d8dd90a..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/IApiToolsHelpContextIds.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal;
-
-import org.eclipse.pde.api.tools.ui.internal.preferences.ApiErrorsWarningsPreferencePage;
-import org.eclipse.pde.api.tools.ui.internal.preferences.ApiProfilesPreferencePage;
-import org.eclipse.pde.api.tools.ui.internal.properties.ApiFiltersPropertyPage;
-import org.eclipse.pde.api.tools.ui.internal.wizards.ApiProfileWizardPage;
-import org.eclipse.pde.api.tools.ui.internal.wizards.ApiToolingSetupWizardPage;
-
-/**
- * Listing of ids used a help context ids
- * @since 1.0.0
- */
-public interface IApiToolsHelpContextIds {
-
-	public static final String PREFIX = ApiUIPlugin.getPluginIdentifier() + "."; //$NON-NLS-1$
-	
-	/**
-	 * Constant representing the help id for the {@link ApiProfilesPreferencePage}.
-	 */
-	public static final String APIPROFILES_PREF_PAGE = PREFIX + "apiprofiles_preference_page"; //$NON-NLS-1$
-	
-	/**
-	 * Constant representing the help id for the {@link ApiProfileWizardPage}
-	 */
-	public static final String APIPROFILES_WIZARD_PAGE = PREFIX + "apiprofiles_wizard_page"; //$NON-NLS-1$
-	
-	/**
-	 * Constant representing the help id for the {@link ApiToolingSetupWizardPage}
-	 */
-	public static final String API_TOOLING_SETUP_WIZARD_PAGE = PREFIX + "api_tooling_setup_wizard_page"; //$NON-NLS-1$
-	
-	/**
-	 * Constant representing the help id for the {@link ApiErrorsWarningsPreferencePage}
-	 */
-	public static final String APITOOLS_ERROR_WARNING_PREF_PAGE = PREFIX + "apitools_error_warning_preference_page"; //$NON-NLS-1$
-	
-	/**
-	 * Constant representing the help id for the {@link ApiToolsErrorWarningsPropertyPage}
-	 */
-	public static final String APITOOLS_ERROR_WARNING_PROP_PAGE = PREFIX + "apitools_error_warning_prop_page"; //$NON-NLS-1$
-	
-	/**
-	 * Constant representing the help id for the {@link org.eclipse.pde.api.tools.ui.internal.preferences.ProjectSelectionDialog}
-	 */
-	public static final String APITOOLS_PROJECT_SPECIFIC_SETTINGS_SELECTION_DIALOG = PREFIX + "project_specific_settings_selection_dialog"; //$NON-NLS-1$
-	
-	/**
-	 * Constant representing the help id for the {@link ApiFiltersPropertyPage}
-	 */
-	public static final String APITOOLS_FILTERS_PROPERTY_PAGE = PREFIX + "apitools_filters_property_page"; //$NON-NLS-1$
-	
-	/**
-	 * Constant representing the help id for the {@link EditApiFilterDialog}
-	 */
-	public static final String APITOOLS_FILTERS_EDIT_DIALOG = PREFIX + "apitools_filters_edit_dialog"; //$NON-NLS-1$
-	
-	/**
-	 * Constant representing the help id for the {@link KindSelectionDialog}
-	 */
-	public static final String APITOOLS_KIND_SELECTION_DIALOG = PREFIX + "apitools_kinds_selection_dialog"; //$NON-NLS-1$
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/Messages.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/Messages.java
deleted file mode 100644
index 282dfe7..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/Messages.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @since 1.0
- */
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.pde.api.tools.ui.internal.messages"; //$NON-NLS-1$
-	public static String ApiToolsLabelProvider_0;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/PixelConverter.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/PixelConverter.java
deleted file mode 100644
index 163ab86..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/PixelConverter.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal;
-
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.widgets.Control;
-
-public class PixelConverter {
-	
-	private FontMetrics fFontMetrics;
-	
-	public PixelConverter(Control control) {
-		GC gc = new GC(control);
-		gc.setFont(control.getFont());
-		fFontMetrics= gc.getFontMetrics();
-		gc.dispose();
-	}
-		
-	/**
-	 * @see DialogPage#convertHorizontalDLUsToPixels
-	 */
-	public int convertHorizontalDLUsToPixels(int dlus) {
-		return Dialog.convertHorizontalDLUsToPixels(fFontMetrics, dlus);
-	}
-	
-	/**
-	 * @see DialogPage#convertWidthInCharsToPixels
-	 */
-	public int convertWidthInCharsToPixels(int chars) {
-		return Dialog.convertWidthInCharsToPixels(fFontMetrics, chars);
-	}	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/SWTFactory.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/SWTFactory.java
deleted file mode 100644
index 2dd35e9..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/SWTFactory.java
+++ /dev/null
@@ -1,552 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal;
-
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.PreferencesUtil;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.SharedScrolledComposite;
-
-/**
- * Factory class to create some SWT resources. 
- * 
- * @since 1.0.0
- */
-public class SWTFactory {
-	
-	/**
-	 * Returns a width hint for a button control.
-	 */
-	public static int getButtonWidthHint(Button button) {
-		button.setFont(JFaceResources.getDialogFont());
-		PixelConverter converter= new PixelConverter(button);
-		int widthHint = converter.convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	}
-	
-	/**
-	 * Sets width and height hint for the button control.
-	 * <b>Note:</b> This is a NOP if the button's layout data is not
-	 * an instance of <code>GridData</code>.
-	 * 
-	 * @param	the button for which to set the dimension hint
-	 */		
-	public static void setButtonDimensionHint(Button button) {
-		Assert.isNotNull(button);
-		Object gd = button.getLayoutData();
-		if (gd instanceof GridData) {
-			((GridData)gd).widthHint = getButtonWidthHint(button);	
-			((GridData)gd).horizontalAlignment = GridData.FILL;	 
-		}
-	}		
-	
-	/**
-	 * Creates a check box button using the parents' font
-	 * 
-	 * @param parent the parent to add the button to
-	 * @param label the label for the button
-	 * @param image the image for the button 
-	 * @param checked the initial checked state of the button
-	 * @param hspan the horizontal span to take up in the parent composite
-	 * @return a new checked button set to the initial checked state
-	 */
-	public static Button createCheckButton(Composite parent, String label, Image image, boolean checked, int hspan) {
-		Button button = new Button(parent, SWT.CHECK);
-		button.setFont(parent.getFont());
-		button.setSelection(checked);
-		if(image != null) {
-			button.setImage(image);
-		}
-		if(label != null) {
-			button.setText(label);
-		}
-		GridData gd = new GridData();
-		gd.horizontalSpan = hspan;
-		button.setLayoutData(gd);
-		setButtonDimensionHint(button);
-		return button;
-	}
-	
-	/**
-	 * Creates and returns a new push button with the given
-	 * label and/or image.
-	 * 
-	 * @param parent parent control
-	 * @param label button label or <code>null</code>
-	 * @param image image of <code>null</code>
-	 * @return a new push button
-	 */
-	public static Button createPushButton(Composite parent, String label, Image image) {
-		Button button = new Button(parent, SWT.PUSH);
-		button.setFont(parent.getFont());
-		if (image != null) {
-			button.setImage(image);
-		}
-		if (label != null) {
-			button.setText(label);
-		}
-		GridData gd = new GridData();
-		button.setLayoutData(gd);	
-		SWTFactory.setButtonDimensionHint(button);
-		return button;	
-	}	
-
-	/**
-	 * Creates and returns a new push button with the given
-	 * label and/or image.
-	 * 
-	 * @param parent parent control
-	 * @param label button label or <code>null</code>
-	 * @param image image of <code>null</code>
-	 * @param fill the alignment for the new button
-	 * @return a new push button
-	 */
-	public static Button createPushButton(Composite parent, String label, Image image, int fill) {
-		Button button = new Button(parent, SWT.PUSH);
-		button.setFont(parent.getFont());
-		if (image != null) {
-			button.setImage(image);
-		}
-		if (label != null) {
-			button.setText(label);
-		}
-		GridData gd = new GridData(fill);
-		button.setLayoutData(gd);	
-		SWTFactory.setButtonDimensionHint(button);
-		return button;	
-	}	
-	
-	/**
-	 * Creates and returns a new radio button with the given
-	 * label.
-	 * 
-	 * @param parent parent control
-	 * @param label button label or <code>null</code>
-	 * @return a new radio button
-	 */
-	public static Button createRadioButton(Composite parent, String label) {
-		Button button = new Button(parent, SWT.RADIO);
-		button.setFont(parent.getFont());
-		if (label != null) {
-			button.setText(label);
-		}
-		GridData gd = new GridData();
-		button.setLayoutData(gd);	
-		SWTFactory.setButtonDimensionHint(button);
-		return button;	
-	}	
-	
-	/**
-	 * Creates a new label widget
-	 * 
-	 * @param parent the parent composite to add this label widget to
-	 * @param text the text for the label
-	 * @param hspan the horizontal span to take up in the parent composite
-	 * @return the new label
-	 */
-	public static Label createLabel(Composite parent, String text, int hspan) {
-		Label l = new Label(parent, SWT.NONE);
-		l.setFont(parent.getFont());
-		l.setText(text);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = hspan;
-		gd.grabExcessHorizontalSpace = false;
-		l.setLayoutData(gd);
-		return l;
-	}
-	
-	/**
-	 * Creates a new label widget
-	 * 
-	 * @param parent the parent composite to add this label widget to
-	 * @param text the text for the label
-	 * @param font the font for the label
-	 * @param hspan the horizontal span to take up in the parent composite
-	 * @return the new label
-	 */
-	public static Label createLabel(Composite parent, String text, Font font, int hspan) {
-		Label l = new Label(parent, SWT.NONE);
-		l.setFont(font);
-		l.setText(text);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = hspan;
-		l.setLayoutData(gd);
-		return l;
-	}
-	
-	/**
-	 * Creates a wrapping label
-	 * 
-	 * @param parent the parent composite to add this label to
-	 * @param text the text to be displayed in the label
-	 * @param hspan the horizontal span that label should take up in the parent composite
-	 * @param wrapwidth the width hint that the label should wrap at
-	 * @return a new label that wraps at a specified width
-	 */
-	public static Label createWrapLabel(Composite parent, String text, int hspan, int wrapwidth) {
-		Label l = new Label(parent, SWT.NONE | SWT.WRAP);
-		l.setFont(parent.getFont());
-		l.setText(text);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = hspan;
-		gd.widthHint = wrapwidth;
-		l.setLayoutData(gd);
-		return l;
-	}
-	
-	/**
-	 * Creates a wrapping label
-	 * 
-	 * @param parent the parent composite to add this label to
-	 * @param text the text to be displayed in the label
-	 * @param hspan the horizontal span that label should take up in the parent composite
-	 * @return a new label that wraps at a specified width
-	 */
-	public static Label createWrapLabel(Composite parent, String text, int hspan) {
-		Label l = new Label(parent, SWT.NONE | SWT.WRAP);
-		l.setFont(parent.getFont());
-		l.setText(text);
-		GridData gd = new GridData(GridData.BEGINNING);
-		gd.horizontalSpan = hspan;
-		l.setLayoutData(gd);
-		return l;
-	}
-	
-	/**
-	 * Creates a scrolled composite 
-	 * 
-	 * @param parent the parent to add to
-	 * @param columns the number of columns for the composite
-	 * @param hspan the horizontal span to take up in the parent
-	 * @param marginwidth the width of the margins
-	 * @param marginheight the height of the margins
-	 * @return a new scrolled composite
-	 */
-	public static SharedScrolledComposite createScrolledComposite(Composite parent, int columns, int hspan, int marginwidth, int marginheight) {
-		SharedScrolledComposite comp = new SharedScrolledComposite(parent, SWT.V_SCROLL | SWT.H_SCROLL) {};
-		GridLayout layout = new GridLayout(columns, false);
-		layout.marginHeight = marginheight;
-		layout.marginWidth = marginwidth;
-		comp.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.horizontalSpan = hspan;
-		comp.setLayoutData(gd);
-		comp.setExpandHorizontal(true);
-		comp.setExpandVertical(true);
-		return comp;
-	}
-	
-	/**
-	 * Creates an ExpandibleComposite widget
-	 * 
-	 * @param parent the parent to add this widget to
-	 * @param style the style for ExpandibleComposite expanding handle, and layout
-	 * @param label the label for the widget
-	 * @param hspan how many columns to span in the parent
-	 * @param fill the fill style for the widget
-	 * Can be one of <code>GridData.FILL_HORIZONAL</code>, <code>GridData.FILL_BOTH</code> or <code>GridData.FILL_VERTICAL</code>
-	 * @return a new ExpandibleComposite widget
-	 */
-	public static ExpandableComposite createExpandibleComposite(Composite parent, String label, int hspan, int fill) {
-		ExpandableComposite ex = new ExpandableComposite(parent, SWT.NONE, ExpandableComposite.TWISTIE | ExpandableComposite.CLIENT_INDENT);
-		ex.setText(label);
-		ex.setFont(JFaceResources.getFontRegistry().getBold(JFaceResources.DIALOG_FONT));
-		GridData gd = new GridData(fill);
-		gd.horizontalSpan = hspan;
-		gd.grabExcessHorizontalSpace = true;
-		ex.setLayoutData(gd);
-		return ex;
-	}
-	
-	/**
-	 * Creates a new text widget 
-	 * 
-	 * @param parent the parent composite to add this text widget to
-	 * @param hspan the horizontal span to take up on the parent composite
-	 * @return the new text widget
-	 * 
-	 */
-	public static Text createSingleText(Composite parent, int hspan) {
-    	Text t = new Text(parent, SWT.SINGLE | SWT.BORDER);
-    	t.setFont(parent.getFont());
-    	GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-    	gd.horizontalSpan = hspan;
-    	t.setLayoutData(gd);
-    	return t;
-    }
-	
-	/**
-	 * Creates a new text widget 
-	 * 
-	 * @param parent the parent composite to add this text widget to
-	 * @param style the style bits for the text widget
-	 * @param hspan the horizontal span to take up on the parent composite
-	 * @param fill the fill for the grid layout
-	 * @return the new text widget
-	 */
-	public static Text createText(Composite parent, int style, int hspan, int fill) {
-    	Text t = new Text(parent, style);
-    	t.setFont(parent.getFont());
-    	GridData gd = new GridData(fill);
-    	gd.horizontalSpan = hspan;
-    	t.setLayoutData(gd);
-    	return t;
-    }
-	
-	/**
-	 * Creates a new text widget 
-	 * 
-	 * @param parent the parent composite to add this text widget to
-	 * @param style the style bits for the text widget
-	 * @param hspan the horizontal span to take up on the parent composite
-	 * @return the new text widget
-	 */
-	public static Text createText(Composite parent, int style, int hspan) {
-    	Text t = new Text(parent, style);
-    	t.setFont(parent.getFont());
-    	GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-    	gd.horizontalSpan = hspan;
-    	t.setLayoutData(gd);
-    	return t;
-    }
-	
-	/**
-	 * Creates a new text widget 
-	 * 
-	 * @param parent the parent composite to add this text widget to
-	 * @param style the style bits for the text widget
-	 * @param hspan the horizontal span to take up on the parent composite
-	 * @param width the desired width of the text widget
-	 * @param height the desired height of the text widget
-	 * @param fill the fill style for the widget
-	 * @return the new text widget
-	 */
-	public static Text createText(Composite parent, int style, int hspan, int width, int height, int fill) {
-    	Text t = new Text(parent, style);
-    	t.setFont(parent.getFont());
-    	GridData gd = new GridData(fill);
-    	gd.horizontalSpan = hspan;
-    	gd.widthHint = width;
-    	gd.heightHint = height;
-    	t.setLayoutData(gd);
-    	return t;
-    }
-	
-	/**
-	 * Creates a Group widget
-	 * 
-	 * @param parent the parent composite to add this group to
-	 * @param text the text for the heading of the group
-	 * @param columns the number of columns within the group
-	 * @param hspan the horizontal span the group should take up on the parent
-	 * @param fill the style for how this composite should fill into its parent
-	 * @return the new group
-	 */
-	public static Group createGroup(Composite parent, String text, int columns, int hspan, int fill) {
-    	Group g = new Group(parent, SWT.NONE);
-    	g.setLayout(new GridLayout(columns, false));
-    	g.setText(text);
-    	g.setFont(parent.getFont());
-    	GridData gd = new GridData(fill);
-		gd.horizontalSpan = hspan;
-    	g.setLayoutData(gd);
-    	return g;
-    }
-	
-	/**
-	 * Creates a composite that uses the parent's font and has a grid layout
-	 * 
-	 * @param parent the parent to add the composite to
-	 * @param columns the number of columns the composite should have
-	 * @param hspan the horizontal span the new composite should take up in the parent
-	 * @param fill the fill style of the composite {@link GridData}
-	 * @return a new composite with a grid layout
-	 */
-	public static Composite createComposite(Composite parent, int columns, int hspan, int fill) {
-		Composite g = new Composite(parent, SWT.NONE);
-    	g.setLayout(new GridLayout(columns, false));
-    	g.setFont(parent.getFont());
-    	GridData gd = new GridData(fill);
-		gd.horizontalSpan = hspan;
-		gd.grabExcessHorizontalSpace = true;
-    	g.setLayoutData(gd);
-    	return g;
-	}
-	
-	/**
-	 * Creates a composite that uses the parent's font and has a grid layout
-	 * 
-	 * @param parent the parent to add the composite to
-	 * @param font the font to use for this composite
-	 * @param columns the number of columns the composite should have
-	 * @param hspan the horizontal span the new composite should take up in the parent
-	 * @param fill the fill style of the composite {@link GridData}
-	 * @return a new composite with a grid layout
-	 */
-	public static Composite createComposite(Composite parent, Font font, int columns, int hspan, int fill) {
-		Composite g = new Composite(parent, SWT.NONE);
-    	g.setLayout(new GridLayout(columns, false));
-    	g.setFont(font);
-    	GridData gd = new GridData(fill);
-		gd.horizontalSpan = hspan;
-		gd.grabExcessHorizontalSpace = true;
-    	g.setLayoutData(gd);
-    	return g;
-	}
-	
-	/**
-	 * Creates a composite that uses the parent's font and has a grid layout
-	 * 
-	 * @param parent the parent to add the composite to
-	 * @param columns the number of columns the composite should have
-	 * @param hspan the horizontal span the new composite should take up in the parent
-	 * @param fill the fill style of the composite {@link GridData}
-	 * @param style the style of the composite
-	 * @return a new composite with a grid layout
-	 */
-	public static Composite createComposite(Composite parent, int columns, int hspan, int fill, int style) {
-		Composite g = new Composite(parent, style);
-    	g.setLayout(new GridLayout(columns, false));
-    	g.setFont(parent.getFont());
-    	GridData gd = new GridData(fill);
-		gd.horizontalSpan = hspan;
-		gd.grabExcessHorizontalSpace = true;
-    	g.setLayoutData(gd);
-    	return g;
-	}
-	
-	/**
-	 * Creates a vertical spacer for separating components. If applied to a 
-	 * <code>GridLayout</code>, this method will automatically span all of the columns of the parent
-	 * to make vertical space
-	 * 
-	 * @param parent the parent composite to add this spacer to
-	 * @param numlines the number of vertical lines to make as space
-	 */
-	public static void createVerticalSpacer(Composite parent, int numlines) {
-		Label lbl = new Label(parent, SWT.NONE);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		Layout layout = parent.getLayout();
-		if(layout instanceof GridLayout) {
-			gd.horizontalSpan = ((GridLayout)parent.getLayout()).numColumns;
-		}
-		gd.heightHint = numlines;
-		lbl.setLayoutData(gd);
-	}
-	
-	/**
-	 * Creates a horizontal spacer for separating components
-	 * 
-	 * @param comp
-	 * @param numlines
-	 */
-	public static void createHorizontalSpacer(Composite comp, int numlines) {
-		Label lbl = new Label(comp, SWT.NONE);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = numlines;
-		lbl.setLayoutData(gd);
-	}
-	
-	/**
-	 * Creates a Composite widget
-	 * 
-	 * @param parent the parent composite to add this composite to
-	 * @param columns the number of columns within the composite
-	 * @param hspan the horizontal span the composite should take up on the parent
-	 * @param fill the style for how this composite should fill into its parent
-	 * @param marginwidth the width of the margin to place on the sides of the composite (default is 5, specified by GridLayout)
-	 * @param marginheight the height of the margin to place o the top and bottom of the composite
-	 * @return the new composite
-	 */
-	public static Composite createComposite(Composite parent, int columns, int hspan, int fill, int marginwidth, int marginheight) {
-		Composite g = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout(columns, false);
-		layout.marginWidth = marginwidth;
-		layout.marginHeight = marginheight;
-    	g.setLayout(layout);
-    	g.setFont(parent.getFont());
-    	GridData gd = new GridData(fill);
-		gd.horizontalSpan = hspan;
-    	g.setLayoutData(gd);
-    	return g;
-	}
-	
-	/**
-	 * This method is used to make a combo box
-	 * 
-	 * @param parent the parent composite to add the new combo to
-	 * @param style the style for the Combo
-	 * @param hspan the horizontal span to take up on the parent composite
-	 * @param fill how the combo will fill into the composite
-	 * Can be one of <code>GridData.FILL_HORIZONAL</code>, <code>GridData.FILL_BOTH</code> or <code>GridData.FILL_VERTICAL</code>
-	 * @param items the item to put into the combo
-	 * @return a new Combo instance
-	 */
-	public static Combo createCombo(Composite parent, int style, int hspan, int fill, String[] items) {
-		Combo c = new Combo(parent, style);
-		c.setFont(parent.getFont());
-		GridData gd = new GridData(fill);
-		gd.horizontalSpan = hspan;
-		c.setLayoutData(gd);
-		if (items != null){
-			c.setItems(items);
-		}
-		c.select(0);
-		return c;
-	}
-	
-	/**
-	 * This method is used to make a combo box with a default fill style of GridData.FILL_HORIZONTAL
-	 * 
-	 * @param parent the parent composite to add the new combo to
-	 * @param style the style for the Combo
-	 * @param hspan the horizontal span to take up on the parent composite
-	 * @param items the item to put into the combo
-	 * @return a new Combo instance
-	 */
-	public static Combo createCombo(Composite parent, int style, int hspan, String[] items) {
-		Combo c = new Combo(parent, style);
-		c.setFont(parent.getFont());
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = hspan;
-		c.setLayoutData(gd);
-		if (items != null){
-			c.setItems(items);
-		}
-		c.select(0);
-		return c;
-	}
-	
-	/**
-	 * This method allows us to open the preference dialog on the specific page, in this case the perspective page
-	 * 
-	 * @param id the id of preference page to show
-	 * @param page the actual page to show
-	 */
-	public static void showPreferencePage(String id, Object data) {
-		PreferencesUtil.createPreferenceDialogOn(ApiUIPlugin.getShell(), id, new String[] {id}, data).open();
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/actions/ActionMessages.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/actions/ActionMessages.java
deleted file mode 100644
index f1bc4f8..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/actions/ActionMessages.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.actions;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * 
- */
-public class ActionMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.pde.api.tools.ui.internal.actions.actionmessages"; //$NON-NLS-1$
-	public static String ApiToolingSetupObjectContribution_0;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, ActionMessages.class);
-	}
-
-	private ActionMessages() {
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/actions/ApiToolingSetupObjectContribution.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/actions/ApiToolingSetupObjectContribution.java
deleted file mode 100644
index ce5fa5a..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/actions/ApiToolingSetupObjectContribution.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.actions;
-
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation;
-import org.eclipse.pde.api.tools.internal.provisional.scanner.ApiDescriptionProcessor;
-import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
-import org.eclipse.pde.api.tools.ui.internal.wizards.ApiToolingSetupWizard;
-import org.eclipse.pde.api.tools.ui.internal.wizards.ApiToolingSetupRefactoring;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * This class provides an object contribution for {@link IJavaProject}s to update the javadoc tags of
- * contained source files based on the component.xml file in the project.
- * 
- * If there is no component.xml file no work is done.
- * 
- * @see ApiDescriptionProcessor
- * 
- * @since 1.0.0
- */
-public class ApiToolingSetupObjectContribution implements IObjectActionDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		//TODO create changes
-		ApiToolingSetupWizard wizard = new ApiToolingSetupWizard(new ApiToolingSetupRefactoring());
-		RefactoringWizardOpenOperation op = new RefactoringWizardOpenOperation(wizard);
-		try {
-			op.run(ApiUIPlugin.getShell(), ActionMessages.ApiToolingSetupObjectContribution_0);
-		}
-		catch(InterruptedException ie) {
-			ApiUIPlugin.log(ie);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {}
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/actions/actionmessages.properties b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/actions/actionmessages.properties
deleted file mode 100644
index db3daac..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/actions/actionmessages.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-ApiToolingSetupObjectContribution_0=Set up API tooling
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/completion/APIToolsJavadocCompletionProposal.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/completion/APIToolsJavadocCompletionProposal.java
deleted file mode 100644
index 76eadde..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/completion/APIToolsJavadocCompletionProposal.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.completion;
-
-import org.eclipse.jdt.core.CompletionContext;
-import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposalExtension2;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-
-/**
- * This class provides a completion proposal for javadoc type extensions, more specifically
- * it is used to contribute the following tags:
- * 
- * @since 1.0.0
- */
-public class APIToolsJavadocCompletionProposal implements IJavaCompletionProposal, ICompletionProposalExtension2 {
-	
-	int fOffset = 0;
-	String fReplaceText = null;
-	String fDisplayText = null;
-	Image fImage = null;
-	CompletionContext fContext = null;
-	
-	/**
-	 * Constructor
-	 * @param replacetext
-	 * @param displaytext
-	 * @param image
-	 */
-	public APIToolsJavadocCompletionProposal(CompletionContext context, String replacetext, String displaytext, Image image) {
-		fContext = context;
-		fReplaceText = replacetext;
-		fImage = image;
-		fDisplayText = displaytext;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.text.java.IJavaCompletionProposal#getRelevance()
-	 */
-	public int getRelevance() {
-		return 0;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#apply(org.eclipse.jface.text.IDocument)
-	 */
-	public void apply(IDocument document) {}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getAdditionalProposalInfo()
-	 */
-	public String getAdditionalProposalInfo() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getContextInformation()
-	 */
-	public IContextInformation getContextInformation() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getDisplayString()
-	 */
-	public String getDisplayString() {
-		return fDisplayText;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getImage()
-	 */
-	public Image getImage() {
-		return fImage;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getSelection(org.eclipse.jface.text.IDocument)
-	 */
-	public Point getSelection(IDocument document) {
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#apply(org.eclipse.jface.text.ITextViewer, char, int, int)
-	 */
-	public void apply(ITextViewer viewer, char trigger, int stateMask, int offset) {
-		try {
-			IDocument doc  = viewer.getDocument();
-			int start = fContext.getTokenStart();
-			doc.replace(start, offset-start, fReplaceText);
-		} catch (BadLocationException e) {
-			ApiUIPlugin.log(e);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#selected(org.eclipse.jface.text.ITextViewer, boolean)
-	 */
-	public void selected(ITextViewer viewer, boolean smartToggle) {}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#unselected(org.eclipse.jface.text.ITextViewer)
-	 */
-	public void unselected(ITextViewer viewer) {}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#validate(org.eclipse.jface.text.IDocument, int, org.eclipse.jface.text.DocumentEvent)
-	 */
-	public boolean validate(IDocument document, int offset, DocumentEvent event) {
-		try {
-			int start = fContext.getTokenStart();
-			int length = offset-start;
-			String prefix = document.get(start, length);
-			if(length <= fDisplayText.length()) {
-				return prefix.equals(fDisplayText.substring(0, length));
-			}
-		}
-		catch (BadLocationException e) {}
-		return false;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/completion/APIToolsJavadocCompletionProposalComputer.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/completion/APIToolsJavadocCompletionProposalComputer.java
deleted file mode 100644
index 8ff165f..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/completion/APIToolsJavadocCompletionProposalComputer.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.completion;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.core.CompletionContext;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.ui.text.java.ContentAssistInvocationContext;
-import org.eclipse.jdt.ui.text.java.IJavaCompletionProposalComputer;
-import org.eclipse.jdt.ui.text.java.JavaContentAssistInvocationContext;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.pde.api.tools.internal.JavadocTagManager;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IApiJavadocTag;
-import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * This class creates completion proposals to javadoc header blocks
- * for the javadoc tags contributed via the apiJavadocTags extension point.
- * 
- * @see IApiJavadocTag
- * @see JavadocTagManager
- * @see APIToolsJavadocCompletionProposal
- * 
- * @since 1.0.0
- */
-public class APIToolsJavadocCompletionProposalComputer implements IJavaCompletionProposalComputer {
-	
-	private String fErrorMessage = null;
-	private Image fImageHandle = null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.text.java.IJavaCompletionProposalComputer#computeCompletionProposals(org.eclipse.jdt.ui.text.java.ContentAssistInvocationContext, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public List computeCompletionProposals(ContentAssistInvocationContext context, IProgressMonitor monitor) {
-		if(context instanceof JavaContentAssistInvocationContext) {
-			JavaContentAssistInvocationContext jcontext = (JavaContentAssistInvocationContext) context;
-			CompletionContext corecontext = jcontext.getCoreContext();
-			if(corecontext.isInJavadoc()) {
-				ICompilationUnit cunit = jcontext.getCompilationUnit();
-				if(cunit != null) {
-					ArrayList list = new ArrayList();
-					int offset = jcontext.getInvocationOffset();
-					try {
-						IJavaElement element = cunit.getElementAt(offset);
-						if (element == null) {
-							return Collections.EMPTY_LIST;
-						}
-						ImageDescriptor imagedesc = jcontext.getLabelProvider().createImageDescriptor(org.eclipse.jdt.core.CompletionProposal.create(org.eclipse.jdt.core.CompletionProposal.JAVADOC_BLOCK_TAG, offset));
-						fImageHandle = (imagedesc == null ? null : imagedesc.createImage());
-						int type = getType(element);
-						int member = IApiJavadocTag.MEMBER_NONE;
-						switch(element.getElementType()) {
-							case IJavaElement.METHOD: {
-								member = IApiJavadocTag.MEMBER_METHOD;
-								break;
-							}
-							case IJavaElement.FIELD: {
-								member = IApiJavadocTag.MEMBER_FIELD;
-								break;
-							}
-						}
-						IApiJavadocTag[] tags = ApiPlugin.getJavadocTagManager().getTagsForType(type, member);
-						String completiontext = null;
-						int tokenstart = corecontext.getTokenStart();
-						int length = offset - tokenstart;
-						for(int i = 0; i < tags.length; i++) {
-							completiontext = tags[i].getCompleteTag(type, member);
-							if(appliesToContext(jcontext.getDocument(), completiontext, tokenstart, (length > 0 ? length : 1))) {
-								list.add(new APIToolsJavadocCompletionProposal(corecontext, completiontext, tags[i].getTagLabel(), fImageHandle));
-							}
-						}
-						return list;
-					} 
-					catch (JavaModelException e) {
-						fErrorMessage = e.getMessage();
-					}
-				}
-			}
-		}
-		return Collections.EMPTY_LIST;
-	}
-	
-	/**
-	 * Returns the type of the enclosing type.
-	 * 
-	 * @param element java element
-	 * @return class of interface constant
-	 * @throws JavaModelException
-	 */
-	private int getType(IJavaElement element) throws JavaModelException {
-		while (element != null && element.getElementType() != IJavaElement.TYPE) {
-			element = element.getParent();
-		}
-		if (element instanceof IType) {
-			if (((IType)element).isInterface()) {
-				return IApiJavadocTag.TYPE_INTERFACE;
-			}
-		}
-		return IApiJavadocTag.TYPE_CLASS;
-	}
-	
-	/**
-	 * Determines if the specified completion applies to the current offset context in the document
-	 * @param document
-	 * @param completiontext
-	 * @param offset
-	 * @return true if the completion applies, false otherwise
-	 */
-	private boolean appliesToContext(IDocument document, String completiontext, int tokenstart, int length) {
-		if(length > completiontext.length()) {
-			return false;
-		}
-		try {
-			String prefix = document.get(tokenstart, length);
-			return prefix.equals(completiontext.substring(0, length));
-		}
-		catch (BadLocationException e) {
-			ApiUIPlugin.log(e);
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.text.java.IJavaCompletionProposalComputer#computeContextInformation(org.eclipse.jdt.ui.text.java.ContentAssistInvocationContext, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public List computeContextInformation(ContentAssistInvocationContext context, IProgressMonitor monitor) {
-		return Collections.EMPTY_LIST;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.text.java.IJavaCompletionProposalComputer#getErrorMessage()
-	 */
-	public String getErrorMessage() {
-		return fErrorMessage;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.text.java.IJavaCompletionProposalComputer#sessionEnded()
-	 */
-	public void sessionEnded() {
-		if(fImageHandle != null) {
-			fImageHandle.dispose();
-		}
-		fErrorMessage = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.text.java.IJavaCompletionProposalComputer#sessionStarted()
-	 */
-	public void sessionStarted() {
-		fErrorMessage = null;
-	}
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/ApiMarkerResolutionGenerator.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/ApiMarkerResolutionGenerator.java
deleted file mode 100644
index 496119c..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/ApiMarkerResolutionGenerator.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.markers;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.pde.api.tools.internal.provisional.IApiMarkerConstants;
-import org.eclipse.ui.IMarkerResolution;
-import org.eclipse.ui.IMarkerResolutionGenerator2;
-
-/**
- * Returns the listing of applicable {@link IMarkerResolution}s given a certain kind of marker.
- * @since 1.0.0
- */
-public class ApiMarkerResolutionGenerator implements IMarkerResolutionGenerator2 {
-
-	/**
-	 * Default empty listing of {@link IMarkerResolution}s
-	 */
-	private final IMarkerResolution[] NO_RESOLUTIONS = new IMarkerResolution[0];
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IMarkerResolutionGenerator#getResolutions(org.eclipse.core.resources.IMarker)
-	 */
-	public IMarkerResolution[] getResolutions(IMarker marker) {
-		if (!hasResolutions(marker)) {
-			return NO_RESOLUTIONS;
-		}
-		switch(marker.getAttribute(IApiMarkerConstants.API_MARKER_ATTR_ID, -1)) {
-			case IApiMarkerConstants.API_USAGE_MARKER_ID :
-				return new IMarkerResolution[] {new FilterProblemResolution(marker)};
-			case IApiMarkerConstants.BINARY_COMPATIBILITY_MARKER_ID :
-				return new IMarkerResolution[] {new FilterProblemResolution(marker)};
-			case IApiMarkerConstants.DEFAULT_API_PROFILE_MARKER_ID :
-				return new IMarkerResolution[] {new DefaultApiProfileResolution()};
-			case IApiMarkerConstants.SINCE_TAG_MARKER_ID :
-				return new IMarkerResolution[] {new SinceTagResolution(marker), new FilterProblemResolution(marker)};
-			case IApiMarkerConstants.VERSION_NUMBERING_MARKER_ID :
-				return new IMarkerResolution[] {new VersionNumberingResolution(marker), new FilterProblemResolution(marker)};
-			default :
-				return NO_RESOLUTIONS;
-		}
-	}
-
-	public boolean hasResolutions(IMarker marker) {
-		return marker.getAttribute(IApiMarkerConstants.API_MARKER_ATTR_ID, -1) > 0;
-	}
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/CreateApiFilterOperation.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/CreateApiFilterOperation.java
deleted file mode 100644
index 915506d..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/CreateApiFilterOperation.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.markers;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.pde.api.tools.internal.problems.ApiProblemFactory;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore;
-import org.eclipse.pde.api.tools.internal.provisional.IApiMarkerConstants;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemFilter;
-import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
-import org.eclipse.ui.progress.UIJob;
-
-/**
- * Operation for creating a new API problem filter
- * 
- * @see IApiProblem
- * @see IApiProblemFilter
- * @see IApiFilterStore
- * 
- * @since 1.0.0
- */
-public class CreateApiFilterOperation extends UIJob {
-
-	private IMarker fBackingMarker = null;
-	
-	/**
-	 * Constructor
-	 * @param element the element to create the filter for (method, field, class, enum, etc)
-	 * @param kind the kind of filter to create
-	 * 
-	 * @see IApiProblemFilter#getKinds()
-	 */
-	public CreateApiFilterOperation(IMarker marker) {
-		super(MarkerMessages.CreateApiFilterOperation_0);
-		fBackingMarker = marker;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.progress.UIJob#runInUIThread(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus runInUIThread(IProgressMonitor monitor) {
-		try {
-			IResource resource = fBackingMarker.getResource();
-			IProject project = resource.getProject();
-			if(project == null) {
-				return Status.CANCEL_STATUS;
-			}
-			IApiComponent component = ApiPlugin.getDefault().getApiProfileManager().getWorkspaceProfile().getApiComponent(project.getName());
-			if(component == null) {
-				return Status.CANCEL_STATUS;
-			}
-			IApiFilterStore store = component.getFilterStore();
-			IApiProblem problem = ApiProblemFactory.newApiProblem(resource.getProjectRelativePath().toPortableString(), 
-					getMessageArgumentsFromMarker(), 
-					null,
-					null,
-					fBackingMarker.getAttribute(IMarker.LINE_NUMBER, -1), 
-					fBackingMarker.getAttribute(IMarker.CHAR_START, -1),
-					fBackingMarker.getAttribute(IMarker.CHAR_END, -1), 
-					fBackingMarker.getAttribute(IApiMarkerConstants.MARKER_ATTR_PROBLEM_ID, 0));
-			store.addFilters(new IApiProblem[] {problem});
-			fBackingMarker.delete();
-			return Status.OK_STATUS;
-		}
-		catch(CoreException ce) {
-			ApiUIPlugin.log(ce);
-		}
-		return Status.CANCEL_STATUS;
-	}
-	
-	/**
-	 * @return the listing of message arguments from the marker.
-	 */
-	private String[] getMessageArgumentsFromMarker() {
-		ArrayList args = new ArrayList();
-		String arguments = fBackingMarker.getAttribute(IApiMarkerConstants.MARKER_ATTR_MESSAGE_ARGUMENTS, null);
-		if(arguments != null) {
-			return arguments.split("#"); //$NON-NLS-1$
-		}
-		return (String[]) args.toArray(new String[args.size()]);
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/DefaultApiProfileResolution.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/DefaultApiProfileResolution.java
deleted file mode 100644
index 91c2a82..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/DefaultApiProfileResolution.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.markers;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
-import org.eclipse.pde.api.tools.ui.internal.IApiToolsConstants;
-import org.eclipse.pde.api.tools.ui.internal.SWTFactory;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IMarkerResolution2;
-import org.eclipse.ui.progress.UIJob;
-
-/**
- * This resolution helps users to pick a default API profile when the tooling has been set up
- * but there is no default profile
- * 
- * @since 1.0.0
- */
-public class DefaultApiProfileResolution implements IMarkerResolution2 {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IMarkerResolution2#getDescription()
-	 */
-	public String getDescription() {
-		return MarkerMessages.DefaultApiProfileResolution_0;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IMarkerResolution2#getImage()
-	 */
-	public Image getImage() {
-		return ApiUIPlugin.getSharedImage(IApiToolsConstants.IMG_OBJ_ECLIPSE_PROFILE);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IMarkerResolution#getLabel()
-	 */
-	public String getLabel() {
-		return MarkerMessages.DefaultApiProfileResolution_1;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IMarkerResolution#run(org.eclipse.core.resources.IMarker)
-	 */
-	public void run(IMarker marker) {
-		UIJob job  = new UIJob(MarkerMessages.DefaultApiProfileResolution_2) {
-			/* (non-Javadoc)
-			 * @see org.eclipse.ui.progress.UIJob#runInUIThread(org.eclipse.core.runtime.IProgressMonitor)
-			 */
-			public IStatus runInUIThread(IProgressMonitor monitor) {
-				SWTFactory.showPreferencePage(IApiToolsConstants.ID_PROFILES_PREF_PAGE, null);
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.schedule();
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/FilterProblemResolution.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/FilterProblemResolution.java
deleted file mode 100644
index 67eaa17..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/FilterProblemResolution.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.markers;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.ui.ISharedImages;
-import org.eclipse.jdt.ui.JavaElementLabels;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.pde.api.tools.internal.problems.ApiProblemFactory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiMarkerConstants;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IMarkerResolution2;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Marker resolution for adding an API filter for the specific member the marker appears on
- * 
- * @since 1.0.0
- */
-public class FilterProblemResolution implements IMarkerResolution2 {
-
-	protected IMarker fBackingMarker = null;
-	protected IJavaElement fResolvedElement = null;
-	protected String fCategory = null;
-	
-	/**
-	 * Constructor
-	 * @param marker the backing marker for the resolution
-	 */
-	public FilterProblemResolution(IMarker marker) {
-		fBackingMarker = marker;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IMarkerResolution2#getDescription()
-	 */
-	public String getDescription() {
-		IJavaElement element = resolveElementFromMarker();
-		if(element != null) {
-			return MessageFormat.format(MarkerMessages.FilterProblemResolution_0, new String[] {JavaElementLabels.getTextLabel(element, JavaElementLabels.M_PARAMETER_TYPES), resolveCategoryName()});
-		}
-		else {
-			IResource res = fBackingMarker.getResource();
-			return MessageFormat.format(MarkerMessages.FilterProblemResolution_0, new String[] {res.getFullPath().removeFileExtension().lastSegment(), resolveCategoryName()});
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IMarkerResolution2#getImage()
-	 */
-	public Image getImage() {
-		return JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_IMPDECL);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IMarkerResolution#getLabel()
-	 */
-	public String getLabel() {
-		IJavaElement element = resolveElementFromMarker();
-		if(element != null) {
-			return MessageFormat.format(MarkerMessages.FilterProblemResolution_0, new String[] {JavaElementLabels.getTextLabel(element, JavaElementLabels.M_PARAMETER_TYPES), resolveCategoryName()});
-		}
-		else {
-			IResource res = fBackingMarker.getResource();
-			return MessageFormat.format(MarkerMessages.FilterProblemResolution_0, new String[] {res.getFullPath().removeFileExtension().lastSegment(), resolveCategoryName()});
-		}
-	}
-	
-	/**
-	 * Returns the category name from the problem id contained in the 
-	 * backing marker.
-	 * @return the name of the category from the markers' problem id
-	 */
-	protected String resolveCategoryName() {
-		if(fCategory == null) {
-			int problemid = fBackingMarker.getAttribute(IApiMarkerConstants.MARKER_ATTR_PROBLEM_ID, -1);
-			int category = ApiProblemFactory.getProblemCategory(problemid);
-			switch(category) {
-				case IApiProblem.CATEGORY_BINARY: {
-					fCategory = MarkerMessages.FilterProblemResolution_binary_compatible;
-					break;
-				}
-				case IApiProblem.CATEGORY_API_PROFILE: {
-					fCategory = MarkerMessages.FilterProblemResolution_default_profile;
-					break;
-				}
-				case IApiProblem.CATEGORY_SINCETAGS: {
-					fCategory = MarkerMessages.FilterProblemResolution_since_tag;
-					break;
-				}
-				case IApiProblem.CATEGORY_USAGE: {
-					fCategory = MarkerMessages.FilterProblemResolution_usage;
-					break;
-				}
-				case IApiProblem.CATEGORY_VERSION: {
-					fCategory = MarkerMessages.FilterProblemResolution_version_number;
-				}
-			}
-		}
-		return fCategory;
-	}
-	
-	/**
-	 * Resolves the {@link IJavaElement} from the infos in the marker.
-	 * 
-	 * @return the associated {@link IJavaElement} for the infos in the {@link IMarker}
-	 */
-	protected IJavaElement resolveElementFromMarker() {
-		if(fResolvedElement == null) {
-			try {
-				String handle = (String) fBackingMarker.getAttribute(IApiMarkerConstants.MARKER_ATTR_HANDLE_ID);
-				if(handle != null) {
-					fResolvedElement = JavaCore.create(handle);
-				}
-			}
-			catch(CoreException ce) {
-				ApiUIPlugin.log(ce);
-			}
-		}
-		return fResolvedElement;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IMarkerResolution#run(org.eclipse.core.resources.IMarker)
-	 */
-	public void run(IMarker marker) {
-		CreateApiFilterOperation op = new CreateApiFilterOperation(fBackingMarker);
-		op.setSystem(true);
-		op.schedule();
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/MarkerMessages.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/MarkerMessages.java
deleted file mode 100644
index 4549548..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/MarkerMessages.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.markers;
-
-import org.eclipse.osgi.util.NLS;
-/**
- * 
- */
-public class MarkerMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.pde.api.tools.ui.internal.markers.markermessages"; //$NON-NLS-1$
-	public static String CreateApiFilterOperation_0;
-	public static String DefaultApiProfileResolution_0;
-	public static String DefaultApiProfileResolution_1;
-	public static String DefaultApiProfileResolution_2;
-	public static String FilterProblemResolution_0;
-	public static String FilterProblemResolution_binary_compatible;
-	public static String FilterProblemResolution_default_profile;
-	public static String FilterProblemResolution_since_tag;
-	public static String FilterProblemResolution_usage;
-	public static String FilterProblemResolution_version_number;
-
-	public static String SinceTagResolution_missing0;
-	public static String SinceTagResolution_missing1;
-	public static String SinceTagResolution_missing2;
-
-	public static String SinceTagResolution_malformed0;
-	public static String SinceTagResolution_malformed1;
-	public static String SinceTagResolution_malformed2;
-
-	public static String SinceTagResolution_invalid0;
-	public static String SinceTagResolution_invalid1;
-	public static String SinceTagResolution_invalid2;
-
-	public static String UpdateSinceTagOperation_title;
-
-	public static String VersionNumberingResolution_major0;
-	public static String VersionNumberingResolution_minor0;
-	public static String VersionNumberingResolution_micro0;
-	public static String VersionNumberingResolution_major1;
-	public static String VersionNumberingResolution_minor1;
-	public static String VersionNumberingResolution_micro1;
-	public static String VersionNumberingResolution_major2;
-	public static String VersionNumberingResolution_minor2;
-	public static String VersionNumberingResolution_micro2;
-
-	public static String UpdateVersionNumberingOperation_title;
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, MarkerMessages.class);
-	}
-
-	private MarkerMessages() {
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/SinceTagResolution.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/SinceTagResolution.java
deleted file mode 100644
index 6c64fdb..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/SinceTagResolution.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.markers;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.ui.ISharedImages;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.pde.api.tools.internal.problems.ApiProblemFactory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiMarkerConstants;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IMarkerResolution2;
-import org.eclipse.ui.progress.UIJob;
-
-/**
- * This resolution helps users to pick a default API profile when the tooling has been set up
- * but there is no default profile
- * 
- * @since 1.0.0
- */
-public class SinceTagResolution implements IMarkerResolution2 {
-	private int kind;
-	private String newVersionValue;
-	
-	public SinceTagResolution(IMarker marker) {
-		this.kind = ApiProblemFactory.getProblemKind(marker.getAttribute(IApiMarkerConstants.MARKER_ATTR_PROBLEM_ID, 0));
-		this.newVersionValue = (String) marker.getAttribute(IApiMarkerConstants.MARKER_ATTR_VERSION, null);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IMarkerResolution2#getDescription()
-	 */
-	public String getDescription() {
-		if (IApiProblem.SINCE_TAG_INVALID == this.kind) {
-			return NLS.bind(MarkerMessages.SinceTagResolution_invalid0, this.newVersionValue);
-		} else if (IApiProblem.SINCE_TAG_MALFORMED == this.kind) {
-			return NLS.bind(MarkerMessages.SinceTagResolution_malformed0, this.newVersionValue);
-		} else {
-			return NLS.bind(MarkerMessages.SinceTagResolution_missing0, this.newVersionValue);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IMarkerResolution2#getImage()
-	 */
-	public Image getImage() {
-		return JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_JAVADOCTAG);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IMarkerResolution#getLabel()
-	 */
-	public String getLabel() {
-		if (IApiProblem.SINCE_TAG_INVALID == this.kind) {
-			return NLS.bind(MarkerMessages.SinceTagResolution_invalid1, this.newVersionValue);
-		} else if (IApiProblem.SINCE_TAG_MALFORMED == this.kind) {
-			return NLS.bind(MarkerMessages.SinceTagResolution_malformed1, this.newVersionValue);
-		} else {
-			return NLS.bind(MarkerMessages.SinceTagResolution_missing1, this.newVersionValue);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IMarkerResolution#run(org.eclipse.core.resources.IMarker)
-	 */
-	public void run(final IMarker marker) {
-		String title = null;
-		if (IApiProblem.SINCE_TAG_INVALID == this.kind) {
-			title = NLS.bind(MarkerMessages.SinceTagResolution_invalid2, this.newVersionValue);
-		} else if (IApiProblem.SINCE_TAG_MALFORMED == this.kind) {
-			title = NLS.bind(MarkerMessages.SinceTagResolution_malformed2, this.newVersionValue);
-		} else {
-			title = NLS.bind(MarkerMessages.SinceTagResolution_missing2, this.newVersionValue);
-		}
-		UIJob job  = new UIJob(title) {
-			public IStatus runInUIThread(IProgressMonitor monitor) {
-				UpdateSinceTagOperation updateSinceTagOperation = new UpdateSinceTagOperation(
-						marker,
-						SinceTagResolution.this.kind,
-						SinceTagResolution.this.newVersionValue);
-				updateSinceTagOperation.run(monitor);
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.schedule();
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/UpdateBundleVersionOperation.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/UpdateBundleVersionOperation.java
deleted file mode 100644
index 922d03d..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/UpdateBundleVersionOperation.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.markers;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.eclipse.pde.core.IBaseModel;
-import org.eclipse.pde.internal.core.ibundle.IBundle;
-import org.eclipse.pde.internal.core.ibundle.IBundlePluginModelBase;
-import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
-import org.eclipse.pde.internal.core.text.bundle.BundleVersionHeader;
-import org.eclipse.pde.internal.ui.util.ModelModification;
-import org.eclipse.pde.internal.ui.util.PDEModelUtility;
-import org.osgi.framework.Constants;
-
-public class UpdateBundleVersionOperation {
-	IMarker fMarker;
-	String fVersion;
-
-	public UpdateBundleVersionOperation(IMarker marker, String version) {
-		this.fMarker = marker;
-		this.fVersion = version;
-	}
-	public IStatus run(IProgressMonitor monitor) {
-		if (monitor != null && monitor.isCanceled()) return Status.CANCEL_STATUS;
-		if (monitor != null) {
-			monitor.beginTask(MarkerMessages.UpdateVersionNumberingOperation_title, 2);
-		}
-		try {
-			if (monitor != null) {
-				monitor.worked(1);
-			}
-			IResource resource = this.fMarker.getResource();
-			IProject project = resource.getProject();
-			if (!project.isAccessible()) {
-				System.err.println("Project " + project.getName() + " doesn't exist"); //$NON-NLS-1$ //$NON-NLS-2$
-				return Status.OK_STATUS;
-			}
-			if (resource.getType() == IResource.FILE) {
-				IFile file = (IFile) resource;
-				ModelModification mod = new ModelModification(file) {
-					protected void modifyModel(IBaseModel model, IProgressMonitor monitor) throws CoreException {
-						if (!(model instanceof IBundlePluginModelBase))
-							return;
-						IBundlePluginModelBase modelBase = (IBundlePluginModelBase) model;
-						IBundle bundle = modelBase.getBundleModel().getBundle();
-						IManifestHeader header = bundle.getManifestHeader(Constants.BUNDLE_VERSION);
-						if (header instanceof BundleVersionHeader) {
-							BundleVersionHeader versionHeader = (BundleVersionHeader) header;
-							versionHeader.setValue(fVersion);
-						}
-					}
-				};
-				PDEModelUtility.modifyModel(mod, null);
-			}
-			Util.getBuildJob(new IProject[] {project}).schedule();
-			if (monitor != null) {
-				monitor.worked(1);
-			}
-		} finally {
-			if (monitor != null) {
-				monitor.done();
-			}
-		}
-		return Status.OK_STATUS;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/UpdateSinceTagOperation.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/UpdateSinceTagOperation.java
deleted file mode 100644
index b53a99c..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/UpdateSinceTagOperation.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.markers;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.filebuffers.ITextFileBufferManager;
-import org.eclipse.core.filebuffers.LocationKind;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.ASTParser;
-import org.eclipse.jdt.core.dom.ASTVisitor;
-import org.eclipse.jdt.core.dom.AnnotationTypeDeclaration;
-import org.eclipse.jdt.core.dom.AnnotationTypeMemberDeclaration;
-import org.eclipse.jdt.core.dom.BodyDeclaration;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.EnumConstantDeclaration;
-import org.eclipse.jdt.core.dom.EnumDeclaration;
-import org.eclipse.jdt.core.dom.FieldDeclaration;
-import org.eclipse.jdt.core.dom.Initializer;
-import org.eclipse.jdt.core.dom.Javadoc;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jdt.core.dom.TagElement;
-import org.eclipse.jdt.core.dom.TextElement;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jdt.core.dom.rewrite.ASTRewrite;
-import org.eclipse.jdt.core.dom.rewrite.ListRewrite;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
-import org.eclipse.text.edits.TextEdit;
-
-public class UpdateSinceTagOperation {
-	static class NodeFinder extends ASTVisitor {
-		BodyDeclaration declaration;
-		int position;
-		public NodeFinder(int position) {
-			this.position = position;
-		}
-
-		public boolean visit(AnnotationTypeDeclaration node) {
-			return visitNode(node);
-		}
-		public boolean visit(EnumDeclaration node) {
-			return visitNode(node);
-		}
-		public boolean visit(TypeDeclaration node) {
-			return visitNode(node);
-		}
-		public boolean visit(MethodDeclaration node) {
-			return visitNode(node);
-		}
-		public boolean visit(FieldDeclaration node) {
-			return visitNode(node);
-		}
-		public boolean visit(EnumConstantDeclaration node) {
-			return visitNode(node);
-		}
-		public boolean visit(AnnotationTypeMemberDeclaration node) {
-			return visitNode(node);
-		}
-		public boolean visit(Initializer node) {
-			return false;
-		}
-		private boolean visitNode(BodyDeclaration bodyDeclaration) {
-			int start = bodyDeclaration.getStartPosition();
-			int end = bodyDeclaration.getLength() - 1 + start;
-			switch(bodyDeclaration.getNodeType()) {
-				case ASTNode.TYPE_DECLARATION :
-				case ASTNode.ENUM_DECLARATION :
-				case ASTNode.ANNOTATION_TYPE_DECLARATION :
-					if (start <= this.position && this.position <= end) {
-						this.declaration = bodyDeclaration;
-						return true;
-					}
-					return false;
-				case ASTNode.ENUM_CONSTANT_DECLARATION :
-				case ASTNode.FIELD_DECLARATION :
-				case ASTNode.METHOD_DECLARATION :
-				case ASTNode.ANNOTATION_TYPE_MEMBER_DECLARATION :
-					if (start <= this.position && this.position <= end) {
-						this.declaration = bodyDeclaration;
-					}
-					return false;
-				default :
-					return false;
-			}
-		}
-		public BodyDeclaration getNode() {
-			return this.declaration;
-		}
-	}
-	private IMarker fMarker;
-	private int sinceTagType;
-	private String sinceTagVersion;
-
-	public UpdateSinceTagOperation(IMarker marker, int sinceTagType, String sinceTagVersion) {
-		this.fMarker = marker;
-		this.sinceTagType = sinceTagType;
-		this.sinceTagVersion = sinceTagVersion;
-	}
-
-	public void run(IProgressMonitor monitor) {
-		if (monitor != null && monitor.isCanceled()) return;
-		if (monitor != null) {
-			monitor.beginTask(MarkerMessages.UpdateSinceTagOperation_title, 3);
-		}
-		// retrieve the AST node compilation unit
-		IResource resource = this.fMarker.getResource();
-		IJavaElement javaElement = JavaCore.create(resource);
-		try {
-			if (javaElement != null && javaElement.getElementType() == IJavaElement.COMPILATION_UNIT) {
-				ICompilationUnit compilationUnit = (ICompilationUnit) javaElement;
-				ASTParser parser = ASTParser.newParser(AST.JLS3);
-				parser.setSource(compilationUnit);
-				Integer charStartAttribute = null;
-				try {
-					charStartAttribute = (Integer) this.fMarker.getAttribute(IMarker.CHAR_START);
-					int intValue = charStartAttribute.intValue();
-					parser.setFocalPosition(intValue);
-					parser.setResolveBindings(true);
-					Map options = compilationUnit.getJavaProject().getOptions(true);
-					options.put(JavaCore.COMPILER_DOC_COMMENT_SUPPORT, JavaCore.ENABLED);
-					parser.setCompilerOptions(options);
-					final CompilationUnit unit = (CompilationUnit) parser.createAST(new NullProgressMonitor());
-					NodeFinder nodeFinder = new NodeFinder(intValue);
-					unit.accept(nodeFinder);
-					if (monitor != null) {
-						monitor.worked(1);
-					}
-					BodyDeclaration node = nodeFinder.getNode();
-					if (node != null) {
-						unit.recordModifications();
-						AST ast = unit.getAST();
-						ASTRewrite rewrite = ASTRewrite.create(ast);
-						if (IApiProblem.SINCE_TAG_MISSING == this.sinceTagType) {
-							Javadoc docnode = node.getJavadoc();
-							if (docnode == null) {
-								docnode = ast.newJavadoc();
-								//we do not want to create a new empty Javadoc node in
-								//the AST if there are no missing tags
-								rewrite.set(node, node.getJavadocProperty(), docnode, null);
-							} else {
-								List tags = docnode.tags();
-								boolean found = false;
-								loop: for (Iterator iterator = tags.iterator(); iterator.hasNext();) {
-									TagElement element = (TagElement) iterator.next();
-									String tagName = element.getTagName();
-									if (TagElement.TAG_SINCE.equals(tagName)) {
-										found = true;
-										break loop;
-									}
-								}
-								if (found) return;
-							}
-							ListRewrite lrewrite = rewrite.getListRewrite(docnode, Javadoc.TAGS_PROPERTY);
-							// check the existing tags list
-							TagElement newtag = ast.newTagElement();
-							newtag.setTagName(TagElement.TAG_SINCE);
-							TextElement textElement = ast.newTextElement();
-							textElement.setText(this.sinceTagVersion);
-							newtag.fragments().add(textElement);
-							lrewrite.insertLast(newtag, null);
-						} else {
-							Javadoc docnode = node.getJavadoc();
-							List tags = docnode.tags();
-							TagElement sinceTag = null;
-							for (Iterator iterator = tags.iterator(); iterator.hasNext(); ) {
-								TagElement tagElement = (TagElement) iterator.next();
-								if (TagElement.TAG_SINCE.equals(tagElement.getTagName())) {
-									sinceTag = tagElement;
-									break;
-								}
-							}
-							if (sinceTag != null) {
-								List fragments = sinceTag.fragments();
-								if (fragments.size() == 1) {
-									TextElement textElement = (TextElement) fragments.get(0);
-									rewrite.set(textElement, TextElement.TEXT_PROPERTY, this.sinceTagVersion, null);
-								}
-							}
-						}
-						ITextFileBufferManager textFileBufferManager = FileBuffers.getTextFileBufferManager(); 
-						IPath path = compilationUnit.getPath(); 
-						try {
-							if (monitor != null) {
-								monitor.worked(1);
-							}
-							textFileBufferManager.connect(path, LocationKind.IFILE, monitor);
-							ITextFileBuffer textFileBuffer = textFileBufferManager.getTextFileBuffer(path, LocationKind.IFILE);
-							IDocument document = textFileBuffer.getDocument(); 
-							//TODO support undo??
-							TextEdit edits = rewrite.rewriteAST(document, compilationUnit.getJavaProject().getOptions(true));
-							edits.apply(document);
-							textFileBuffer.commit(monitor, true);
-							if (monitor != null) {
-								monitor.worked(1);
-							}
-						} catch(BadLocationException e) {
-							ApiUIPlugin.log(e);
-						} finally {
-							textFileBufferManager.disconnect(path, LocationKind.IFILE, monitor);
-						}
-					}
-				} catch (CoreException e) {
-					ApiUIPlugin.log(e);
-				}
-			}
-		} finally {
-			if (monitor != null) {
-				monitor.done();
-			}
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/VersionNumberingResolution.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/VersionNumberingResolution.java
deleted file mode 100644
index 8b0f132..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/VersionNumberingResolution.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.markers;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.pde.api.tools.internal.problems.ApiProblemFactory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiMarkerConstants;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
-import org.eclipse.pde.api.tools.ui.internal.IApiToolsConstants;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IMarkerResolution2;
-import org.eclipse.ui.progress.UIJob;
-
-/**
- * This resolution helps users to pick a default API profile when the tooling has been set up
- * but there is no default profile
- * 
- * @since 1.0.0
- */
-public class VersionNumberingResolution implements IMarkerResolution2 {
-	private String newVersionValue;
-	// major or minor version
-	private int kind;
-	
-	public VersionNumberingResolution(IMarker marker) {
-		this.newVersionValue = marker.getAttribute(IApiMarkerConstants.MARKER_ATTR_VERSION, null);
-		this.kind = ApiProblemFactory.getProblemKind(marker.getAttribute(IApiMarkerConstants.MARKER_ATTR_PROBLEM_ID, 0));
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IMarkerResolution2#getDescription()
-	 */
-	public String getDescription() {
-		if (IApiProblem.MAJOR_VERSION_CHANGE == this.kind) {
-			return NLS.bind(MarkerMessages.VersionNumberingResolution_major0, this.newVersionValue);
-		} else if (IApiProblem.MINOR_VERSION_CHANGE == this.kind) {
-			return NLS.bind(MarkerMessages.VersionNumberingResolution_minor0, this.newVersionValue);
-		} else {
-			return NLS.bind(MarkerMessages.VersionNumberingResolution_micro0, this.newVersionValue);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IMarkerResolution2#getImage()
-	 */
-	public Image getImage() {
-		return ApiUIPlugin.getSharedImage(IApiToolsConstants.IMG_OBJ_BUNDLE_VERSION);
-		}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IMarkerResolution#getLabel()
-	 */
-	public String getLabel() {
-		if (IApiProblem.MAJOR_VERSION_CHANGE == this.kind) {
-			return NLS.bind(MarkerMessages.VersionNumberingResolution_major1, this.newVersionValue);
-		} else if (IApiProblem.MINOR_VERSION_CHANGE == this.kind) {
-			return NLS.bind(MarkerMessages.VersionNumberingResolution_minor1, this.newVersionValue);
-		} else {
-			return NLS.bind(MarkerMessages.VersionNumberingResolution_micro1, this.newVersionValue);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IMarkerResolution#run(org.eclipse.core.resources.IMarker)
-	 */
-	public void run(final IMarker marker) {
-		String title = null;
-		if (IApiProblem.MAJOR_VERSION_CHANGE == this.kind) {
-			title = NLS.bind(MarkerMessages.VersionNumberingResolution_major2, this.newVersionValue);
-		} else if (IApiProblem.MINOR_VERSION_CHANGE == this.kind) {
-			title = NLS.bind(MarkerMessages.VersionNumberingResolution_minor2, this.newVersionValue);
-		} else {
-			title = NLS.bind(MarkerMessages.VersionNumberingResolution_micro2, this.newVersionValue);
-		}
-		UIJob job  = new UIJob(title) {
-			/* (non-Javadoc)
-			 * @see org.eclipse.ui.progress.UIJob#runInUIThread(org.eclipse.core.runtime.IProgressMonitor)
-			 */
-			public IStatus runInUIThread(IProgressMonitor monitor) {
-				UpdateBundleVersionOperation updateBundleVersionOperation = 
-					new UpdateBundleVersionOperation(
-							marker,
-							VersionNumberingResolution.this.newVersionValue);
-				return updateBundleVersionOperation.run(monitor);
-			}
-		};
-		job.setSystem(true);
-		job.schedule();
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/markermessages.properties b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/markermessages.properties
deleted file mode 100644
index 1ac3fec..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/markers/markermessages.properties
+++ /dev/null
@@ -1,41 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-CreateApiFilterOperation_0=Create new API problem filter
-DefaultApiProfileResolution_0=Navigates users to the profiles preference page to select or create an API baseline
-DefaultApiProfileResolution_1=Select or create an API baseline
-DefaultApiProfileResolution_2=Fixing API baseline
-FilterProblemResolution_0=Create a {1} problem filter for ''{0}''
-FilterProblemResolution_binary_compatible=binary compatibility
-FilterProblemResolution_default_profile=API baseline
-FilterProblemResolution_since_tag=since tag
-FilterProblemResolution_usage=usage
-FilterProblemResolution_version_number=version number
-SinceTagResolution_missing0=Add the missing @since tag with version {0}
-SinceTagResolution_missing1=Add the missing @since tag with version {0}
-SinceTagResolution_missing2=Add the missing @since tag with version {0}
-SinceTagResolution_malformed0=Remove unnecessary fragments from @since tag to get {0}
-SinceTagResolution_malformed1=Remove unnecessary fragments from @since tag to get {0}
-SinceTagResolution_malformed2=Remove unnecessary fragments from @since tag to get {0}
-SinceTagResolution_invalid0=Correct the version of @since tag using {0}
-SinceTagResolution_invalid1=Correct the version of @since tag using {0}
-SinceTagResolution_invalid2=Correct the version of @since tag using {0}
-UpdateSinceTagOperation_title=Update since tag
-
-VersionNumberingResolution_major0=Correct the major version to {0}
-VersionNumberingResolution_minor0=Correct the minor version to {0}
-VersionNumberingResolution_micro0=Correct the micro version to {0}
-VersionNumberingResolution_major1=Correct the major version to {0}
-VersionNumberingResolution_minor1=Correct the minor version to {0}
-VersionNumberingResolution_micro1=Correct the micro version to {0}
-VersionNumberingResolution_major2=Correct the major version to {0}
-VersionNumberingResolution_minor2=Correct the minor version to {0}
-VersionNumberingResolution_micro2=Correct the micro version to {0}
-UpdateVersionNumberingOperation_title=Update bundle version
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/messages.properties b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/messages.properties
deleted file mode 100644
index d0d88c9..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/messages.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-ApiToolsLabelProvider_0={0} ({1})
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiErrorsWarningsConfigurationBlock.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiErrorsWarningsConfigurationBlock.java
deleted file mode 100644
index 86b5d4b..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiErrorsWarningsConfigurationBlock.java
+++ /dev/null
@@ -1,1704 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.preferences;
-
-import java.util.ArrayList;
-import java.util.IdentityHashMap;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ProjectScope;
-import org.eclipse.core.runtime.preferences.DefaultScope;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.IScopeContext;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemTypes;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
-import org.eclipse.pde.api.tools.ui.internal.SWTFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.ScrolledComposite;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.ui.forms.events.ExpansionAdapter;
-import org.eclipse.ui.forms.events.ExpansionEvent;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer;
-import org.eclipse.ui.preferences.IWorkingCopyManager;
-import org.eclipse.ui.preferences.WorkingCopyManager;
-import org.osgi.service.prefs.BackingStoreException;
-
-import com.ibm.icu.text.MessageFormat;
-
-
-/**
- * This block is used to add the Api tooling notification settings UI
- * to a parent control
- * 
- * @since 1.0.0
- */
-public class ApiErrorsWarningsConfigurationBlock {
-	
-	/**
-	 * Provides data information for created controls
-	 */
-	protected static class ControlData {
-		private Key key;
-		private String[] values;
-		
-		/**
-		 * Constructor
-		 * @param key
-		 * @param values
-		 */
-		public ControlData(Key key, String[] values) {
-			this.key = key;
-			this.values = values;
-		}
-		
-		public Key getKey() {
-			return key;
-		}
-		
-		public String getValue(boolean selection) {
-			int index= selection ? 0 : 1;
-			return values[index];
-		}
-		
-		public String getValue(int index) {
-			return values[index];
-		}		
-		
-		public int getSelection(String value) {
-			if (value != null) {
-				for (int i= 0; i < values.length; i++) {
-					if (value.equals(values[i])) {
-						return i;
-					}
-				}
-			}
-			return values.length -1; // assume the last option is the least severe
-		}
-	}
-	
-	/**
-	 * Provides management for changed/stored values for a given preference key
-	 */
-	protected static class Key {
-		
-		private String qualifier;
-		private String key;
-		
-		/**
-		 * Constructor
-		 * @param qualifier
-		 * @param key
-		 */
-		public Key(String qualifier, String key) {
-			this.qualifier= qualifier;
-			this.key= key;
-		}
-		
-		/**
-		 * Returns the {@link IEclipsePreferences} node for the given context and {@link IWorkingCopyManager}
-		 * @param context
-		 * @param manager
-		 * @return the {@link IEclipsePreferences} node or <code>null</code>
-		 */
-		private IEclipsePreferences getNode(IScopeContext context, IWorkingCopyManager manager) {
-			IEclipsePreferences node = context.getNode(qualifier);
-			if (manager != null) {
-				return manager.getWorkingCopy(node);
-			}
-			return node;
-		}
-		
-		/**
-		 * Returns the value stored in the {@link IEclipsePreferences} node from the given context and working copy manager
-		 * @param context
-		 * @param manager
-		 * @return the value from the {@link IEclipsePreferences} node or <code>null</code>
-		 */
-		public String getStoredValue(IScopeContext context, IWorkingCopyManager manager) {
-			IEclipsePreferences node = getNode(context, manager);
-			if(node != null) {
-				return node.get(key, null);
-			}
-			return null;
-		}
-		
-		/**
-		 * Returns the stored value of this {@link IEclipsePreferences} node using a given lookup order, and allowing the
-		 * top scope to be ignored
-		 * @param lookupOrder
-		 * @param ignoreTopScope
-		 * @param manager
-		 * @return the value from the {@link IEclipsePreferences} node or <code>null</code>
-		 */
-		public String getStoredValue(IScopeContext[] lookupOrder, boolean ignoreTopScope, IWorkingCopyManager manager) {
-			for (int i = ignoreTopScope ? 1 : 0; i < lookupOrder.length; i++) {
-				String value = getStoredValue(lookupOrder[i], manager);
-				if (value != null) {
-					return value;
-				}
-			}
-			return null;
-		}
-		
-		/**
-		 * Sets the value of this key
-		 * @param context
-		 * @param value
-		 * @param manager
-		 */
-		public void setStoredValue(IScopeContext context, String value, IWorkingCopyManager manager) {
-			IEclipsePreferences node = getNode(context, manager);
-			if (value != null) {
-				node.put(key, value);
-			} else {
-				node.remove(key);
-			}
-		}
-			
-		/* (non-Javadoc)
-		 * @see java.lang.Object#toString()
-		 */
-		public String toString() {
-			return qualifier + '/' + key;
-		}
-	}
-
-	/**
-	 * Returns a new {@link Key} for the {@link ApiUIPlugin} preference store
-	 * @param key
-	 * @return the new {@link Key} for the {@link ApiUIPlugin} preference store
-	 */
-	protected final static Key getApiToolsKey(String key) {
-		return new Key(ApiPlugin.getPluginIdentifier(), key);
-	}
-	//Restriction modifier keys
-	private static final Key KEY_NOIMPLEMENT = getApiToolsKey(IApiProblemTypes.ILLEGAL_IMPLEMENT);
-	private static final Key KEY_NOEXTEND = getApiToolsKey(IApiProblemTypes.ILLEGAL_EXTEND);
-	private static final Key KEY_NOINSTANTIATE = getApiToolsKey(IApiProblemTypes.ILLEGAL_INSTANTIATE);
-	private static final Key KEY_NOREFERENCE = getApiToolsKey(IApiProblemTypes.ILLEGAL_REFERENCE);
-	private static final Key KEY_NOOVERRIDE = getApiToolsKey(IApiProblemTypes.ILLEGAL_OVERRIDE);
-	private static final Key KEY_API_LEAK = getApiToolsKey(IApiProblemTypes.API_LEAK);
-	private static final Key KEY_API_PROFILE_REMOVED_API_COMPONENT =
-		getApiToolsKey(IApiProblemTypes.API_PROFILE_REMOVED_API_COMPONENT);
-	private static final Key KEY_API_COMPONENT_REMOVED_TYPE =
-		getApiToolsKey(IApiProblemTypes.API_COMPONENT_REMOVED_TYPE);
-	private static final Key KEY_ANNOTATION_ADDED_CLASS_BOUND =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_ADDED_CLASS_BOUND);
-	private static final Key KEY_ANNOTATION_ADDED_INTERFACE_BOUND =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_ADDED_INTERFACE_BOUND);
-	private static final Key KEY_ANNOTATION_ADDED_INTERFACE_BOUNDS =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_ADDED_INTERFACE_BOUNDS);
-	private static final Key KEY_ANNOTATION_ADDED_FIELD =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_ADDED_FIELD);
-	private static final Key KEY_ANNOTATION_ADDED_METHOD_NO_DEFAULT_VALUE =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_ADDED_METHOD_NO_DEFAULT_VALUE);
-	private static final Key KEY_ANNOTATION_ADDED_METHOD =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_ADDED_METHOD);
-	private static final Key KEY_ANNOTATION_ADDED_TYPE_MEMBER =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_ADDED_TYPE_MEMBER);
-	private static final Key KEY_ANNOTATION_ADDED_TYPE_PARAMETER =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_ADDED_TYPE_PARAMETER);
-	private static final Key KEY_ANNOTATION_REMOVED_FIELD =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_REMOVED_FIELD);
-	private static final Key KEY_ANNOTATION_REMOVED_METHOD_DEFAULT_VALUE =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_REMOVED_METHOD_DEFAULT_VALUE);
-	private static final Key KEY_ANNOTATION_REMOVED_METHOD_NO_DEFAULT_VALUE =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_REMOVED_METHOD_NO_DEFAULT_VALUE);
-	private static final Key KEY_ANNOTATION_REMOVED_TYPE_MEMBER =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_REMOVED_TYPE_MEMBER);
-	private static final Key KEY_ANNOTATION_REMOVED_TYPE_PARAMETERS =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_REMOVED_TYPE_PARAMETERS);
-	private static final Key KEY_ANNOTATION_REMOVED_TYPE_PARAMETER =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_REMOVED_TYPE_PARAMETER);
-	private static final Key KEY_ANNOTATION_REMOVED_CLASS_BOUND =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_REMOVED_CLASS_BOUND);
-	private static final Key KEY_ANNOTATION_REMOVED_INTERFACE_BOUND =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_REMOVED_INTERFACE_BOUND);
-	private static final Key KEY_ANNOTATION_REMOVED_INTERFACE_BOUNDS =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_REMOVED_FIELD);
-	private static final Key KEY_ANNOTATION_CHANGED_CONTRACTED_SUPERINTERFACES_SET =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_CHANGED_CONTRACTED_SUPERINTERFACES_SET);
-	private static final Key KEY_ANNOTATION_CHANGED_INTERFACE_BOUNDS =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_CHANGED_INTERFACE_BOUNDS);
-	private static final Key KEY_ANNOTATION_CHANGED_CLASS_BOUND =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_CHANGED_CLASS_BOUND);
-	private static final Key KEY_ANNOTATION_CHANGED_INTERFACE_BOUND =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_CHANGED_INTERFACE_BOUND);
-	private static final Key KEY_ANNOTATION_CHANGED_TO_CLASS =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_CHANGED_TO_CLASS);
-	private static final Key KEY_ANNOTATION_CHANGED_TO_ENUM =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_CHANGED_TO_ENUM);
-	private static final Key KEY_ANNOTATION_CHANGED_TO_INTERFACE =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_CHANGED_TO_INTERFACE);
-	private static final Key KEY_ANNOTATION_CHANGED_RESTRICTIONS =
-		getApiToolsKey(IApiProblemTypes.ANNOTATION_CHANGED_RESTRICTIONS);
-
-	// interface key constant
-	private static final Key KEY_INTERFACE_ADDED_FIELD =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_ADDED_FIELD);
-	private static final Key KEY_INTERFACE_ADDED_METHOD =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_ADDED_METHOD);
-	private static final Key KEY_INTERFACE_ADDED_TYPE_MEMBER =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_ADDED_TYPE_MEMBER);
-	private static final Key KEY_INTERFACE_ADDED_CLASS_BOUND =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_ADDED_CLASS_BOUND);
-	private static final Key KEY_INTERFACE_ADDED_INTERFACE_BOUND =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_ADDED_INTERFACE_BOUND);
-	private static final Key KEY_INTERFACE_ADDED_INTERFACE_BOUNDS =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_ADDED_INTERFACE_BOUNDS);
-	private static final Key KEY_INTERFACE_ADDED_TYPE_PARAMETER =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_ADDED_TYPE_PARAMETER);
-	private static final Key KEY_INTERFACE_REMOVED_TYPE_PARAMETER =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_REMOVED_TYPE_PARAMETER);
-	private static final Key KEY_INTERFACE_REMOVED_TYPE_PARAMETERS =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_REMOVED_TYPE_PARAMETERS);
-	private static final Key KEY_INTERFACE_REMOVED_CLASS_BOUND =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_REMOVED_CLASS_BOUND);
-	private static final Key KEY_INTERFACE_REMOVED_INTERFACE_BOUND =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_REMOVED_INTERFACE_BOUND);
-	private static final Key KEY_INTERFACE_REMOVED_INTERFACE_BOUNDS =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_REMOVED_INTERFACE_BOUNDS);
-	private static final Key KEY_INTERFACE_REMOVED_FIELD =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_REMOVED_FIELD);
-	private static final Key KEY_INTERFACE_REMOVED_METHOD =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_REMOVED_METHOD);
-	private static final Key KEY_INTERFACE_REMOVED_TYPE_MEMBER =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_REMOVED_TYPE_MEMBER);
-	private static final Key KEY_INTERFACE_CHANGED_CLASS_BOUND =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_CHANGED_CLASS_BOUND);
-	private static final Key KEY_INTERFACE_CHANGED_INTERFACE_BOUND =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_CHANGED_INTERFACE_BOUND);
-	private static final Key KEY_INTERFACE_CHANGED_INTERFACE_BOUNDS =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_CHANGED_INTERFACE_BOUNDS);
-	private static final Key KEY_INTERFACE_CHANGED_TO_CLASS =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_CHANGED_TO_CLASS);
-	private static final Key KEY_INTERFACE_CHANGED_TO_ENUM =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_CHANGED_TO_ENUM);
-	private static final Key KEY_INTERFACE_CHANGED_TO_ANNOTATION =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_CHANGED_TO_ANNOTATION);
-	private static final Key KEY_INTERFACE_CHANGED_CONTRACTED_SUPERINTERFACES_SET =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_CHANGED_CONTRACTED_SUPERINTERFACES_SET);
-	private static final Key KEY_INTERFACE_CHANGED_RESTRICTIONS =
-		getApiToolsKey(IApiProblemTypes.INTERFACE_CHANGED_RESTRICTIONS);
-
-	// enum key constant
-	private static final Key KEY_ENUM_ADDED_FIELD =
-		getApiToolsKey(IApiProblemTypes.ENUM_ADDED_FIELD);
-	private static final Key KEY_ENUM_ADDED_METHOD =
-		getApiToolsKey(IApiProblemTypes.ENUM_ADDED_METHOD);
-	private static final Key KEY_ENUM_CHANGED_CONTRACTED_SUPERINTERFACES_SET =
-		getApiToolsKey(IApiProblemTypes.ENUM_CHANGED_CONTRACTED_SUPERINTERFACES_SET);
-	private static final Key KEY_ENUM_CHANGED_TO_ANNOTATION =
-		getApiToolsKey(IApiProblemTypes.ENUM_CHANGED_TO_ANNOTATION);
-	private static final Key KEY_ENUM_CHANGED_TO_CLASS =
-		getApiToolsKey(IApiProblemTypes.ENUM_CHANGED_TO_CLASS);
-	private static final Key KEY_ENUM_CHANGED_TO_INTERFACE =
-		getApiToolsKey(IApiProblemTypes.ENUM_CHANGED_TO_INTERFACE);
-	private static final Key KEY_ENUM_REMOVED_FIELD =
-		getApiToolsKey(IApiProblemTypes.ENUM_REMOVED_FIELD);
-	private static final Key KEY_ENUM_REMOVED_ENUM_CONSTANT =
-		getApiToolsKey(IApiProblemTypes.ENUM_REMOVED_ENUM_CONSTANT);
-	private static final Key KEY_ENUM_REMOVED_METHOD =
-		getApiToolsKey(IApiProblemTypes.ENUM_REMOVED_METHOD);
-	private static final Key KEY_ENUM_REMOVED_CONSTRUCTOR =
-		getApiToolsKey(IApiProblemTypes.ENUM_REMOVED_CONSTRUCTOR);
-	private static final Key KEY_ENUM_REMOVED_TYPE_MEMBER =
-		getApiToolsKey(IApiProblemTypes.ENUM_REMOVED_TYPE_MEMBER);
-	private static final Key KEY_ENUM_CHANGED_RESTRICTIONS =
-		getApiToolsKey(IApiProblemTypes.ENUM_CHANGED_RESTRICTIONS);
-
-	// class key constant
-	private static final Key KEY_CLASS_ADDED_FIELD =
-		getApiToolsKey(IApiProblemTypes.CLASS_ADDED_FIELD);
-	private static final Key KEY_CLASS_ADDED_METHOD =
-		getApiToolsKey(IApiProblemTypes.CLASS_ADDED_METHOD);
-	private static final Key KEY_CLASS_ADDED_TYPE_PARAMETER =
-		getApiToolsKey(IApiProblemTypes.CLASS_ADDED_TYPE_PARAMETER);
-	private static final Key KEY_CLASS_ADDED_CLASS_BOUND =
-		getApiToolsKey(IApiProblemTypes.CLASS_ADDED_CLASS_BOUND);
-	private static final Key KEY_CLASS_ADDED_INTERFACE_BOUND =
-		getApiToolsKey(IApiProblemTypes.CLASS_ADDED_INTERFACE_BOUND);
-	private static final Key KEY_CLASS_ADDED_INTERFACE_BOUNDS =
-		getApiToolsKey(IApiProblemTypes.CLASS_ADDED_INTERFACE_BOUNDS);
-	private static final Key KEY_CLASS_CHANGED_CONTRACTED_SUPERINTERFACES_SET =
-		getApiToolsKey(IApiProblemTypes.CLASS_CHANGED_CONTRACTED_SUPERINTERFACES_SET);
-	private static final Key KEY_CLASS_CHANGED_CONTRACTED_SUPERCLASS_SET =
-		getApiToolsKey(IApiProblemTypes.CLASS_CHANGED_CONTRACTED_SUPERCLASS_SET);
-	private static final Key KEY_CLASS_CHANGED_SUPERCLASS =
-		getApiToolsKey(IApiProblemTypes.CLASS_CHANGED_SUPERCLASS);
-	private static final Key KEY_CLASS_CHANGED_CLASS_BOUND =
-		getApiToolsKey(IApiProblemTypes.CLASS_CHANGED_CLASS_BOUND);
-	private static final Key KEY_CLASS_CHANGED_INTERFACE_BOUND =
-		getApiToolsKey(IApiProblemTypes.CLASS_CHANGED_INTERFACE_BOUND);
-	private static final Key KEY_CLASS_CHANGED_NON_ABSTRACT_TO_ABSTRACT =
-		getApiToolsKey(IApiProblemTypes.CLASS_CHANGED_NON_ABSTRACT_TO_ABSTRACT);
-	private static final Key KEY_CLASS_CHANGED_NON_FINAL_TO_FINAL =
-		getApiToolsKey(IApiProblemTypes.CLASS_CHANGED_NON_FINAL_TO_FINAL);
-	private static final Key KEY_CLASS_CHANGED_TO_ANNOTATION =
-		getApiToolsKey(IApiProblemTypes.CLASS_CHANGED_TO_ANNOTATION);
-	private static final Key KEY_CLASS_CHANGED_TO_ENUM =
-		getApiToolsKey(IApiProblemTypes.CLASS_CHANGED_TO_ENUM);
-	private static final Key KEY_CLASS_CHANGED_TO_INTERFACE =
-		getApiToolsKey(IApiProblemTypes.CLASS_CHANGED_TO_INTERFACE);
-	private static final Key KEY_CLASS_CHANGED_DECREASE_ACCESS =
-		getApiToolsKey(IApiProblemTypes.CLASS_CHANGED_DECREASE_ACCESS);
-	private static final Key KEY_CLASS_REMOVED_FIELD =
-		getApiToolsKey(IApiProblemTypes.CLASS_REMOVED_FIELD);
-	private static final Key KEY_CLASS_REMOVED_METHOD =
-		getApiToolsKey(IApiProblemTypes.CLASS_REMOVED_METHOD);
-	private static final Key KEY_CLASS_REMOVED_CONSTRUCTOR =
-		getApiToolsKey(IApiProblemTypes.CLASS_REMOVED_CONSTRUCTOR);
-	private static final Key KEY_CLASS_REMOVED_TYPE_MEMBER =
-		getApiToolsKey(IApiProblemTypes.CLASS_REMOVED_TYPE_MEMBER);
-	private static final Key KEY_CLASS_REMOVED_TYPE_PARAMETER =
-		getApiToolsKey(IApiProblemTypes.CLASS_REMOVED_TYPE_PARAMETER);
-	private static final Key KEY_CLASS_REMOVED_TYPE_PARAMETERS =
-		getApiToolsKey(IApiProblemTypes.CLASS_REMOVED_TYPE_PARAMETERS);
-	private static final Key KEY_CLASS_REMOVED_CLASS_BOUND =
-		getApiToolsKey(IApiProblemTypes.CLASS_REMOVED_CLASS_BOUND);
-	private static final Key KEY_CLASS_REMOVED_INTERFACE_BOUND =
-		getApiToolsKey(IApiProblemTypes.CLASS_REMOVED_INTERFACE_BOUND);
-	private static final Key KEY_CLASS_REMOVED_INTERFACE_BOUNDS =
-		getApiToolsKey(IApiProblemTypes.CLASS_REMOVED_INTERFACE_BOUNDS);
-	private static final Key KEY_CLASS_CHANGED_RESTRICTIONS =
-		getApiToolsKey(IApiProblemTypes.CLASS_CHANGED_RESTRICTIONS);
-
-	// field key constant
-	private static final Key KEY_FIELD_ADDED_VALUE =
-		getApiToolsKey(IApiProblemTypes.FIELD_ADDED_VALUE);
-	private static final Key KEY_FIELD_CHANGED_TYPE =
-		getApiToolsKey(IApiProblemTypes.FIELD_CHANGED_TYPE);
-	private static final Key KEY_FIELD_CHANGED_VALUE =
-		getApiToolsKey(IApiProblemTypes.FIELD_CHANGED_VALUE);
-	private static final Key KEY_FIELD_CHANGED_DECREASE_ACCESS =
-		getApiToolsKey(IApiProblemTypes.FIELD_CHANGED_DECREASE_ACCESS);
-	private static final Key KEY_FIELD_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT =
-		getApiToolsKey(IApiProblemTypes.FIELD_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT);
-	private static final Key KEY_FIELD_CHANGED_NON_FINAL_TO_FINAL =
-		getApiToolsKey(IApiProblemTypes.FIELD_CHANGED_NON_FINAL_TO_FINAL);
-	private static final Key KEY_FIELD_CHANGED_STATIC_TO_NON_STATIC =
-		getApiToolsKey(IApiProblemTypes.FIELD_CHANGED_STATIC_TO_NON_STATIC);
-	private static final Key KEY_FIELD_CHANGED_NON_STATIC_TO_STATIC =
-		getApiToolsKey(IApiProblemTypes.FIELD_CHANGED_NON_STATIC_TO_STATIC);
-	private static final Key KEY_FIELD_REMOVED_VALUE =
-		getApiToolsKey(IApiProblemTypes.FIELD_REMOVED_VALUE);
-	private static final Key KEY_FIELD_REMOVED_TYPE_ARGUMENTS =
-		getApiToolsKey(IApiProblemTypes.FIELD_REMOVED_TYPE_ARGUMENTS);
-
-	// method key constant
-	private static final Key KEY_METHOD_ADDED_CLASS_BOUND =
-		getApiToolsKey(IApiProblemTypes.METHOD_ADDED_CLASS_BOUND);
-	private static final Key KEY_METHOD_ADDED_INTERFACE_BOUND =
-		getApiToolsKey(IApiProblemTypes.METHOD_ADDED_INTERFACE_BOUND);
-	private static final Key KEY_METHOD_ADDED_INTERFACE_BOUNDS =
-		getApiToolsKey(IApiProblemTypes.METHOD_ADDED_INTERFACE_BOUNDS);
-	private static final Key KEY_METHOD_ADDED_TYPE_PARAMETER =
-		getApiToolsKey(IApiProblemTypes.METHOD_ADDED_TYPE_PARAMETER);
-	private static final Key KEY_METHOD_CHANGED_CLASS_BOUND =
-		getApiToolsKey(IApiProblemTypes.METHOD_CHANGED_CLASS_BOUND);
-	private static final Key KEY_METHOD_CHANGED_INTERFACE_BOUND =
-		getApiToolsKey(IApiProblemTypes.METHOD_CHANGED_INTERFACE_BOUND);
-	private static final Key KEY_METHOD_CHANGED_TYPE_PARAMETER =
-		getApiToolsKey(IApiProblemTypes.METHOD_CHANGED_TYPE_PARAMETER);
-	private static final Key KEY_METHOD_CHANGED_VARARGS_TO_ARRAY =
-		getApiToolsKey(IApiProblemTypes.METHOD_CHANGED_VARARGS_TO_ARRAY);
-	private static final Key KEY_METHOD_CHANGED_DECREASE_ACCESS =
-		getApiToolsKey(IApiProblemTypes.METHOD_CHANGED_DECREASE_ACCESS);
-	private static final Key KEY_METHOD_CHANGED_NON_ABSTRACT_TO_ABSTRACT =
-		getApiToolsKey(IApiProblemTypes.METHOD_CHANGED_NON_ABSTRACT_TO_ABSTRACT);
-	private static final Key KEY_METHOD_CHANGED_NON_STATIC_TO_STATIC =
-		getApiToolsKey(IApiProblemTypes.METHOD_CHANGED_NON_STATIC_TO_STATIC);
-	private static final Key KEY_METHOD_CHANGED_STATIC_TO_NON_STATIC =
-		getApiToolsKey(IApiProblemTypes.METHOD_CHANGED_STATIC_TO_NON_STATIC);
-	private static final Key KEY_METHOD_CHANGED_NON_FINAL_TO_FINAL =
-		getApiToolsKey(IApiProblemTypes.METHOD_CHANGED_NON_FINAL_TO_FINAL);
-	private static final Key KEY_METHOD_REMOVED_ANNOTATION_DEFAULT_VALUE =
-		getApiToolsKey(IApiProblemTypes.METHOD_REMOVED_ANNOTATION_DEFAULT_VALUE);
-	private static final Key KEY_METHOD_REMOVED_TYPE_PARAMETERS =
-		getApiToolsKey(IApiProblemTypes.METHOD_REMOVED_TYPE_PARAMETERS);
-	private static final Key KEY_METHOD_REMOVED_TYPE_PARAMETER =
-		getApiToolsKey(IApiProblemTypes.METHOD_REMOVED_TYPE_PARAMETER);
-	private static final Key KEY_METHOD_REMOVED_CLASS_BOUND =
-		getApiToolsKey(IApiProblemTypes.METHOD_REMOVED_CLASS_BOUND);
-	private static final Key KEY_METHOD_REMOVED_INTERFACE_BOUND =
-		getApiToolsKey(IApiProblemTypes.METHOD_REMOVED_INTERFACE_BOUND);
-	private static final Key KEY_METHOD_REMOVED_INTERFACE_BOUNDS =
-		getApiToolsKey(IApiProblemTypes.METHOD_REMOVED_INTERFACE_BOUNDS);
-
-	// constructor key constant
-	private static final Key KEY_CONSTRUCTOR_ADDED_CLASS_BOUND =
-		getApiToolsKey(IApiProblemTypes.CONSTRUCTOR_ADDED_CLASS_BOUND);
-	private static final Key KEY_CONSTRUCTOR_ADDED_INTERFACE_BOUND =
-		getApiToolsKey(IApiProblemTypes.CONSTRUCTOR_ADDED_INTERFACE_BOUND);
-	private static final Key KEY_CONSTRUCTOR_ADDED_INTERFACE_BOUNDS =
-		getApiToolsKey(IApiProblemTypes.CONSTRUCTOR_ADDED_INTERFACE_BOUNDS);
-	private static final Key KEY_CONSTRUCTOR_ADDED_TYPE_PARAMETER =
-		getApiToolsKey(IApiProblemTypes.CONSTRUCTOR_ADDED_TYPE_PARAMETER);
-	private static final Key KEY_CONSTRUCTOR_CHANGED_CLASS_BOUND =
-		getApiToolsKey(IApiProblemTypes.CONSTRUCTOR_CHANGED_CLASS_BOUND);
-	private static final Key KEY_CONSTRUCTOR_CHANGED_INTERFACE_BOUND =
-		getApiToolsKey(IApiProblemTypes.CONSTRUCTOR_CHANGED_INTERFACE_BOUND);
-	private static final Key KEY_CONSTRUCTOR_CHANGED_TYPE_PARAMETER =
-		getApiToolsKey(IApiProblemTypes.CONSTRUCTOR_CHANGED_TYPE_PARAMETER);
-	private static final Key KEY_CONSTRUCTOR_CHANGED_VARARGS_TO_ARRAY =
-		getApiToolsKey(IApiProblemTypes.CONSTRUCTOR_CHANGED_VARARGS_TO_ARRAY);
-	private static final Key KEY_CONSTRUCTOR_CHANGED_DECREASE_ACCESS =
-		getApiToolsKey(IApiProblemTypes.CONSTRUCTOR_CHANGED_DECREASE_ACCESS);
-	private static final Key KEY_CONSTRUCTOR_CHANGED_NON_ABSTRACT_TO_ABSTRACT =
-		getApiToolsKey(IApiProblemTypes.CONSTRUCTOR_CHANGED_NON_ABSTRACT_TO_ABSTRACT);
-	private static final Key KEY_CONSTRUCTOR_CHANGED_NON_STATIC_TO_STATIC =
-		getApiToolsKey(IApiProblemTypes.CONSTRUCTOR_CHANGED_NON_STATIC_TO_STATIC);
-	private static final Key KEY_CONSTRUCTOR_CHANGED_STATIC_TO_NON_STATIC =
-		getApiToolsKey(IApiProblemTypes.CONSTRUCTOR_CHANGED_STATIC_TO_NON_STATIC);
-	private static final Key KEY_CONSTRUCTOR_CHANGED_NON_FINAL_TO_FINAL=
-		getApiToolsKey(IApiProblemTypes.CONSTRUCTOR_CHANGED_NON_FINAL_TO_FINAL);
-	private static final Key KEY_CONSTRUCTOR_REMOVED_ANNOTATION_DEFAULT_VALUE =
-		getApiToolsKey(IApiProblemTypes.CONSTRUCTOR_REMOVED_ANNOTATION_DEFAULT_VALUE);
-	private static final Key KEY_CONSTRUCTOR_REMOVED_TYPE_PARAMETERS =
-		getApiToolsKey(IApiProblemTypes.CONSTRUCTOR_REMOVED_TYPE_PARAMETERS);
-	private static final Key KEY_CONSTRUCTOR_REMOVED_TYPE_PARAMETER =
-		getApiToolsKey(IApiProblemTypes.CONSTRUCTOR_REMOVED_TYPE_PARAMETER);
-	private static final Key KEY_CONSTRUCTOR_REMOVED_CLASS_BOUND =
-		getApiToolsKey(IApiProblemTypes.CONSTRUCTOR_REMOVED_CLASS_BOUND);
-	private static final Key KEY_CONSTRUCTOR_REMOVED_INTERFACE_BOUND =
-		getApiToolsKey(IApiProblemTypes.CONSTRUCTOR_REMOVED_INTERFACE_BOUND);
-	private static final Key KEY_CONSTRUCTOR_REMOVED_INTERFACE_BOUNDS =
-		getApiToolsKey(IApiProblemTypes.CONSTRUCTOR_REMOVED_INTERFACE_BOUNDS);
-
-	// version management keys
-	private static final Key KEY_MISSING_SINCE_TAG =
-		getApiToolsKey(IApiProblemTypes.MISSING_SINCE_TAG);
-	private static final Key KEY_MALFORMED_SINCE_TAG =
-		getApiToolsKey(IApiProblemTypes.MALFORMED_SINCE_TAG);
-	private static final Key KEY_INVALID_SINCE_TAG_VERSION =
-		getApiToolsKey(IApiProblemTypes.INVALID_SINCE_TAG_VERSION);
-	private static final Key KEY_INCOMPATIBLE_API_COMPONENT_VERSION =
-		getApiToolsKey(IApiProblemTypes.INCOMPATIBLE_API_COMPONENT_VERSION);
-
-	private final int API_SCANNING_USAGE_PAGE_ID = 0;
-	private final int BINARY_COMPATIBILITY_PAGE_ID = 1;
-	private final int VERSION_MANAGEMENT_PAGE_ID = 2;
-	
-	private static Key[] fgAllBinaryKeys = {
-		KEY_API_PROFILE_REMOVED_API_COMPONENT,
-		KEY_API_COMPONENT_REMOVED_TYPE,
-		KEY_ANNOTATION_ADDED_FIELD,
-		KEY_ANNOTATION_ADDED_METHOD,
-		KEY_ANNOTATION_ADDED_TYPE_MEMBER,
-		KEY_ANNOTATION_REMOVED_FIELD,
-		KEY_ANNOTATION_REMOVED_METHOD_DEFAULT_VALUE,
-		KEY_ANNOTATION_REMOVED_METHOD_NO_DEFAULT_VALUE,
-		KEY_ANNOTATION_REMOVED_TYPE_MEMBER,
-		KEY_ANNOTATION_REMOVED_TYPE_PARAMETERS,
-		KEY_ANNOTATION_REMOVED_TYPE_PARAMETER,
-		KEY_ANNOTATION_REMOVED_CLASS_BOUND,
-		KEY_ANNOTATION_REMOVED_INTERFACE_BOUND,
-		KEY_ANNOTATION_REMOVED_INTERFACE_BOUNDS,
-		KEY_ANNOTATION_CHANGED_INTERFACE_BOUNDS,
-		KEY_ANNOTATION_CHANGED_CLASS_BOUND,
-		KEY_ANNOTATION_CHANGED_INTERFACE_BOUND,
-		KEY_ANNOTATION_CHANGED_TO_CLASS,
-		KEY_ANNOTATION_CHANGED_TO_ENUM,
-		KEY_ANNOTATION_CHANGED_TO_INTERFACE,
-		KEY_ANNOTATION_CHANGED_RESTRICTIONS,
-		KEY_ANNOTATION_ADDED_TYPE_PARAMETER,
-		KEY_ANNOTATION_ADDED_CLASS_BOUND,
-		KEY_ANNOTATION_ADDED_INTERFACE_BOUND,
-		KEY_ANNOTATION_ADDED_INTERFACE_BOUNDS,
-		KEY_ANNOTATION_ADDED_METHOD_NO_DEFAULT_VALUE,
-		KEY_INTERFACE_ADDED_FIELD,
-		KEY_INTERFACE_ADDED_METHOD,
-		KEY_INTERFACE_ADDED_TYPE_MEMBER,
-		KEY_INTERFACE_ADDED_CLASS_BOUND,
-		KEY_INTERFACE_ADDED_INTERFACE_BOUND,
-		KEY_INTERFACE_ADDED_INTERFACE_BOUNDS,
-		KEY_INTERFACE_ADDED_TYPE_PARAMETER,
-		KEY_INTERFACE_REMOVED_TYPE_PARAMETER,
-		KEY_INTERFACE_REMOVED_TYPE_PARAMETERS,
-		KEY_INTERFACE_REMOVED_CLASS_BOUND,
-		KEY_INTERFACE_REMOVED_INTERFACE_BOUND,
-		KEY_INTERFACE_REMOVED_INTERFACE_BOUNDS,
-		KEY_INTERFACE_REMOVED_FIELD,
-		KEY_INTERFACE_REMOVED_METHOD,
-		KEY_INTERFACE_REMOVED_TYPE_MEMBER,
-		KEY_INTERFACE_CHANGED_CLASS_BOUND,
-		KEY_INTERFACE_CHANGED_INTERFACE_BOUND,
-		KEY_INTERFACE_CHANGED_INTERFACE_BOUNDS,
-		KEY_INTERFACE_CHANGED_TO_CLASS,
-		KEY_INTERFACE_CHANGED_TO_ENUM,
-		KEY_INTERFACE_CHANGED_TO_ANNOTATION,
-		KEY_INTERFACE_CHANGED_RESTRICTIONS,
-		KEY_ENUM_ADDED_FIELD,
-		KEY_ENUM_ADDED_METHOD,
-		KEY_ENUM_CHANGED_CONTRACTED_SUPERINTERFACES_SET,
-		KEY_ENUM_CHANGED_TO_ANNOTATION,
-		KEY_ENUM_CHANGED_TO_CLASS,
-		KEY_ENUM_CHANGED_TO_INTERFACE,
-		KEY_ENUM_CHANGED_RESTRICTIONS,
-		KEY_ENUM_REMOVED_FIELD,
-		KEY_ENUM_REMOVED_ENUM_CONSTANT,
-		KEY_ENUM_REMOVED_METHOD,
-		KEY_ENUM_REMOVED_CONSTRUCTOR,
-		KEY_ENUM_REMOVED_TYPE_MEMBER,
-		KEY_CLASS_ADDED_FIELD,
-		KEY_CLASS_ADDED_METHOD,
-		KEY_CLASS_ADDED_TYPE_PARAMETER,
-		KEY_CLASS_ADDED_CLASS_BOUND,
-		KEY_CLASS_ADDED_INTERFACE_BOUND,
-		KEY_CLASS_ADDED_INTERFACE_BOUNDS,
-		KEY_CLASS_CHANGED_CONTRACTED_SUPERINTERFACES_SET,
-		KEY_CLASS_CHANGED_CONTRACTED_SUPERCLASS_SET,
-		KEY_CLASS_CHANGED_SUPERCLASS,
-		KEY_CLASS_CHANGED_CLASS_BOUND,
-		KEY_CLASS_CHANGED_INTERFACE_BOUND,
-		KEY_CLASS_CHANGED_NON_ABSTRACT_TO_ABSTRACT,
-		KEY_CLASS_CHANGED_NON_FINAL_TO_FINAL,
-		KEY_CLASS_CHANGED_TO_ANNOTATION,
-		KEY_CLASS_CHANGED_TO_ENUM,
-		KEY_CLASS_CHANGED_TO_INTERFACE,
-		KEY_CLASS_CHANGED_DECREASE_ACCESS,
-		KEY_CLASS_CHANGED_RESTRICTIONS,
-		KEY_CLASS_REMOVED_FIELD,
-		KEY_CLASS_REMOVED_METHOD,
-		KEY_CLASS_REMOVED_CONSTRUCTOR,
-		KEY_CLASS_REMOVED_TYPE_MEMBER,
-		KEY_CLASS_REMOVED_TYPE_PARAMETER,
-		KEY_CLASS_REMOVED_TYPE_PARAMETERS,
-		KEY_CLASS_REMOVED_CLASS_BOUND,
-		KEY_CLASS_REMOVED_INTERFACE_BOUND,
-		KEY_CLASS_REMOVED_INTERFACE_BOUNDS,
-		KEY_FIELD_ADDED_VALUE,
-		KEY_FIELD_CHANGED_TYPE,
-		KEY_FIELD_CHANGED_VALUE,
-		KEY_FIELD_CHANGED_DECREASE_ACCESS,
-		KEY_FIELD_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT,
-		KEY_FIELD_CHANGED_NON_FINAL_TO_FINAL,
-		KEY_FIELD_CHANGED_STATIC_TO_NON_STATIC,
-		KEY_FIELD_CHANGED_NON_STATIC_TO_STATIC,
-		KEY_FIELD_REMOVED_VALUE,
-		KEY_FIELD_REMOVED_TYPE_ARGUMENTS,
-		KEY_METHOD_ADDED_CLASS_BOUND,
-		KEY_METHOD_ADDED_INTERFACE_BOUND,
-		KEY_METHOD_ADDED_INTERFACE_BOUNDS,
-		KEY_METHOD_ADDED_TYPE_PARAMETER,
-		KEY_METHOD_CHANGED_CLASS_BOUND,
-		KEY_METHOD_CHANGED_INTERFACE_BOUND,
-		KEY_METHOD_CHANGED_TYPE_PARAMETER,
-		KEY_METHOD_CHANGED_VARARGS_TO_ARRAY,
-		KEY_METHOD_CHANGED_DECREASE_ACCESS,
-		KEY_METHOD_CHANGED_NON_ABSTRACT_TO_ABSTRACT,
-		KEY_METHOD_CHANGED_NON_STATIC_TO_STATIC,
-		KEY_METHOD_CHANGED_STATIC_TO_NON_STATIC,
-		KEY_METHOD_CHANGED_NON_FINAL_TO_FINAL,
-		KEY_METHOD_REMOVED_ANNOTATION_DEFAULT_VALUE,
-		KEY_METHOD_REMOVED_TYPE_PARAMETERS,
-		KEY_METHOD_REMOVED_TYPE_PARAMETER,
-		KEY_METHOD_REMOVED_CLASS_BOUND,
-		KEY_METHOD_REMOVED_INTERFACE_BOUND,
-		KEY_METHOD_REMOVED_INTERFACE_BOUNDS,
-		KEY_CONSTRUCTOR_ADDED_CLASS_BOUND,
-		KEY_CONSTRUCTOR_ADDED_INTERFACE_BOUND,
-		KEY_CONSTRUCTOR_ADDED_INTERFACE_BOUNDS,
-		KEY_CONSTRUCTOR_ADDED_TYPE_PARAMETER,
-		KEY_CONSTRUCTOR_CHANGED_CLASS_BOUND,
-		KEY_CONSTRUCTOR_CHANGED_INTERFACE_BOUND,
-		KEY_CONSTRUCTOR_CHANGED_TYPE_PARAMETER,
-		KEY_CONSTRUCTOR_CHANGED_VARARGS_TO_ARRAY,
-		KEY_CONSTRUCTOR_CHANGED_DECREASE_ACCESS,
-		KEY_CONSTRUCTOR_CHANGED_NON_ABSTRACT_TO_ABSTRACT,
-		KEY_CONSTRUCTOR_CHANGED_NON_STATIC_TO_STATIC,
-		KEY_CONSTRUCTOR_CHANGED_STATIC_TO_NON_STATIC,
-		KEY_CONSTRUCTOR_CHANGED_NON_FINAL_TO_FINAL,
-		KEY_CONSTRUCTOR_REMOVED_ANNOTATION_DEFAULT_VALUE,
-		KEY_CONSTRUCTOR_REMOVED_TYPE_PARAMETERS,
-		KEY_CONSTRUCTOR_REMOVED_TYPE_PARAMETER,
-		KEY_CONSTRUCTOR_REMOVED_CLASS_BOUND,
-		KEY_CONSTRUCTOR_REMOVED_INTERFACE_BOUND,
-		KEY_CONSTRUCTOR_REMOVED_INTERFACE_BOUNDS,		
-	};
-
-	private static Key[] fgAllApiScanningKeys = {
-		KEY_NOIMPLEMENT,
-		KEY_NOEXTEND,
-		KEY_NOREFERENCE,
-		KEY_NOINSTANTIATE,
-		KEY_NOOVERRIDE,
-		KEY_API_LEAK
-	};
-
-	private static Key[] fgAllVersionManagementKeys = {
-		KEY_MISSING_SINCE_TAG,
-		KEY_MALFORMED_SINCE_TAG,
-		KEY_INVALID_SINCE_TAG_VERSION,
-		KEY_INCOMPATIBLE_API_COMPONENT_VERSION
-	};
-
-	/**
-	 * An array of all of the keys for the page
-	 */
-	private static Key[] fgAllKeys = {
-		KEY_NOIMPLEMENT,
-		KEY_NOEXTEND,
-		KEY_NOINSTANTIATE,
-		KEY_NOREFERENCE,
-		KEY_NOOVERRIDE,
-		KEY_API_LEAK,
-		KEY_API_PROFILE_REMOVED_API_COMPONENT,
-		KEY_API_COMPONENT_REMOVED_TYPE,
-		KEY_ANNOTATION_ADDED_FIELD,
-		KEY_ANNOTATION_ADDED_METHOD,
-		KEY_ANNOTATION_ADDED_TYPE_MEMBER,
-		KEY_ANNOTATION_REMOVED_FIELD,
-		KEY_ANNOTATION_REMOVED_METHOD_DEFAULT_VALUE,
-		KEY_ANNOTATION_REMOVED_METHOD_NO_DEFAULT_VALUE,
-		KEY_ANNOTATION_REMOVED_TYPE_MEMBER,
-		KEY_ANNOTATION_REMOVED_TYPE_PARAMETERS,
-		KEY_ANNOTATION_REMOVED_TYPE_PARAMETER,
-		KEY_ANNOTATION_REMOVED_CLASS_BOUND,
-		KEY_ANNOTATION_REMOVED_INTERFACE_BOUND,
-		KEY_ANNOTATION_REMOVED_INTERFACE_BOUNDS,
-		KEY_ANNOTATION_CHANGED_INTERFACE_BOUNDS,
-		KEY_ANNOTATION_CHANGED_CLASS_BOUND,
-		KEY_ANNOTATION_CHANGED_INTERFACE_BOUND,
-		KEY_ANNOTATION_CHANGED_TO_CLASS,
-		KEY_ANNOTATION_CHANGED_TO_ENUM,
-		KEY_ANNOTATION_CHANGED_TO_INTERFACE,
-		KEY_ANNOTATION_CHANGED_RESTRICTIONS,
-		KEY_ANNOTATION_ADDED_TYPE_PARAMETER,
-		KEY_ANNOTATION_ADDED_CLASS_BOUND,
-		KEY_ANNOTATION_ADDED_INTERFACE_BOUND,
-		KEY_ANNOTATION_ADDED_INTERFACE_BOUNDS,
-		KEY_ANNOTATION_ADDED_METHOD_NO_DEFAULT_VALUE,
-		KEY_INTERFACE_ADDED_FIELD,
-		KEY_INTERFACE_ADDED_METHOD,
-		KEY_INTERFACE_ADDED_TYPE_MEMBER,
-		KEY_INTERFACE_ADDED_CLASS_BOUND,
-		KEY_INTERFACE_ADDED_INTERFACE_BOUND,
-		KEY_INTERFACE_ADDED_INTERFACE_BOUNDS,
-		KEY_INTERFACE_ADDED_TYPE_PARAMETER,
-		KEY_INTERFACE_REMOVED_TYPE_PARAMETER,
-		KEY_INTERFACE_REMOVED_TYPE_PARAMETERS,
-		KEY_INTERFACE_REMOVED_CLASS_BOUND,
-		KEY_INTERFACE_REMOVED_INTERFACE_BOUND,
-		KEY_INTERFACE_REMOVED_INTERFACE_BOUNDS,
-		KEY_INTERFACE_REMOVED_FIELD,
-		KEY_INTERFACE_REMOVED_METHOD,
-		KEY_INTERFACE_REMOVED_TYPE_MEMBER,
-		KEY_INTERFACE_CHANGED_CLASS_BOUND,
-		KEY_INTERFACE_CHANGED_INTERFACE_BOUND,
-		KEY_INTERFACE_CHANGED_INTERFACE_BOUNDS,
-		KEY_INTERFACE_CHANGED_TO_CLASS,
-		KEY_INTERFACE_CHANGED_TO_ENUM,
-		KEY_INTERFACE_CHANGED_TO_ANNOTATION,
-		KEY_INTERFACE_CHANGED_RESTRICTIONS,
-		KEY_ENUM_ADDED_FIELD,
-		KEY_ENUM_ADDED_METHOD,
-		KEY_ENUM_CHANGED_CONTRACTED_SUPERINTERFACES_SET,
-		KEY_ENUM_CHANGED_TO_ANNOTATION,
-		KEY_ENUM_CHANGED_TO_CLASS,
-		KEY_ENUM_CHANGED_TO_INTERFACE,
-		KEY_ENUM_CHANGED_RESTRICTIONS,
-		KEY_ENUM_REMOVED_FIELD,
-		KEY_ENUM_REMOVED_ENUM_CONSTANT,
-		KEY_ENUM_REMOVED_METHOD,
-		KEY_ENUM_REMOVED_CONSTRUCTOR,
-		KEY_ENUM_REMOVED_TYPE_MEMBER,
-		KEY_CLASS_ADDED_FIELD,
-		KEY_CLASS_ADDED_METHOD,
-		KEY_CLASS_ADDED_TYPE_PARAMETER,
-		KEY_CLASS_ADDED_CLASS_BOUND,
-		KEY_CLASS_ADDED_INTERFACE_BOUND,
-		KEY_CLASS_ADDED_INTERFACE_BOUNDS,
-		KEY_CLASS_CHANGED_CONTRACTED_SUPERINTERFACES_SET,
-		KEY_CLASS_CHANGED_CONTRACTED_SUPERCLASS_SET,
-		KEY_CLASS_CHANGED_SUPERCLASS,
-		KEY_CLASS_CHANGED_CLASS_BOUND,
-		KEY_CLASS_CHANGED_INTERFACE_BOUND,
-		KEY_CLASS_CHANGED_NON_ABSTRACT_TO_ABSTRACT,
-		KEY_CLASS_CHANGED_NON_FINAL_TO_FINAL,
-		KEY_CLASS_CHANGED_TO_ANNOTATION,
-		KEY_CLASS_CHANGED_TO_ENUM,
-		KEY_CLASS_CHANGED_TO_INTERFACE,
-		KEY_CLASS_CHANGED_DECREASE_ACCESS,
-		KEY_CLASS_CHANGED_RESTRICTIONS,
-		KEY_CLASS_REMOVED_FIELD,
-		KEY_CLASS_REMOVED_METHOD,
-		KEY_CLASS_REMOVED_CONSTRUCTOR,
-		KEY_CLASS_REMOVED_TYPE_MEMBER,
-		KEY_CLASS_REMOVED_TYPE_PARAMETER,
-		KEY_CLASS_REMOVED_TYPE_PARAMETERS,
-		KEY_CLASS_REMOVED_CLASS_BOUND,
-		KEY_CLASS_REMOVED_INTERFACE_BOUND,
-		KEY_CLASS_REMOVED_INTERFACE_BOUNDS,
-		KEY_FIELD_ADDED_VALUE,
-		KEY_FIELD_CHANGED_TYPE,
-		KEY_FIELD_CHANGED_VALUE,
-		KEY_FIELD_CHANGED_DECREASE_ACCESS,
-		KEY_FIELD_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT,
-		KEY_FIELD_CHANGED_NON_FINAL_TO_FINAL,
-		KEY_FIELD_CHANGED_STATIC_TO_NON_STATIC,
-		KEY_FIELD_CHANGED_NON_STATIC_TO_STATIC,
-		KEY_FIELD_REMOVED_VALUE,
-		KEY_FIELD_REMOVED_TYPE_ARGUMENTS,
-		KEY_METHOD_ADDED_CLASS_BOUND,
-		KEY_METHOD_ADDED_INTERFACE_BOUND,
-		KEY_METHOD_ADDED_INTERFACE_BOUNDS,
-		KEY_METHOD_ADDED_TYPE_PARAMETER,
-		KEY_METHOD_CHANGED_CLASS_BOUND,
-		KEY_METHOD_CHANGED_INTERFACE_BOUND,
-		KEY_METHOD_CHANGED_TYPE_PARAMETER,
-		KEY_METHOD_CHANGED_VARARGS_TO_ARRAY,
-		KEY_METHOD_CHANGED_DECREASE_ACCESS,
-		KEY_METHOD_CHANGED_NON_ABSTRACT_TO_ABSTRACT,
-		KEY_METHOD_CHANGED_NON_STATIC_TO_STATIC,
-		KEY_METHOD_CHANGED_STATIC_TO_NON_STATIC,
-		KEY_METHOD_CHANGED_NON_FINAL_TO_FINAL,
-		KEY_METHOD_REMOVED_ANNOTATION_DEFAULT_VALUE,
-		KEY_METHOD_REMOVED_TYPE_PARAMETERS,
-		KEY_METHOD_REMOVED_TYPE_PARAMETER,
-		KEY_METHOD_REMOVED_CLASS_BOUND,
-		KEY_METHOD_REMOVED_INTERFACE_BOUND,
-		KEY_METHOD_REMOVED_INTERFACE_BOUNDS,
-		KEY_CONSTRUCTOR_ADDED_CLASS_BOUND,
-		KEY_CONSTRUCTOR_ADDED_INTERFACE_BOUND,
-		KEY_CONSTRUCTOR_ADDED_INTERFACE_BOUNDS,
-		KEY_CONSTRUCTOR_ADDED_TYPE_PARAMETER,
-		KEY_CONSTRUCTOR_CHANGED_CLASS_BOUND,
-		KEY_CONSTRUCTOR_CHANGED_INTERFACE_BOUND,
-		KEY_CONSTRUCTOR_CHANGED_TYPE_PARAMETER,
-		KEY_CONSTRUCTOR_CHANGED_VARARGS_TO_ARRAY,
-		KEY_CONSTRUCTOR_CHANGED_DECREASE_ACCESS,
-		KEY_CONSTRUCTOR_CHANGED_NON_ABSTRACT_TO_ABSTRACT,
-		KEY_CONSTRUCTOR_CHANGED_NON_STATIC_TO_STATIC,
-		KEY_CONSTRUCTOR_CHANGED_STATIC_TO_NON_STATIC,
-		KEY_CONSTRUCTOR_CHANGED_NON_FINAL_TO_FINAL,
-		KEY_CONSTRUCTOR_REMOVED_ANNOTATION_DEFAULT_VALUE,
-		KEY_CONSTRUCTOR_REMOVED_TYPE_PARAMETERS,
-		KEY_CONSTRUCTOR_REMOVED_TYPE_PARAMETER,
-		KEY_CONSTRUCTOR_REMOVED_CLASS_BOUND,
-		KEY_CONSTRUCTOR_REMOVED_INTERFACE_BOUND,
-		KEY_CONSTRUCTOR_REMOVED_INTERFACE_BOUNDS,
-		KEY_MISSING_SINCE_TAG,
-		KEY_MALFORMED_SINCE_TAG,
-		KEY_INVALID_SINCE_TAG_VERSION,
-		KEY_INCOMPATIBLE_API_COMPONENT_VERSION,
-	};
-
-	/**
-	 * Constant representing the {@link IDialogSettings} section for this block
-	 */
-	private static final String SETTINGS = "api_errorswarnings_block"; //$NON-NLS-1$
-	
-	/**
-	 * Constant representing the severity values presented in the combo boxes for each option
-	 */
-	private static final String[] SEVERITIES = {
-		PreferenceMessages.ApiErrorsWarningsConfigurationBlock_error,
-		PreferenceMessages.ApiErrorsWarningsConfigurationBlock_warning,
-		PreferenceMessages.ApiErrorsWarningsConfigurationBlock_ignore
-	};
-	
-	/**
-	 * Default selection listener for controls on the page
-	 */
-	private SelectionListener selectionlistener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			if(e.widget instanceof Combo) {
-				Combo combo = (Combo) e.widget;
-				ControlData data = (ControlData) combo.getData();
-				data.key.setStoredValue(fLookupOrder[0], combo.getText(), fManager);
-				fDirty = true;
-				fRebuildcount = 0;
-			}
-		}
-	};
-	
-	class SetAllSelectionAdapter extends SelectionAdapter {
-		String newValue;
-		int kind;
-
-		public SetAllSelectionAdapter(int kind, String newValue) {
-			this.kind = kind;
-			this.newValue = newValue;
-		}
-		
-		public void widgetSelected(SelectionEvent e) {
-			switch(this.kind) {
-				case API_SCANNING_USAGE_PAGE_ID :
-					setAllTo(this.newValue, fgAllApiScanningKeys);
-					break;
-				case VERSION_MANAGEMENT_PAGE_ID :
-					setAllTo(this.newValue, fgAllVersionManagementKeys);
-					break;
-				case BINARY_COMPATIBILITY_PAGE_ID :
-					setAllTo(this.newValue, fgAllBinaryKeys);
-					break;
-			}
-		}
-	}
-	
-	/**
-	 * Listing of all of the {@link ExpandableComposite}s in the block
-	 */
-	private ArrayList fExpComps = new ArrayList();
-
-	/**
-	 * Listing of all of the {@link Combo}s added to the block
-	 */
-	private ArrayList fCombos = new ArrayList();
-	
-	/**
-	 * The context of settings locations to search for values in
-	 */
-	private IScopeContext[] fLookupOrder = null;
-	
-	/**
-	 * The project this block is working on settings for. Only applies in the 
-	 * case of project specific settings
-	 */
-	private IProject fProject = null;
-	
-	/**
-	 * the working copy manager to work with settings
-	 */
-	private IWorkingCopyManager fManager = null;
-	
-	/**
-	 * The main composite for the configuration block, used for enabling/disabling the block 
-	 */
-	private Composite fMainComp = null;
-	
-	/**
-	 * The main scrolled composite for the binary compatibility tab
-	 */
-	private ScrolledComposite fScrolledComp = null;
-	
-	/**
-	 * Stored old fProject specific settings. 
-	 */
-	private IdentityHashMap fOldProjectSettings = null;
-	
-	/**
-	 * Flag used to know if the page needs saving or not
-	 */
-	private boolean fDirty = false;
-	
-	/**
-	 * counter to know how many times we have prompted users' to rebuild
-	 */
-	private int fRebuildcount = 0;
-	
-	/**
-	 * The parent this block has been added to 
-	 */
-	private Composite fParent = null;
-	
-	/**
-	 * Constructor
-	 * @param project
-	 */
-	public ApiErrorsWarningsConfigurationBlock(IProject project, IWorkbenchPreferenceContainer container) {
-		fProject = project;
-		if(fProject != null) {
-			fLookupOrder = new IScopeContext[] {
-				new ProjectScope(fProject),
-				new InstanceScope(),
-				new DefaultScope()
-			};
-		}
-		else {
-			fLookupOrder = new IScopeContext[] {
-				new InstanceScope(),
-				new DefaultScope()
-			};
-		}
-		if(container == null) {
-			fManager = new WorkingCopyManager();
-		}
-		else {
-			fManager = container.getWorkingCopyManager();
-		}
-		if (fProject == null || hasProjectSpecificSettings(fProject)) {
-			fOldProjectSettings = null;
-		} else {
-			fOldProjectSettings = new IdentityHashMap();
-			for (int i= 0; i < fgAllKeys.length; i++) {
-				fOldProjectSettings.put(fgAllKeys[i], fgAllKeys[i].getStoredValue(fLookupOrder, false, fManager));
-			}
-		}
-	}
-	
-	/**
-	 * Creates the control in the parent control
-	 * 
-	 * @param parent the parent control
-	 */
-	public Control createControl(Composite parent) {
-		fParent = parent;
-		SWTFactory.createVerticalSpacer(parent, 1);
-		fMainComp = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_BOTH);
-		TabFolder folder = new TabFolder(fMainComp, SWT.NONE);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint = 400;
-		folder.setLayoutData(gd);
-
-		// API scanning usage options
-		createPage(
-				API_SCANNING_USAGE_PAGE_ID,
-				folder,
-				PreferenceMessages.ApiToolingNotificationsBlock_0,
-				PreferenceMessages.ApiProblemSeveritiesConfigurationBlock_3);
-		// API binary compatibility options
-		createPage(
-				BINARY_COMPATIBILITY_PAGE_ID,
-				folder,
-				PreferenceMessages.ApiToolingNotificationsBlock_1,
-				PreferenceMessages.ApiProblemSeveritiesConfigurationBlock_8); 
-		createPage(
-				VERSION_MANAGEMENT_PAGE_ID,
-				folder,
-				PreferenceMessages.ApiToolingNotificationsBlock_2,
-				PreferenceMessages.ApiProblemSeveritiesConfigurationBlock_9); 
-		return fMainComp;
-	}
-
-	private void initializeComboControls(Composite composite, String[] labels, Key[] keys) {
-		for (int i = 0, max = labels.length; i < max; i++) {
-			createComboControl(composite, labels[i], keys[i]);
-		}
-	}
-
-	/**
-	 * Creates a tab page parented in the folder
-	 * @param kind
-	 * @param folder
-	 * @param name
-	 * @param description
-	 * @return
-	 */
-	private Composite createPage(int kind, TabFolder folder, String name, String description) {
-		Composite page = SWTFactory.createComposite(folder, 2, 1, GridData.FILL_BOTH);
-		TabItem tab = new TabItem(folder, SWT.NONE);
-		tab.setText(name);
-		tab.setControl(page);
-
-		Composite internalComposite = SWTFactory.createComposite(page, 2, 1, GridData.FILL_BOTH);
-		SWTFactory.createVerticalSpacer(internalComposite, 1);
-		SWTFactory.createWrapLabel(internalComposite, description, 2);
-		SWTFactory.createVerticalSpacer(internalComposite, 1);
-		
-		switch(kind) {
-			case API_SCANNING_USAGE_PAGE_ID :
-				// API usage/scanning
-				//add visibility restrictions
-				initializeComboControls(internalComposite,
-					new String[] {
-						PreferenceMessages.ApiProblemSeveritiesNoImplement,
-						PreferenceMessages.ApiProblemSeveritiesNoExtend,
-						PreferenceMessages.ApiProblemSeveritiesNoReference,
-						PreferenceMessages.ApiProblemSeveritiesNoInstanciate,
-						PreferenceMessages.ApiErrorsWarningsConfigurationBlock_override_tagged_method,
-						PreferenceMessages.ApiErrorsWarningsConfigurationBlock_API_Leak
-					},
-					new Key[] {
-						KEY_NOIMPLEMENT,
-						KEY_NOEXTEND,
-						KEY_NOREFERENCE,
-						KEY_NOINSTANTIATE,
-						KEY_NOOVERRIDE,
-						KEY_API_LEAK
-					}
-				);
-				break;
-			case VERSION_MANAGEMENT_PAGE_ID :
-				// API usage/scanning
-				//add visibility restrictions
-				initializeComboControls(internalComposite,
-					new String[] {
-						PreferenceMessages.VersionManagementReportMissingSinceTag,
-						PreferenceMessages.VersionManagementReportMalformedSinceTags,
-						PreferenceMessages.VersionManagementReportInvalidSinceTagVersion,
-						PreferenceMessages.VersionManagementReportInvalidApiComponentVersion,
-					},
-					new Key[] {
-						KEY_MISSING_SINCE_TAG,
-						KEY_MALFORMED_SINCE_TAG,
-						KEY_INVALID_SINCE_TAG_VERSION,
-						KEY_INCOMPATIBLE_API_COMPONENT_VERSION
-					}
-				);
-				break;
-			case BINARY_COMPATIBILITY_PAGE_ID :
-				// binary compatibility
-				fScrolledComp = new ScrolledComposite(internalComposite, SWT.H_SCROLL | SWT.V_SCROLL);
-				fScrolledComp.setExpandHorizontal(true);
-				fScrolledComp.setExpandVertical(true);
-				fScrolledComp.setLayout(new GridLayout(1, false));
-				fScrolledComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-				fScrolledComp.addListener(SWT.Resize, new Listener() {
-					public void handleEvent(Event event) {
-						handleExpand();
-					}
-				});
-				Composite sbody = SWTFactory.createComposite(fScrolledComp, 1, 1, GridData.FILL_BOTH);
-				fScrolledComp.setContent(sbody);
-				
-				Composite client = createExpansibleComposite(sbody, PreferenceMessages.BinaryCompatibilityAPIProfileElement);
-				createComboControl(client, PreferenceMessages.API_PROFILE_REMOVED_API_COMPONENT, KEY_API_PROFILE_REMOVED_API_COMPONENT);
-				
-				client = createExpansibleComposite(sbody, PreferenceMessages.BinaryCompatibilityAPIComponentElement);
-				initializeComboControls(
-						client,
-						new String[] {
-								PreferenceMessages.API_COMPONENT_REMOVED_TYPE,
-						},
-						new Key[] {
-								KEY_API_COMPONENT_REMOVED_TYPE,
-						});
-				client = createExpansibleComposite(sbody, PreferenceMessages.BinaryCompatibilityAnnotationElement);
-				initializeComboControls(
-					client,
-					new String[] {
-						PreferenceMessages.ANNOTATION_ADDED_FIELD,
-						PreferenceMessages.ANNOTATION_ADDED_METHOD,
-						PreferenceMessages.ANNOTATION_ADDED_TYPE_MEMBER,
-						PreferenceMessages.ANNOTATION_ADDED_CLASS_BOUND,
-						PreferenceMessages.ANNOTATION_ADDED_INTERFACE_BOUND,
-						PreferenceMessages.ANNOTATION_ADDED_INTERFACE_BOUNDS,
-						PreferenceMessages.ANNOTATION_ADDED_METHOD_NO_DEFAULT_VALUE,
-						PreferenceMessages.ANNOTATION_ADDED_TYPE_PARAMETER,
-						PreferenceMessages.ANNOTATION_CHANGED_CLASS_BOUND,
-						PreferenceMessages.ANNOTATION_CHANGED_INTERFACE_BOUND,
-						PreferenceMessages.ANNOTATION_CHANGED_INTERFACE_BOUNDS,
-						PreferenceMessages.ANNOTATION_CHANGED_TO_CLASS,
-						PreferenceMessages.ANNOTATION_CHANGED_TO_ENUM,
-						PreferenceMessages.ANNOTATION_CHANGED_TO_INTERFACE,
-						PreferenceMessages.ANNOTATION_CHANGED_CONTRACTED_SUPERINTERFACES_SET,
-						PreferenceMessages.ANNOTATION_CHANGED_RESTRICTIONS,
-						PreferenceMessages.ANNOTATION_REMOVED_TYPE_PARAMETER,
-						PreferenceMessages.ANNOTATION_REMOVED_TYPE_PARAMETERS,
-						PreferenceMessages.ANNOTATION_REMOVED_CLASS_BOUND,
-						PreferenceMessages.ANNOTATION_REMOVED_INTERFACE_BOUND,
-						PreferenceMessages.ANNOTATION_REMOVED_INTERFACE_BOUNDS,
-						PreferenceMessages.ANNOTATION_REMOVED_FIELD,
-						PreferenceMessages.ANNOTATION_REMOVED_METHOD_DEFAULT_VALUE,
-						PreferenceMessages.ANNOTATION_REMOVED_METHOD_NO_DEFAULT_VALUE,
-						PreferenceMessages.ANNOTATION_REMOVED_TYPE_MEMBER,
-					},
-					new Key[] {
-						KEY_ANNOTATION_ADDED_FIELD,
-						KEY_ANNOTATION_ADDED_METHOD,
-						KEY_ANNOTATION_ADDED_TYPE_MEMBER,
-						KEY_ANNOTATION_ADDED_CLASS_BOUND,
-						KEY_ANNOTATION_ADDED_INTERFACE_BOUND,
-						KEY_ANNOTATION_ADDED_INTERFACE_BOUNDS,
-						KEY_ANNOTATION_ADDED_METHOD_NO_DEFAULT_VALUE,
-						KEY_ANNOTATION_ADDED_TYPE_PARAMETER,
-						KEY_ANNOTATION_CHANGED_CLASS_BOUND,
-						KEY_ANNOTATION_CHANGED_INTERFACE_BOUND,
-						KEY_ANNOTATION_CHANGED_INTERFACE_BOUNDS,
-						KEY_ANNOTATION_CHANGED_TO_CLASS,
-						KEY_ANNOTATION_CHANGED_TO_ENUM,
-						KEY_ANNOTATION_CHANGED_TO_INTERFACE,
-						KEY_ANNOTATION_CHANGED_CONTRACTED_SUPERINTERFACES_SET,
-						KEY_ANNOTATION_CHANGED_RESTRICTIONS,
-						KEY_ANNOTATION_REMOVED_TYPE_PARAMETER,
-						KEY_ANNOTATION_REMOVED_TYPE_PARAMETERS,
-						KEY_ANNOTATION_REMOVED_CLASS_BOUND,
-						KEY_ANNOTATION_REMOVED_INTERFACE_BOUND,
-						KEY_ANNOTATION_REMOVED_INTERFACE_BOUNDS,
-						KEY_ANNOTATION_REMOVED_FIELD,
-						KEY_ANNOTATION_REMOVED_METHOD_DEFAULT_VALUE,
-						KEY_ANNOTATION_REMOVED_METHOD_NO_DEFAULT_VALUE,
-						KEY_ANNOTATION_REMOVED_TYPE_MEMBER,
-					});
-				client = createExpansibleComposite(sbody, PreferenceMessages.BinaryCompatibilityInterfaceElement);
-				initializeComboControls(
-					client,
-					new String[] {
-						PreferenceMessages.INTERFACE_ADDED_FIELD,
-						PreferenceMessages.INTERFACE_ADDED_METHOD,
-						PreferenceMessages.INTERFACE_ADDED_TYPE_MEMBER,
-						PreferenceMessages.INTERFACE_ADDED_CLASS_BOUND,
-						PreferenceMessages.INTERFACE_ADDED_INTERFACE_BOUND,
-						PreferenceMessages.INTERFACE_ADDED_INTERFACE_BOUNDS,
-						PreferenceMessages.INTERFACE_ADDED_TYPE_PARAMETER,
-						PreferenceMessages.INTERFACE_CHANGED_CLASS_BOUND,
-						PreferenceMessages.INTERFACE_CHANGED_INTERFACE_BOUND,
-						PreferenceMessages.INTERFACE_CHANGED_INTERFACE_BOUNDS,
-						PreferenceMessages.INTERFACE_CHANGED_TO_CLASS,
-						PreferenceMessages.INTERFACE_CHANGED_TO_ENUM,
-						PreferenceMessages.INTERFACE_CHANGED_TO_ANNOTATION,
-						PreferenceMessages.INTERFACE_CHANGED_CONTRACTED_SUPERINTERFACES_SET,
-						PreferenceMessages.INTERFACE_CHANGED_RESTRICTIONS,
-						PreferenceMessages.INTERFACE_REMOVED_TYPE_PARAMETER,
-						PreferenceMessages.INTERFACE_REMOVED_TYPE_PARAMETERS,
-						PreferenceMessages.INTERFACE_REMOVED_CLASS_BOUND,
-						PreferenceMessages.INTERFACE_REMOVED_INTERFACE_BOUND,
-						PreferenceMessages.INTERFACE_REMOVED_INTERFACE_BOUNDS,
-						PreferenceMessages.INTERFACE_REMOVED_FIELD,
-						PreferenceMessages.INTERFACE_REMOVED_METHOD,
-						PreferenceMessages.INTERFACE_REMOVED_TYPE_MEMBER,
-					},
-					new Key[] {
-						KEY_INTERFACE_ADDED_FIELD,
-						KEY_INTERFACE_ADDED_METHOD,
-						KEY_INTERFACE_ADDED_TYPE_MEMBER,
-						KEY_INTERFACE_ADDED_CLASS_BOUND,
-						KEY_INTERFACE_ADDED_INTERFACE_BOUND,
-						KEY_INTERFACE_ADDED_INTERFACE_BOUNDS,
-						KEY_INTERFACE_ADDED_TYPE_PARAMETER,
-						KEY_INTERFACE_CHANGED_CLASS_BOUND,
-						KEY_INTERFACE_CHANGED_INTERFACE_BOUND,
-						KEY_INTERFACE_CHANGED_INTERFACE_BOUNDS,
-						KEY_INTERFACE_CHANGED_TO_CLASS,
-						KEY_INTERFACE_CHANGED_TO_ENUM,
-						KEY_INTERFACE_CHANGED_TO_ANNOTATION,
-						KEY_INTERFACE_CHANGED_CONTRACTED_SUPERINTERFACES_SET,
-						KEY_INTERFACE_CHANGED_RESTRICTIONS,
-						KEY_INTERFACE_REMOVED_TYPE_PARAMETER,
-						KEY_INTERFACE_REMOVED_TYPE_PARAMETERS,
-						KEY_INTERFACE_REMOVED_CLASS_BOUND,
-						KEY_INTERFACE_REMOVED_INTERFACE_BOUND,
-						KEY_INTERFACE_REMOVED_INTERFACE_BOUNDS,
-						KEY_INTERFACE_REMOVED_FIELD,
-						KEY_INTERFACE_REMOVED_METHOD,
-						KEY_INTERFACE_REMOVED_TYPE_MEMBER,
-					});
-				client = createExpansibleComposite(sbody, PreferenceMessages.BinaryCompatibilityEnumElement);
-				initializeComboControls(
-					client,
-					new String[] {
-						PreferenceMessages.ENUM_ADDED_FIELD,
-						PreferenceMessages.ENUM_ADDED_METHOD,
-						PreferenceMessages.ENUM_CHANGED_CONTRACTED_SUPERINTERFACES_SET,
-						PreferenceMessages.ENUM_CHANGED_TO_ANNOTATION,
-						PreferenceMessages.ENUM_CHANGED_TO_CLASS,
-						PreferenceMessages.ENUM_CHANGED_TO_INTERFACE,
-						PreferenceMessages.ENUM_CHANGED_RESTRICTIONS,
-						PreferenceMessages.ENUM_REMOVED_FIELD,
-						PreferenceMessages.ENUM_REMOVED_ENUM_CONSTANT,
-						PreferenceMessages.ENUM_REMOVED_METHOD,
-						PreferenceMessages.ENUM_REMOVED_CONSTRUCTOR,
-						PreferenceMessages.ENUM_REMOVED_TYPE_MEMBER,
-					},
-					new Key[] {
-						KEY_ENUM_ADDED_FIELD,
-						KEY_ENUM_ADDED_METHOD,
-						KEY_ENUM_CHANGED_CONTRACTED_SUPERINTERFACES_SET,
-						KEY_ENUM_CHANGED_TO_ANNOTATION,
-						KEY_ENUM_CHANGED_TO_CLASS,
-						KEY_ENUM_CHANGED_TO_INTERFACE,
-						KEY_ENUM_CHANGED_RESTRICTIONS,
-						KEY_ENUM_REMOVED_FIELD,
-						KEY_ENUM_REMOVED_ENUM_CONSTANT,
-						KEY_ENUM_REMOVED_METHOD,
-						KEY_ENUM_REMOVED_CONSTRUCTOR,
-						KEY_ENUM_REMOVED_TYPE_MEMBER,
-					});
-				client = createExpansibleComposite(sbody, PreferenceMessages.BinaryCompatibilityClassElement);
-				initializeComboControls(
-					client,
-					new String[] {
-						PreferenceMessages.CLASS_ADDED_FIELD,
-						PreferenceMessages.CLASS_ADDED_METHOD,
-						PreferenceMessages.CLASS_ADDED_TYPE_PARAMETER,
-						PreferenceMessages.CLASS_ADDED_CLASS_BOUND,
-						PreferenceMessages.CLASS_ADDED_INTERFACE_BOUND,
-						PreferenceMessages.CLASS_ADDED_INTERFACE_BOUNDS,
-						PreferenceMessages.CLASS_CHANGED_CONTRACTED_SUPERINTERFACES_SET,
-						PreferenceMessages.CLASS_CHANGED_CONTRACTED_SUPERCLASS_SET,
-						PreferenceMessages.CLASS_CHANGED_SUPERCLASS,
-						PreferenceMessages.CLASS_CHANGED_CLASS_BOUND,
-						PreferenceMessages.CLASS_CHANGED_INTERFACE_BOUND,
-						PreferenceMessages.CLASS_CHANGED_NON_ABSTRACT_TO_ABSTRACT,
-						PreferenceMessages.CLASS_CHANGED_NON_FINAL_TO_FINAL,
-						PreferenceMessages.CLASS_CHANGED_TO_ANNOTATION,
-						PreferenceMessages.CLASS_CHANGED_TO_ENUM,
-						PreferenceMessages.CLASS_CHANGED_TO_INTERFACE,
-						PreferenceMessages.CLASS_CHANGED_DECREASE_ACCESS,
-						PreferenceMessages.CLASS_CHANGED_RESTRICTIONS,
-						PreferenceMessages.CLASS_REMOVED_FIELD,
-						PreferenceMessages.CLASS_REMOVED_METHOD,
-						PreferenceMessages.CLASS_REMOVED_CONSTRUCTOR,
-						PreferenceMessages.CLASS_REMOVED_TYPE_MEMBER,
-						PreferenceMessages.CLASS_REMOVED_TYPE_PARAMETER,
-						PreferenceMessages.CLASS_REMOVED_TYPE_PARAMETERS,
-						PreferenceMessages.CLASS_REMOVED_CLASS_BOUND,
-						PreferenceMessages.CLASS_REMOVED_INTERFACE_BOUND,
-						PreferenceMessages.CLASS_REMOVED_INTERFACE_BOUNDS,
-					},
-					new Key[] {
-						KEY_CLASS_ADDED_FIELD,
-						KEY_CLASS_ADDED_METHOD,
-						KEY_CLASS_ADDED_TYPE_PARAMETER,
-						KEY_CLASS_ADDED_CLASS_BOUND,
-						KEY_CLASS_ADDED_INTERFACE_BOUND,
-						KEY_CLASS_ADDED_INTERFACE_BOUNDS,
-						KEY_CLASS_CHANGED_CONTRACTED_SUPERINTERFACES_SET,
-						KEY_CLASS_CHANGED_CONTRACTED_SUPERCLASS_SET,
-						KEY_CLASS_CHANGED_SUPERCLASS,
-						KEY_CLASS_CHANGED_CLASS_BOUND,
-						KEY_CLASS_CHANGED_INTERFACE_BOUND,
-						KEY_CLASS_CHANGED_NON_ABSTRACT_TO_ABSTRACT,
-						KEY_CLASS_CHANGED_NON_FINAL_TO_FINAL,
-						KEY_CLASS_CHANGED_TO_ANNOTATION,
-						KEY_CLASS_CHANGED_TO_ENUM,
-						KEY_CLASS_CHANGED_TO_INTERFACE,
-						KEY_CLASS_CHANGED_DECREASE_ACCESS,
-						KEY_CLASS_CHANGED_RESTRICTIONS,
-						KEY_CLASS_REMOVED_FIELD,
-						KEY_CLASS_REMOVED_METHOD,
-						KEY_CLASS_REMOVED_CONSTRUCTOR,
-						KEY_CLASS_REMOVED_TYPE_MEMBER,
-						KEY_CLASS_REMOVED_TYPE_PARAMETER,
-						KEY_CLASS_REMOVED_TYPE_PARAMETERS,
-						KEY_CLASS_REMOVED_CLASS_BOUND,
-						KEY_CLASS_REMOVED_INTERFACE_BOUND,
-						KEY_CLASS_REMOVED_INTERFACE_BOUNDS,
-					});
-				client = createExpansibleComposite(sbody, PreferenceMessages.BinaryCompatibilityFieldElement);
-				initializeComboControls(
-					client,
-					new String[] {
-						PreferenceMessages.FIELD_ADDED_VALUE,
-						PreferenceMessages.FIELD_CHANGED_TYPE,
-						PreferenceMessages.FIELD_CHANGED_VALUE,
-						PreferenceMessages.FIELD_CHANGED_DECREASE_ACCESS,
-						PreferenceMessages.FIELD_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT,
-						PreferenceMessages.FIELD_CHANGED_NON_FINAL_TO_FINAL,
-						PreferenceMessages.FIELD_CHANGED_STATIC_TO_NON_STATIC,
-						PreferenceMessages.FIELD_CHANGED_NON_STATIC_TO_STATIC,
-						PreferenceMessages.FIELD_REMOVED_VALUE,
-						PreferenceMessages.FIELD_REMOVED_TYPE_ARGUMENTS,
-					},
-					new Key[] {
-						KEY_FIELD_ADDED_VALUE,
-						KEY_FIELD_CHANGED_TYPE,
-						KEY_FIELD_CHANGED_VALUE,
-						KEY_FIELD_CHANGED_DECREASE_ACCESS,
-						KEY_FIELD_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT,
-						KEY_FIELD_CHANGED_NON_FINAL_TO_FINAL,
-						KEY_FIELD_CHANGED_STATIC_TO_NON_STATIC,
-						KEY_FIELD_CHANGED_NON_STATIC_TO_STATIC,
-						KEY_FIELD_REMOVED_VALUE,
-						KEY_FIELD_REMOVED_TYPE_ARGUMENTS,
-					});
-				client = createExpansibleComposite(sbody, PreferenceMessages.BinaryCompatibilityMethodElement);
-				initializeComboControls(
-					client,
-					new String[] {
-						PreferenceMessages.METHOD_ADDED_CLASS_BOUND,
-						PreferenceMessages.METHOD_ADDED_INTERFACE_BOUND,
-						PreferenceMessages.METHOD_ADDED_INTERFACE_BOUNDS,
-						PreferenceMessages.METHOD_ADDED_TYPE_PARAMETER,
-						PreferenceMessages.METHOD_CHANGED_CLASS_BOUND,
-						PreferenceMessages.METHOD_CHANGED_INTERFACE_BOUND,
-						PreferenceMessages.METHOD_CHANGED_TYPE_PARAMETER,
-						PreferenceMessages.METHOD_CHANGED_VARARGS_TO_ARRAY,
-						PreferenceMessages.METHOD_CHANGED_DECREASE_ACCESS,
-						PreferenceMessages.METHOD_CHANGED_NON_ABSTRACT_TO_ABSTRACT,
-						PreferenceMessages.METHOD_CHANGED_NON_STATIC_TO_STATIC,
-						PreferenceMessages.METHOD_CHANGED_STATIC_TO_NON_STATIC,
-						PreferenceMessages.METHOD_CHANGED_NON_FINAL_TO_FINAL,
-						PreferenceMessages.METHOD_REMOVED_ANNOTATION_DEFAULT_VALUE,
-						PreferenceMessages.METHOD_REMOVED_TYPE_PARAMETERS,
-						PreferenceMessages.METHOD_REMOVED_TYPE_PARAMETER,
-						PreferenceMessages.METHOD_REMOVED_CLASS_BOUND,
-						PreferenceMessages.METHOD_REMOVED_INTERFACE_BOUND,
-						PreferenceMessages.METHOD_REMOVED_INTERFACE_BOUNDS,
-					},
-					new Key[] {
-						KEY_METHOD_ADDED_CLASS_BOUND,
-						KEY_METHOD_ADDED_INTERFACE_BOUND,
-						KEY_METHOD_ADDED_INTERFACE_BOUNDS,
-						KEY_METHOD_ADDED_TYPE_PARAMETER,
-						KEY_METHOD_CHANGED_CLASS_BOUND,
-						KEY_METHOD_CHANGED_INTERFACE_BOUND,
-						KEY_METHOD_CHANGED_TYPE_PARAMETER,
-						KEY_METHOD_CHANGED_VARARGS_TO_ARRAY,
-						KEY_METHOD_CHANGED_DECREASE_ACCESS,
-						KEY_METHOD_CHANGED_NON_ABSTRACT_TO_ABSTRACT,
-						KEY_METHOD_CHANGED_NON_STATIC_TO_STATIC,
-						KEY_METHOD_CHANGED_STATIC_TO_NON_STATIC,
-						KEY_METHOD_CHANGED_NON_FINAL_TO_FINAL,
-						KEY_METHOD_REMOVED_ANNOTATION_DEFAULT_VALUE,
-						KEY_METHOD_REMOVED_TYPE_PARAMETERS,
-						KEY_METHOD_REMOVED_TYPE_PARAMETER,
-						KEY_METHOD_REMOVED_CLASS_BOUND,
-						KEY_METHOD_REMOVED_INTERFACE_BOUND,
-						KEY_METHOD_REMOVED_INTERFACE_BOUNDS,
-					});
-				client = createExpansibleComposite(sbody, PreferenceMessages.BinaryCompatibilityConstructorElement);
-				initializeComboControls(
-					client,
-					new String[] {
-						PreferenceMessages.CONSTRUCTOR_ADDED_CLASS_BOUND,
-						PreferenceMessages.CONSTRUCTOR_ADDED_INTERFACE_BOUND,
-						PreferenceMessages.CONSTRUCTOR_ADDED_INTERFACE_BOUNDS,
-						PreferenceMessages.CONSTRUCTOR_ADDED_TYPE_PARAMETER,
-						PreferenceMessages.CONSTRUCTOR_CHANGED_CLASS_BOUND,
-						PreferenceMessages.CONSTRUCTOR_CHANGED_INTERFACE_BOUND,
-						PreferenceMessages.CONSTRUCTOR_CHANGED_TYPE_PARAMETER,
-						PreferenceMessages.CONSTRUCTOR_CHANGED_VARARGS_TO_ARRAY,
-						PreferenceMessages.CONSTRUCTOR_CHANGED_DECREASE_ACCESS,
-						PreferenceMessages.CONSTRUCTOR_CHANGED_NON_ABSTRACT_TO_ABSTRACT,
-						PreferenceMessages.CONSTRUCTOR_CHANGED_NON_STATIC_TO_STATIC,
-						PreferenceMessages.CONSTRUCTOR_CHANGED_STATIC_TO_NON_STATIC,
-						PreferenceMessages.CONSTRUCTOR_CHANGED_NON_FINAL_TO_FINAL,
-						PreferenceMessages.CONSTRUCTOR_REMOVED_TYPE_PARAMETERS,
-						PreferenceMessages.CONSTRUCTOR_REMOVED_TYPE_PARAMETER,
-						PreferenceMessages.CONSTRUCTOR_REMOVED_CLASS_BOUND,
-						PreferenceMessages.CONSTRUCTOR_REMOVED_INTERFACE_BOUND,
-						PreferenceMessages.CONSTRUCTOR_REMOVED_INTERFACE_BOUNDS,
-					},
-					new Key[] {
-						KEY_CONSTRUCTOR_ADDED_CLASS_BOUND,
-						KEY_CONSTRUCTOR_ADDED_INTERFACE_BOUND,
-						KEY_CONSTRUCTOR_ADDED_INTERFACE_BOUNDS,
-						KEY_CONSTRUCTOR_ADDED_TYPE_PARAMETER,
-						KEY_CONSTRUCTOR_CHANGED_CLASS_BOUND,
-						KEY_CONSTRUCTOR_CHANGED_INTERFACE_BOUND,
-						KEY_CONSTRUCTOR_CHANGED_TYPE_PARAMETER,
-						KEY_CONSTRUCTOR_CHANGED_VARARGS_TO_ARRAY,
-						KEY_CONSTRUCTOR_CHANGED_DECREASE_ACCESS,
-						KEY_CONSTRUCTOR_CHANGED_NON_ABSTRACT_TO_ABSTRACT,
-						KEY_CONSTRUCTOR_CHANGED_NON_STATIC_TO_STATIC,
-						KEY_CONSTRUCTOR_CHANGED_STATIC_TO_NON_STATIC,
-						KEY_CONSTRUCTOR_CHANGED_NON_FINAL_TO_FINAL,
-						KEY_CONSTRUCTOR_REMOVED_ANNOTATION_DEFAULT_VALUE,
-						KEY_CONSTRUCTOR_REMOVED_TYPE_PARAMETERS,
-						KEY_CONSTRUCTOR_REMOVED_TYPE_PARAMETER,
-						KEY_CONSTRUCTOR_REMOVED_CLASS_BOUND,
-						KEY_CONSTRUCTOR_REMOVED_INTERFACE_BOUND,
-						KEY_CONSTRUCTOR_REMOVED_INTERFACE_BOUNDS,
-					});
-				restoreExpansionState();
-		}
-		Composite buttonsComposite = SWTFactory.createComposite(page, 1, 1, GridData.FILL_BOTH, SWT.BORDER);
-		SWTFactory.createVerticalSpacer(buttonsComposite, 1);
-		buttonsComposite.setLayout(new GridLayout(1, false));
-		buttonsComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true));
-		SWTFactory.createWrapLabel(buttonsComposite, PreferenceMessages.ApiErrorsWarningsConfigurationBlock_setAllto, 1);
-		SWTFactory.createVerticalSpacer(buttonsComposite, 1);
-		Button allToErrorButton = SWTFactory.createPushButton(buttonsComposite, PreferenceMessages.ApiErrorsWarningsConfigurationBlock_error_button, null, SWT.LEFT);
-		Button allToWarningButton = SWTFactory.createPushButton(buttonsComposite, PreferenceMessages.ApiErrorsWarningsConfigurationBlock_warning_button, null, SWT.LEFT);
-		Button allToIgnoreButton = SWTFactory.createPushButton(buttonsComposite, PreferenceMessages.ApiErrorsWarningsConfigurationBlock_ignore_button, null, SWT.LEFT);
-		allToErrorButton.addSelectionListener(new SetAllSelectionAdapter(kind, PreferenceMessages.ApiErrorsWarningsConfigurationBlock_error));
-		allToWarningButton.addSelectionListener(new SetAllSelectionAdapter(kind, PreferenceMessages.ApiErrorsWarningsConfigurationBlock_warning));
-		allToIgnoreButton.addSelectionListener(new SetAllSelectionAdapter(kind, PreferenceMessages.ApiErrorsWarningsConfigurationBlock_ignore));
-		return page;
-	}
-
-	void setAllTo(String newValue, Key[] keys) {
-		for(int i = 0, max = keys.length; i < max; i++) {
-			keys[i].setStoredValue(fLookupOrder[0], newValue, fManager);
-		}
-		updateCombos();
-		fDirty = true;
-		fRebuildcount = 0;
-	}
-
-	/**
-	 * Creates an {@link ExpandableComposite} with a client composite and a default grid layout
-	 * @param parent
-	 * @param title
-	 * @return
-	 */
-	private Composite createExpansibleComposite(Composite parent, String title) {
-		ExpandableComposite ecomp = SWTFactory.createExpandibleComposite(parent, title, 1, GridData.FILL_HORIZONTAL);
-		ecomp.addExpansionListener(new ExpansionAdapter() {
-			public void expansionStateChanged(ExpansionEvent e) {
-				handleExpand();
-			}
-		});
-		ecomp.setFont(JFaceResources.getFontRegistry().getBold(JFaceResources.DIALOG_FONT));
-		fExpComps.add(ecomp);
-		Composite client = SWTFactory.createComposite(ecomp, 2, 1, GridData.FILL_BOTH);
-		ecomp.setClient(client);
-		return client;
-	}
-
-	/**
-	 * Handles one of the expandable composites being expanded 
-	 */
-	private void handleExpand() {
-		try {
-			fScrolledComp.setRedraw(false);
-			Composite c = (Composite) fScrolledComp.getContent();
-			if (c == null) {
-				return;
-			}
-			Point newSize = c.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-			fScrolledComp.setMinSize(newSize);
-			c.layout(true);
-		}
-		finally {
-			fScrolledComp.setRedraw(true);
-		}
-	}
-	
-	/**
-	 * Saves all of the changes on the page
-	 */
-	public void performOK()  {
-		save();
-		persistExpansionState();
-	}
-	
-	/**
-	 * Directly applies all of the changes on the page
-	 */
-	public void performApply() {
-		save();
-	}
-	
-	/**
-	 * Performs the save operation on the working cop manager
-	 */
-	private void save() {
-		if(fDirty) {
-			try {
-				ArrayList changes = new ArrayList();
-				collectChanges(fLookupOrder[0], changes);
-				if(changes.size() > 0) {
-					if(fRebuildcount < 1) {
-						fRebuildcount++;
-						fManager.applyChanges();
-						IProject[] projects = Util.getApiProjects();
-						String message = PreferenceMessages.ApiErrorsWarningsConfigurationBlock_0;
-						if(fProject != null) {
-							projects = new IProject[] {fProject};
-							message = MessageFormat.format(PreferenceMessages.ApiErrorsWarningsConfigurationBlock_1, new String[] {fProject.getName()});
-						}
-						if(projects != null) {
-							if(MessageDialog.openQuestion(fParent.getShell(), PreferenceMessages.ApiErrorsWarningsConfigurationBlock_2, message)) {
-								Util.getBuildJob(projects).schedule();
-							}
-						}
-					}
-				}
-				fDirty = false;
-			}
-			catch(BackingStoreException bse) {
-				ApiPlugin.log(bse);
-			}
-		}
-	}
-	
-	/**
-	 * Cancels all of the changes on the page
-	 */
-	public void performCancel() {
-		persistExpansionState(); 
-	}
-	
-	/**
-	 * Reverts all of the settings back to their defaults
-	 */
-	public void performDefaults() {
-		String defval = null;
-		for(int i = 0; i < fgAllKeys.length; i++) {
-			defval = fgAllKeys[i].getStoredValue(fLookupOrder, true, fManager);
-			fgAllKeys[i].setStoredValue(fLookupOrder[0], defval, fManager);
-		}
-		updateCombos();
-		fDirty = true;
-		fRebuildcount = 0;
-	}
-	
-	/**
-	 * Updates all of the registered {@link Combo}s on the page.
-	 * Registration implies that the {@link Combo} control was added to the listing 
-	 * of fCombos
-	 */
-	private void updateCombos() {
-		Combo combo = null;
-		ControlData data = null;
-		for(int i = 0; i < fCombos.size(); i++) {
-			combo = (Combo) fCombos.get(i);
-			data  = (ControlData) combo.getData();
-			combo.select(data.getSelection(data.getKey().getStoredValue(fLookupOrder, false, fManager)));
-		}
-	}
-	
-	/**
-	 * recursive method to enable/disable all of the controls on the main page
-	 * @param ctrl
-	 * @param enabled
-	 */
-	private void enableControl(Control ctrl, boolean enabled) {
-		ctrl.setEnabled(enabled);
-		if(ctrl instanceof Composite) {
-			Composite comp = (Composite) ctrl;
-			Control[] children = comp.getChildren();
-			for(int i = 0; i< children.length; i++) {
-				enableControl(children[i], enabled);
-			}
-		}
-		
-	}
-	
-	/**
-	 * Disposes the controls from this page
-	 */
-	public void dispose() {
-		fMainComp.getParent().dispose();
-		fExpComps.clear();
-		fCombos.clear();
-	}
-	
-	/**
-	 * Creates a {@link Label} | {@link Combo} control. The combo is initialized from the given {@link Key}
-	 * @param parent
-	 * @param label
-	 * @param key
-	 */
-	protected void createComboControl(Composite parent, String label, Key key) {
-		Label lbl = new Label(parent, SWT.NONE);
-		GridData gd = new GridData(GridData.BEGINNING, GridData.CENTER, true, false);
-		lbl.setLayoutData(gd);
-		lbl.setText(label);
-		Combo combo = new Combo(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
-		gd = new GridData(GridData.END, GridData.CENTER, false, false);
-		ControlData data = new ControlData(key, SEVERITIES); 
-		combo.setData(data);
-		combo.setItems(SEVERITIES);
-		combo.addSelectionListener(selectionlistener);
-		combo.select(data.getSelection(key.getStoredValue(fLookupOrder, false, fManager)));
-		fCombos.add(combo);
-	}
-
-	/**
-	 * Restores the expansion state of the composites in this block.
-	 * If there are no settings, than the first composite is expanded by default
-	 */
-	private void restoreExpansionState() {
-		IDialogSettings settings = ApiUIPlugin.getDefault().getDialogSettings().getSection(SETTINGS);
-		if(settings != null) {
-			for(int i = 0; i < fExpComps.size(); i++) {
-				((ExpandableComposite) fExpComps.get(i)).setExpanded(settings.getBoolean(Integer.toString(i)));
-			}
-		}
-		else {
-			((ExpandableComposite)fExpComps.get(0)).setExpanded(true);
-		}
-	}
-	
-	/**
-	 * Stores the expansion state of the composites
-	 */
-	private void persistExpansionState() {
-		IDialogSettings settings = ApiUIPlugin.getDefault().getDialogSettings().addNewSection(SETTINGS);
-		for(int i = 0; i < fExpComps.size(); i++) {
-			settings.put(Integer.toString(i), ((ExpandableComposite) fExpComps.get(i)).isExpanded());
-		}
-	}
-	
-	/**
-	 * Sets using project specific settings
-	 * @param enable
-	 */
-	public void useProjectSpecificSettings(boolean enable) {
-		boolean disabled = fOldProjectSettings == null;
-		if(enable != disabled && fProject != null) {
-			if(enable) {
-				for(int i = 0; i < fgAllKeys.length; i++) {
-					fgAllKeys[i].setStoredValue(fLookupOrder[0], (String) fOldProjectSettings.get(fgAllKeys[i]), fManager);
-				}
-				fOldProjectSettings = null;
-				updateCombos();
-			}
-			else {
-				fOldProjectSettings = new IdentityHashMap();
-				String old = null;
-				for(int i = 0; i < fgAllKeys.length; i++) {
-					old = fgAllKeys[i].getStoredValue(fLookupOrder, false, fManager);
-					fOldProjectSettings.put(fgAllKeys[i], old);
-					fgAllKeys[i].setStoredValue(fLookupOrder[0], null, fManager);
-				}
-			}
-		}
-		fDirty = true;
-		enableControl(fMainComp, enable);
-	}
-	
-	/**
-	 * returns if this block has fProject specific settings
-	 * @param fProject
-	 * @return true if there are fProject specific settings, false otherwise
-	 */
-	public boolean hasProjectSpecificSettings(IProject project) {
-		if (project != null) {
-			IScopeContext projectContext= new ProjectScope(project);
-			for (int i= 0; i < fgAllKeys.length; i++) {
-				if (fgAllKeys[i].getStoredValue(projectContext, fManager) != null) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Collects the keys that have changed on the page into the specified list
-	 * @param changes the {@link List} to collect changed keys into
-	 */
-	private void collectChanges(IScopeContext context, List changes) {
-		Key key = null;
-		String origval = null,
-			   newval = null;
-		boolean complete = fOldProjectSettings == null && fProject != null;
-		for(int i = 0; i < fgAllKeys.length; i++) {
-			key = fgAllKeys[i];
-			origval = key.getStoredValue(context, null);
-			newval = key.getStoredValue(context, fManager);
-			if(newval == null) {
-				if(origval != null) {
-					changes.add(key);
-				}
-				else if(complete) {
-					key.setStoredValue(context, key.getStoredValue(fLookupOrder, true, fManager), fManager);
-					changes.add(key);
-				}
-			}
-			else if(!newval.equals(origval)) {
-				changes.add(key);
-			}
-		}
-	}
-	
-	public static Key[] getAllKeys() {
-		return fgAllKeys;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiErrorsWarningsPreferencePage.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiErrorsWarningsPreferencePage.java
deleted file mode 100644
index 1ee20fa..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiErrorsWarningsPreferencePage.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.preferences;
-
-import java.util.HashMap;
-import java.util.HashSet;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.ui.internal.IApiToolsHelpContextIds;
-import org.eclipse.pde.api.tools.ui.internal.SWTFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.PreferencesUtil;
-import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer;
-
-/**
- * Class provides the general API tool preference page
- * @since 1.0.0
- */
-public class ApiErrorsWarningsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
-	public static final String NO_LINK= "PropertyAndPreferencePage.nolink"; //$NON-NLS-1$
-	
-	/**
-	 * The main configuration block for the page
-	 */
-	private ApiErrorsWarningsConfigurationBlock block = null;
-	private Link link = null;
-	
-	private HashMap fPageData = null;
-	
-	/**
-	 * Constructor
-	 */
-	public ApiErrorsWarningsPreferencePage() {
-		super(PreferenceMessages.ApiErrorsWarningsPreferencePage_0);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Composite comp  = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_BOTH, 0, 0);
-		link = new Link(comp, SWT.NONE);
-		link.setLayoutData(new GridData(GridData.END, GridData.CENTER, true, false));
-		link.setFont(comp.getFont());
-		link.setText(PreferenceMessages.ApiErrorsWarningsPreferencePage_1); 
-		link.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				HashSet set = new HashSet();
-				try {
-					IJavaProject[] projects = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot()).getJavaProjects();
-					IProject project = null;
-					for(int i = 0; i < projects.length; i++) {
-						project = projects[i].getProject();
-						try {
-							if(project.hasNature(ApiPlugin.NATURE_ID) && block.hasProjectSpecificSettings(project)) {
-								set.add(projects[i]);
-							}
-						}
-						catch(CoreException ce) {
-							//do nothing ignore the project
-						}
-					}
-				}
-				catch (JavaModelException jme) {
-					//ignore
-				}
-				ProjectSelectionDialog psd = new ProjectSelectionDialog(getShell(), set);
-				if(psd.open() == IDialogConstants.OK_ID) {
-					HashMap data = new HashMap();
-					data.put(NO_LINK, Boolean.TRUE);
-					PreferencesUtil.createPropertyDialogOn(getShell(), ((IJavaProject) psd.getFirstResult()).getProject(), 
-							"org.eclipse.pde.api.tools.ui.apitools.proppage",  //$NON-NLS-1$
-							new String[] { "org.eclipse.pde.api.tools.ui.apitools.proppage" }, data).open(); //$NON-NLS-1$
-				}
-			};
-		});
-		block = new ApiErrorsWarningsConfigurationBlock(null, (IWorkbenchPreferenceContainer)getContainer());
-		block.createControl(comp);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IApiToolsHelpContextIds.APITOOLS_ERROR_WARNING_PREF_PAGE);
-		return comp;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.DialogPage#dispose()
-	 */
-	public void dispose() {
-		if(block != null) {
-			block.dispose();
-		}
-		super.dispose();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performCancel()
-	 */
-	public boolean performCancel() {
-		block.performCancel();
-		return super.performCancel();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		block.performOK();
-		return super.performOk();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performApply()
-	 */
-	protected void performApply() {
-		block.performApply();
-		super.performApply();
-	}
-	
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		block.performDefaults();
-		super.performDefaults();
-	}
-	
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#applyData(java.lang.Object)
-	 */
-	public void applyData(Object data) {
-		if(data instanceof HashMap) {
-			fPageData = (HashMap) data;
-			link.setVisible(!Boolean.TRUE.equals(fPageData.get(NO_LINK)));
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiProfilesConfigurationBlock.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiProfilesConfigurationBlock.java
deleted file mode 100644
index 2dd68b5..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiProfilesConfigurationBlock.java
+++ /dev/null
@@ -1,416 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.preferences;
-
-import java.util.ArrayList;
-import java.util.IdentityHashMap;
-import java.util.List;
-
-import org.eclipse.core.runtime.preferences.DefaultScope;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.IScopeContext;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemTypes;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
-import org.eclipse.pde.api.tools.ui.internal.SWTFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer;
-import org.eclipse.ui.preferences.IWorkingCopyManager;
-import org.eclipse.ui.preferences.WorkingCopyManager;
-import org.osgi.service.prefs.BackingStoreException;
-
-/**
- * This block is used to add the Api tooling profile notification settings UI
- * to a parent control
- * 
- * @since 1.0.0
- */
-public class ApiProfilesConfigurationBlock {
-	/**
-	 * Provides data information for created controls
-	 */
-	protected static class ControlData {
-		private Key key;
-		private String[] values;
-		
-		/**
-		 * Constructor
-		 * @param key
-		 * @param values
-		 */
-		public ControlData(Key key, String[] values) {
-			this.key = key;
-			this.values = values;
-		}
-		
-		public Key getKey() {
-			return key;
-		}
-		
-		public String getValue(boolean selection) {
-			int index= selection ? 0 : 1;
-			return values[index];
-		}
-		
-		public String getValue(int index) {
-			return values[index];
-		}		
-		
-		public int getSelection(String value) {
-			if (value != null) {
-				for (int i= 0; i < values.length; i++) {
-					if (value.equals(values[i])) {
-						return i;
-					}
-				}
-			}
-			return values.length -1; // assume the last option is the least severe
-		}
-	}
-	
-	/**
-	 * Provides management for changed/stored values for a given preference key
-	 */
-	protected static class Key {
-		
-		private String qualifier;
-		private String key;
-		
-		/**
-		 * Constructor
-		 * @param qualifier
-		 * @param key
-		 */
-		public Key(String qualifier, String key) {
-			this.qualifier= qualifier;
-			this.key= key;
-		}
-		
-		/**
-		 * Returns the {@link IEclipsePreferences} node for the given context and {@link IWorkingCopyManager}
-		 * @param context
-		 * @param manager
-		 * @return the {@link IEclipsePreferences} node or <code>null</code>
-		 */
-		private IEclipsePreferences getNode(IScopeContext context, IWorkingCopyManager manager) {
-			IEclipsePreferences node = context.getNode(qualifier);
-			if (manager != null) {
-				return manager.getWorkingCopy(node);
-			}
-			return node;
-		}
-		
-		/**
-		 * Returns the value stored in the {@link IEclipsePreferences} node from the given context and working copy manager
-		 * @param context
-		 * @param manager
-		 * @return the value from the {@link IEclipsePreferences} node or <code>null</code>
-		 */
-		public String getStoredValue(IScopeContext context, IWorkingCopyManager manager) {
-			IEclipsePreferences node = getNode(context, manager);
-			if(node != null) {
-				return node.get(key, null);
-			}
-			return null;
-		}
-		
-		/**
-		 * Returns the stored value of this {@link IEclipsePreferences} node using a given lookup order, and allowing the
-		 * top scope to be ignored
-		 * @param lookupOrder
-		 * @param ignoreTopScope
-		 * @param manager
-		 * @return the value from the {@link IEclipsePreferences} node or <code>null</code>
-		 */
-		public String getStoredValue(IScopeContext[] lookupOrder, boolean ignoreTopScope, IWorkingCopyManager manager) {
-			for (int i = ignoreTopScope ? 1 : 0; i < lookupOrder.length; i++) {
-				String value = getStoredValue(lookupOrder[i], manager);
-				if (value != null) {
-					return value;
-				}
-			}
-			return null;
-		}
-		
-		/**
-		 * Sets the value of this key
-		 * @param context
-		 * @param value
-		 * @param manager
-		 */
-		public void setStoredValue(IScopeContext context, String value, IWorkingCopyManager manager) {
-			IEclipsePreferences node = getNode(context, manager);
-			if (value != null) {
-				node.put(key, value);
-			} else {
-				node.remove(key);
-			}
-		}
-			
-		/* (non-Javadoc)
-		 * @see java.lang.Object#toString()
-		 */
-		public String toString() {
-			return qualifier + '/' + key;
-		}
-	}
-
-	/**
-	 * Returns a new {@link Key} for the {@link ApiUIPlugin} preference store
-	 * @param key
-	 * @return the new {@link Key} for the {@link ApiUIPlugin} preference store
-	 */
-	protected final static Key getApiToolsKey(String key) {
-		return new Key(ApiPlugin.getPluginIdentifier(), key);
-	}
-
-	private static final Key KEY_MISSING_DEFAULT_API_PROFILE = getApiToolsKey(IApiProblemTypes.MISSING_DEFAULT_API_PROFILE);
-
-	/**
-	 * An array of all of the keys for the page
-	 */
-	private static Key[] fgAllKeys = {
-		KEY_MISSING_DEFAULT_API_PROFILE
-	};
-
-	/**
-	 * Constant representing the severity values presented in the combo boxes for each option
-	 */
-	private static final String[] SEVERITIES = {
-		PreferenceMessages.ApiErrorsWarningsConfigurationBlock_error,
-		PreferenceMessages.ApiErrorsWarningsConfigurationBlock_warning,
-		PreferenceMessages.ApiErrorsWarningsConfigurationBlock_ignore
-	};
-	
-	/**
-	 * Default selection listener for controls on the page
-	 */
-	private SelectionListener selectionlistener = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			if(e.widget instanceof Combo) {
-				Combo combo = (Combo) e.widget;
-				ControlData data = (ControlData) combo.getData();
-				data.key.setStoredValue(fLookupOrder[0], combo.getText(), fManager);
-				fDirty = true;
-				ApiProfilesPreferencePage.rebuildcount = 0;
-			}
-		}
-	};
-
-	/**
-	 * Listing of all of the {@link Combo}s added to the block
-	 */
-	private Combo fCombo = null;
-	
-	/**
-	 * The context of settings locations to search for values in
-	 */
-	private IScopeContext[] fLookupOrder = null;
-	
-	/**
-	 * the working copy manager to work with settings
-	 */
-	private IWorkingCopyManager fManager = null;
-	
-	/**
-	 * The main composite for the configuration block, used for enabling/disabling the block 
-	 */
-	private Composite fMainComp = null;
-	
-	
-	/**
-	 * Stored old fProject specific settings. 
-	 */
-	private IdentityHashMap fOldProjectSettings = null;
-	
-	/**
-	 * Flag used to know if the page needs saving or not
-	 */
-	private boolean fDirty = false;
-	
-	/**
-	 * The parent this block has been added to 
-	 */
-	private Composite fParent = null;
-
-	/**
-	 * Constructor
-	 * @param project
-	 */
-	public ApiProfilesConfigurationBlock(IWorkbenchPreferenceContainer container) {
-		fLookupOrder = new IScopeContext[] {
-			new InstanceScope(),
-			new DefaultScope()
-		};
-		if(container == null) {
-			fManager = new WorkingCopyManager();
-		}
-		else {
-			fManager = container.getWorkingCopyManager();
-		}
-		fOldProjectSettings = null;
-	}
-	
-	/**
-	 * Creates the control in the parent control
-	 * 
-	 * @param parent the parent control
-	 */
-	public Control createControl(Composite parent, final ApiProfilesPreferencePage page) {
-		fParent = parent;
-		fMainComp = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_HORIZONTAL, 0, 0);
-		Group optionsProfileGroup = SWTFactory.createGroup(fMainComp, PreferenceMessages.ApiProfilesConfigurationBlock_options_group_title, 2, 1, GridData.FILL_BOTH);
-		this.fCombo = createComboControl(optionsProfileGroup, PreferenceMessages.ApiProfilesConfigurationBlock_missing_default_api_profile_message, KEY_MISSING_DEFAULT_API_PROFILE);
-		return fMainComp;
-	}
-
-	/**
-	 * Saves all of the changes on the page
-	 */
-	public void performOK()  {
-		save();
-	}
-	
-	/**
-	 * Directly applies all of the changes on the page
-	 */
-	public void performApply() {
-		save();
-	}
-	
-	/**
-	 * Performs the save operation on the working copy manager
-	 */
-	private void save() {
-		if(fDirty) {
-			try {
-				ArrayList changes = new ArrayList();
-				collectChanges(fLookupOrder[0], changes);
-				if(changes.size() > 0) {
-					if(ApiProfilesPreferencePage.rebuildcount < 1) {
-						ApiProfilesPreferencePage.rebuildcount++;
-						fManager.applyChanges();
-						String message = PreferenceMessages.ApiErrorsWarningsConfigurationBlock_0;
-						if(MessageDialog.openQuestion(fParent.getShell(), PreferenceMessages.ApiErrorsWarningsConfigurationBlock_2, message)) {
-							Util.getBuildJob(Util.getApiProjects()).schedule();
-						}
-					}
-				}
-				fDirty = false;
-			}
-			catch(BackingStoreException bse) {
-				ApiPlugin.log(bse);
-			}
-		}
-	}
-	
-	/**
-	 * Cancels all of the changes on the page
-	 */
-	public void performCancel() {}
-	
-	/**
-	 * Reverts all of the settings back to their defaults
-	 */
-	public void performDefaults() {
-		String defval = null;
-		for(int i = 0; i < fgAllKeys.length; i++) {
-			defval = fgAllKeys[i].getStoredValue(fLookupOrder, true, fManager);
-			fgAllKeys[i].setStoredValue(fLookupOrder[0], defval, fManager);
-		}
-		updateCombos();
-		fDirty = true;
-	}
-	
-	/**
-	 * Updates all of the registered {@link Combo}s on the page.
-	 * Registration implies that the {@link Combo} control was added to the listing 
-	 * of fCombos
-	 */
-	private void updateCombos() {
-		if (this.fCombo != null) {
-			ControlData data = (ControlData) fCombo.getData();
-			this.fCombo.select(data.getSelection(data.getKey().getStoredValue(fLookupOrder, false, fManager)));
-		}
-	}
-
-	/**
-	 * Disposes the controls from this page
-	 */
-	public void dispose() {
-		fMainComp.getParent().dispose();
-	}
-	
-	/**
-	 * Creates a {@link Label} | {@link Combo} control. The combo is initialized from the given {@link Key}
-	 * @param parent
-	 * @param label
-	 * @param key
-	 */
-	protected Combo createComboControl(Composite parent, String label, Key key) {
-		Label lbl = new Label(parent, SWT.NONE);
-		GridData gd = new GridData(GridData.BEGINNING, GridData.CENTER, true, false);
-		lbl.setLayoutData(gd);
-		lbl.setText(label);
-		Combo combo = new Combo(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
-		gd = new GridData(GridData.END, GridData.CENTER, false, false);
-		ControlData data = new ControlData(key, SEVERITIES); 
-		combo.setData(data);
-		combo.setItems(SEVERITIES);
-		combo.addSelectionListener(selectionlistener);
-		combo.select(data.getSelection(key.getStoredValue(fLookupOrder, false, fManager)));
-		return combo;
-	}
-
-	/**
-	 * Collects the keys that have changed on the page into the specified list
-	 * @param changes the {@link List} to collect changed keys into
-	 */
-	private void collectChanges(IScopeContext context, List changes) {
-		Key key = null;
-		String origval = null,
-			   newval = null;
-		boolean complete = fOldProjectSettings == null;
-		for(int i = 0; i < fgAllKeys.length; i++) {
-			key = fgAllKeys[i];
-			origval = key.getStoredValue(context, null);
-			newval = key.getStoredValue(context, fManager);
-			if(newval == null) {
-				if(origval != null) {
-					changes.add(key);
-				}
-				else if(complete) {
-					key.setStoredValue(context, key.getStoredValue(fLookupOrder, true, fManager), fManager);
-					changes.add(key);
-				}
-			}
-			else if(!newval.equals(origval)) {
-				changes.add(key);
-			}
-		}
-	}
-	
-	public static Key[] getAllKeys() {
-		return fgAllKeys;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiProfilesPreferencePage.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiProfilesPreferencePage.java
deleted file mode 100644
index 26389f6..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ApiProfilesPreferencePage.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.preferences;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.pde.api.tools.internal.ApiProfileManager;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfileManager;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.eclipse.pde.api.tools.ui.internal.ApiToolsLabelProvider;
-import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
-import org.eclipse.pde.api.tools.ui.internal.IApiToolsHelpContextIds;
-import org.eclipse.pde.api.tools.ui.internal.SWTFactory;
-import org.eclipse.pde.api.tools.ui.internal.wizards.ApiProfileWizard;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer;
-
-/**
- * This preference page allows {@link IApiProfile}s to be created/removed/edited
- * @since 1.0.0
- */
-public class ApiProfilesPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	/**
-	 * Override to tell the label provider about uncommitted {@link IApiProfile}s that might have been set to 
-	 * be the new default
-	 */
-	class ProfileLabelProvider extends ApiToolsLabelProvider {
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.pde.api.tools.ui.internal.ApiToolsLabelProvider#isDefaultProfile(java.lang.Object)
-		 */
-		protected boolean isDefaultProfile(Object element) {
-			return isDefault(element);
-		}
-	}
-	
-	private IApiProfileManager manager = ApiPlugin.getDefault().getApiProfileManager();
-
-	private HashSet removed = new HashSet();
-	private CheckboxTableViewer tableviewer = null;
-	private ArrayList backingcollection = new ArrayList();
-	private String newdefault = null;
-	private Button newbutton = null, 
-				   removebutton = null, 
-				   editbutton = null;
-	protected static int rebuildcount = 0;
-	private String origdefault = null;
-	private boolean dirty = false;
-	
-	/**
-	 * The main configuration block for the page
-	 */
-	private ApiProfilesConfigurationBlock block = null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Composite comp = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_BOTH, 0, 0);
-		SWTFactory.createWrapLabel(comp, PreferenceMessages.ApiProfilesPreferencePage_0, 2, 200);
-		SWTFactory.createVerticalSpacer(comp, 1);
-		
-		Composite lcomp = SWTFactory.createComposite(comp, 2, 1, GridData.FILL_BOTH, 0, 0);
-		SWTFactory.createWrapLabel(lcomp, PreferenceMessages.ApiProfilesPreferencePage_1, 2);
-		Table table = new Table(lcomp, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER | SWT.CHECK);
-		table.setLayoutData(new GridData(GridData.FILL_BOTH));
-		tableviewer = new CheckboxTableViewer(table);
-		tableviewer.setLabelProvider(new ProfileLabelProvider());
-		tableviewer.setContentProvider(new ArrayContentProvider());
-		tableviewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				IStructuredSelection ss = (IStructuredSelection) event.getSelection();
-				doEdit((IApiProfile) ss.getFirstElement());
-			}
-		});
-		tableviewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				IApiProfile profile = (IApiProfile) event.getElement();
-				if(event.getChecked()) {
-					tableviewer.setCheckedElements(new Object[] {profile});
-					newdefault = profile.getName();
-				}
-				else {
-					newdefault = null;
-					manager.setDefaultApiProfile(null);
-				}
-				rebuildcount = 0;
-				tableviewer.refresh(true);
-				dirty = true;
-			}
-		});
-		tableviewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				IApiProfile[] state = getCurrentSelection();
-				removebutton.setEnabled(state.length > 0);
-				editbutton.setEnabled(state.length == 1);
-			}
-		});
-		tableviewer.setComparator(new ViewerComparator() {
-			public int compare(Viewer viewer, Object e1, Object e2) {
-				return ((IApiProfile)e1).getName().compareTo(((IApiProfile)e2).getName());
-			}
-		});
-		BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-			public void run() {	
-				backingcollection.addAll(Arrays.asList(manager.getApiProfiles()));
-				tableviewer.setInput(backingcollection);
-			}
-		});
-		Composite bcomp = SWTFactory.createComposite(lcomp, 1, 1, GridData.FILL_VERTICAL | GridData.VERTICAL_ALIGN_BEGINNING, 0, 0);
-		newbutton = SWTFactory.createPushButton(bcomp, PreferenceMessages.ApiProfilesPreferencePage_2, null);
-		newbutton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				ApiProfileWizard wizard = new ApiProfileWizard(null);
-				WizardDialog dialog = new WizardDialog(ApiUIPlugin.getShell(), wizard);
-				if(dialog.open() == IDialogConstants.OK_ID) {
-					IApiProfile profile = wizard.getProfile();
-					if(profile != null) {
-						backingcollection.add(profile);
-						tableviewer.refresh();
-						tableviewer.setSelection(new StructuredSelection(profile), true);
-						dirty = true;
-					}
-				}
-			}
-		});
-		editbutton = SWTFactory.createPushButton(bcomp, PreferenceMessages.ApiProfilesPreferencePage_4, null);
-		editbutton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				doEdit((IApiProfile)getCurrentSelection()[0]);
-			}
-		});
-		editbutton.setEnabled(false);
-		removebutton = SWTFactory.createPushButton(bcomp, PreferenceMessages.ApiProfilesPreferencePage_3, null);
-		removebutton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IApiProfile[] states = getCurrentSelection();
-				for(int i = 0; i < states.length; i++) {
-					if(isDefault(states[i])) {
-						newdefault = null;
-						rebuildcount = 0;
-					}
-					removed.add(states[i].getName());
-				}
-				if(backingcollection.removeAll(Arrays.asList(states))) {
-					dirty = true;
-				}
-				tableviewer.refresh();
-			}
-		});
-		removebutton.setEnabled(false);
-		IApiProfile profile = manager.getDefaultApiProfile();
-		origdefault = newdefault = (profile == null ? null : profile.getName());
-		initialize();
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(comp, IApiToolsHelpContextIds.APIPROFILES_PREF_PAGE);
-
-		block = new ApiProfilesConfigurationBlock((IWorkbenchPreferenceContainer)getContainer());
-		block.createControl(comp, this);
-		SWTFactory.createVerticalSpacer(parent, 1);
-		return comp;
-	}
-	
-	/**
-	 * Performs the edit operation for the edit button and the double click listener for the table
-	 * @param profile
-	 */
-	protected void doEdit(final IApiProfile profile) {
-		ApiProfileWizard wizard = new ApiProfileWizard(profile);
-		WizardDialog dialog = new WizardDialog(ApiUIPlugin.getShell(), wizard);
-		if(dialog.open() == IDialogConstants.OK_ID) {
-			IApiProfile newprofile = wizard.getProfile();
-			if(newprofile != null) {
-				//clear any pending edit updates
-				removed.add(profile.getName());
-				backingcollection.remove(profile);
-				backingcollection.add(newprofile);
-				tableviewer.refresh();
-				if(isDefault(profile)) {
-					tableviewer.setCheckedElements(new Object[] {newprofile});
-					tableviewer.setSelection(new StructuredSelection(newprofile), true);
-					newdefault = newprofile.getName();
-					rebuildcount = 0;
-					tableviewer.refresh(true);
-				}
-				dirty = true;
-			}
-		}
-	}
-	
-	/**
-	 * updates the buttons on the page
-	 */
-	protected void initialize() {
-		IApiProfile def = ApiPlugin.getDefault().getApiProfileManager().getDefaultApiProfile();
-		if(def != null) {
-			tableviewer.setCheckedElements(new Object[] {def});
-		}
-	}
-	
-	/**
-	 * Returns if the specified {@link IApiProfile} is the default profile or not
-	 * @param element
-	 * @return if the profile is the default or not
-	 */
-	protected boolean isDefault(Object element) {
-		if(element instanceof IApiProfile) {
-			IApiProfile profile = (IApiProfile) element;
-			if(newdefault == null) {
-				IApiProfile def = ApiPlugin.getDefault().getApiProfileManager().getDefaultApiProfile();
-				if(def != null) {
-					return profile.getName().equals(def.getName());
-				}
-			}
-			else {
-				return profile.getName().equals(newdefault);
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * @return the current selection from the table viewer
-	 */
-	protected IApiProfile[] getCurrentSelection() {
-		IStructuredSelection ss = (IStructuredSelection) tableviewer.getSelection();
-		if(ss.isEmpty()) {
-			return new IApiProfile[0];
-		}
-		return (IApiProfile[]) ((IStructuredSelection) tableviewer.getSelection()).toList().toArray(new IApiProfile[ss.size()]);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performCancel()
-	 */
-	public boolean performCancel() {
-		manager.setDefaultApiProfile(origdefault);
-		backingcollection.clear();
-		removed.clear();
-		if(this.block != null) {
-			this.block.performCancel();
-		}
-		return super.performCancel();
-	}
-
-	/**
-	 * Applies the changes from the current change set to the {@link ApiProfileManager}. When done
-	 * the current change set is cleared.
-	 */
-	protected void applyChanges() {
-		if(!dirty) {
-			return;
-		}
-		boolean build = false;
-		//remove 
-		for(Iterator iter = removed.iterator(); iter.hasNext();) {
-			manager.removeApiProfile((String) iter.next());
-		}
-		//add the new / changed ones
-		for(Iterator iter = backingcollection.iterator(); iter.hasNext();) {
-			manager.addApiProfile((IApiProfile) iter.next());
-		}
-		IApiProfile def = ApiPlugin.getDefault().getApiProfileManager().getDefaultApiProfile();
-		if(def != null && !def.getName().equals(newdefault)) {
-			manager.setDefaultApiProfile(newdefault);
-			build = true;
-		}
-		else if(def == null) {
-			manager.setDefaultApiProfile(newdefault);
-			build = true;
-		}
-		if(build) {
-			if(rebuildcount < 1) {
-				rebuildcount++;
-				IProject[] projects = Util.getApiProjects();
-				//don not even ask if there are no projects to build
-				if (projects != null) {
-					if(MessageDialog.openQuestion(getShell(), PreferenceMessages.ApiProfilesPreferencePage_6, PreferenceMessages.ApiProfilesPreferencePage_7)) {
-						Util.getBuildJob(projects).schedule();
-					}
-				}
-			}
-		}
-		origdefault = newdefault;
-		dirty = false;
-		removed.clear();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		this.block.performOK();
-		applyChanges();
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performApply()
-	 */
-	protected void performApply() {
-		this.block.performApply();
-		applyChanges();
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/PreferenceMessages.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/PreferenceMessages.java
deleted file mode 100644
index e43feaf..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/PreferenceMessages.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.preferences;
-
-import org.eclipse.osgi.util.NLS;
-
-public class PreferenceMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.pde.api.tools.ui.internal.preferences.preferencemessages"; //$NON-NLS-1$
-	public static String ApiErrorsWarningsConfigurationBlock_0;
-	public static String ApiErrorsWarningsConfigurationBlock_1;
-	public static String ApiErrorsWarningsConfigurationBlock_2;
-	public static String ApiErrorsWarningsConfigurationBlock_API_Leak;
-	public static String ApiErrorsWarningsPreferencePage_0;
-	public static String ApiErrorsWarningsPreferencePage_1;
-	public static String ApiProblemSeveritiesConfigurationBlock_3;
-	public static String ApiProblemSeveritiesNoImplement;
-	public static String ApiProblemSeveritiesNoExtend;
-	public static String ApiProblemSeveritiesNoReference;
-	public static String ApiProblemSeveritiesNoInstanciate;
-	public static String ApiProblemSeveritiesConfigurationBlock_8;
-	public static String ApiProblemSeveritiesConfigurationBlock_9;
-	public static String ApiProfilesPreferencePage_0;
-	public static String ApiProfilesPreferencePage_1;
-	public static String ApiProfilesPreferencePage_2;
-	public static String ApiProfilesPreferencePage_3;
-	public static String ApiProfilesPreferencePage_4;
-	public static String ApiProfilesPreferencePage_5;
-	public static String ApiProfilesPreferencePage_6;
-	public static String ApiProfilesPreferencePage_7;
-	public static String ApiToolingNotificationsBlock_0;
-	public static String ApiToolingNotificationsBlock_1;
-	public static String ApiToolingNotificationsBlock_2;
-	public static String BinaryCompatibilityAPIProfileElement;
-	public static String BinaryCompatibilityAPIComponentElement;
-	public static String BinaryCompatibilityAnnotationElement;
-	public static String BinaryCompatibilityInterfaceElement;
-	public static String BinaryCompatibilityEnumElement;
-	public static String BinaryCompatibilityClassElement;
-	public static String BinaryCompatibilityFieldElement;
-	public static String BinaryCompatibilityMethodElement;
-	public static String BinaryCompatibilityConstructorElement;
-
-	public static String ApiErrorsWarningsConfigurationBlock_error;
-	public static String ApiErrorsWarningsConfigurationBlock_warning;
-	public static String ApiErrorsWarningsConfigurationBlock_ignore;
-	public static String ApiErrorsWarningsConfigurationBlock_error_button;
-	public static String ApiErrorsWarningsConfigurationBlock_warning_button;
-	public static String ApiErrorsWarningsConfigurationBlock_ignore_button;	
-	public static String ApiErrorsWarningsConfigurationBlock_override_tagged_method;
-	
-	public static String ProjectSelectionDialog_title;
-	public static String ProjectSelectionDialog_message;
-	public static String ProjectSelectionDialog_checkbox_text;
-	public static String ApiProfilesConfigurationBlock_options_group_title;
-	public static String ApiProfilesConfigurationBlock_missing_default_api_profile_message;
-
-	public static String API_PROFILE_REMOVED_API_COMPONENT;
-	public static String API_COMPONENT_REMOVED_TYPE;
-	public static String ANNOTATION_ADDED_FIELD;
-	public static String ANNOTATION_ADDED_METHOD;
-	public static String ANNOTATION_ADDED_TYPE_MEMBER;
-	public static String ANNOTATION_ADDED_TYPE_PARAMETER;
-	public static String ANNOTATION_ADDED_CLASS_BOUND;
-	public static String ANNOTATION_ADDED_INTERFACE_BOUND;
-	public static String ANNOTATION_ADDED_INTERFACE_BOUNDS;
-	public static String ANNOTATION_ADDED_METHOD_NO_DEFAULT_VALUE;
-	public static String ANNOTATION_REMOVED_FIELD;
-	public static String ANNOTATION_REMOVED_METHOD_DEFAULT_VALUE;
-	public static String ANNOTATION_REMOVED_METHOD_NO_DEFAULT_VALUE;
-	public static String ANNOTATION_REMOVED_TYPE_MEMBER;
-	public static String ANNOTATION_REMOVED_TYPE_PARAMETERS;
-	public static String ANNOTATION_REMOVED_TYPE_PARAMETER;
-	public static String ANNOTATION_REMOVED_CLASS_BOUND;
-	public static String ANNOTATION_REMOVED_INTERFACE_BOUND;
-	public static String ANNOTATION_REMOVED_INTERFACE_BOUNDS;
-	public static String ANNOTATION_CHANGED_INTERFACE_BOUNDS;
-	public static String ANNOTATION_CHANGED_CLASS_BOUND;
-	public static String ANNOTATION_CHANGED_INTERFACE_BOUND;
-	public static String ANNOTATION_CHANGED_TO_CLASS;
-	public static String ANNOTATION_CHANGED_TO_ENUM;
-	public static String ANNOTATION_CHANGED_TO_INTERFACE;
-	public static String ANNOTATION_CHANGED_CONTRACTED_SUPERINTERFACES_SET;
-	public static String ANNOTATION_CHANGED_RESTRICTIONS;
-	
-	public static String INTERFACE_ADDED_FIELD;
-	public static String INTERFACE_ADDED_METHOD;
-	public static String INTERFACE_ADDED_TYPE_MEMBER;
-	public static String INTERFACE_ADDED_CLASS_BOUND;
-	public static String INTERFACE_ADDED_INTERFACE_BOUND;
-	public static String INTERFACE_ADDED_INTERFACE_BOUNDS;
-	public static String INTERFACE_ADDED_TYPE_PARAMETER;
-	public static String INTERFACE_REMOVED_TYPE_PARAMETER;
-	public static String INTERFACE_REMOVED_TYPE_PARAMETERS;
-	public static String INTERFACE_REMOVED_CLASS_BOUND;
-	public static String INTERFACE_REMOVED_INTERFACE_BOUND;
-	public static String INTERFACE_REMOVED_INTERFACE_BOUNDS;
-	public static String INTERFACE_REMOVED_FIELD;
-	public static String INTERFACE_REMOVED_METHOD;
-	public static String INTERFACE_REMOVED_TYPE_MEMBER;
-	public static String INTERFACE_CHANGED_CLASS_BOUND;
-	public static String INTERFACE_CHANGED_INTERFACE_BOUND;
-	public static String INTERFACE_CHANGED_INTERFACE_BOUNDS;
-	public static String INTERFACE_CHANGED_TO_CLASS;
-	public static String INTERFACE_CHANGED_TO_ENUM;
-	public static String INTERFACE_CHANGED_TO_ANNOTATION;
-	public static String INTERFACE_CHANGED_CONTRACTED_SUPERINTERFACES_SET;
-	public static String INTERFACE_CHANGED_RESTRICTIONS;
-	
-	public static String ENUM_ADDED_FIELD;
-	public static String ENUM_ADDED_METHOD;
-	public static String ENUM_CHANGED_CONTRACTED_SUPERINTERFACES_SET;
-	public static String ENUM_CHANGED_TO_ANNOTATION;
-	public static String ENUM_CHANGED_TO_CLASS;
-	public static String ENUM_CHANGED_TO_INTERFACE;
-	public static String ENUM_CHANGED_RESTRICTIONS;
-	public static String ENUM_REMOVED_FIELD;
-	public static String ENUM_REMOVED_ENUM_CONSTANT;
-	public static String ENUM_REMOVED_METHOD;
-	public static String ENUM_REMOVED_CONSTRUCTOR;
-	public static String ENUM_REMOVED_TYPE_MEMBER;
-	
-	public static String CLASS_ADDED_FIELD;
-	public static String CLASS_ADDED_METHOD;
-	public static String CLASS_ADDED_TYPE_PARAMETER;
-	public static String CLASS_ADDED_CLASS_BOUND;
-	public static String CLASS_ADDED_INTERFACE_BOUND;
-	public static String CLASS_ADDED_INTERFACE_BOUNDS;
-	public static String CLASS_CHANGED_CONTRACTED_SUPERINTERFACES_SET;
-	public static String CLASS_CHANGED_CONTRACTED_SUPERCLASS_SET;
-	public static String CLASS_CHANGED_SUPERCLASS;
-	public static String CLASS_CHANGED_CLASS_BOUND;
-	public static String CLASS_CHANGED_INTERFACE_BOUND;
-	public static String CLASS_CHANGED_NON_ABSTRACT_TO_ABSTRACT;
-	public static String CLASS_CHANGED_NON_FINAL_TO_FINAL;
-	public static String CLASS_CHANGED_TO_ANNOTATION;
-	public static String CLASS_CHANGED_TO_ENUM;
-	public static String CLASS_CHANGED_TO_INTERFACE;
-	public static String CLASS_CHANGED_DECREASE_ACCESS;
-	public static String CLASS_CHANGED_RESTRICTIONS;
-	public static String CLASS_REMOVED_FIELD;
-	public static String CLASS_REMOVED_METHOD;
-	public static String CLASS_REMOVED_CONSTRUCTOR;
-	public static String CLASS_REMOVED_TYPE_MEMBER;
-	public static String CLASS_REMOVED_TYPE_PARAMETER;
-	public static String CLASS_REMOVED_TYPE_PARAMETERS;
-	public static String CLASS_REMOVED_CLASS_BOUND;
-	public static String CLASS_REMOVED_INTERFACE_BOUND;
-	public static String CLASS_REMOVED_INTERFACE_BOUNDS;
-
-	public static String FIELD_ADDED_VALUE;
-	public static String FIELD_CHANGED_TYPE;
-	public static String FIELD_CHANGED_VALUE;
-	public static String FIELD_CHANGED_DECREASE_ACCESS;
-	public static String FIELD_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT;
-	public static String FIELD_CHANGED_NON_FINAL_TO_FINAL;
-	public static String FIELD_CHANGED_STATIC_TO_NON_STATIC;
-	public static String FIELD_CHANGED_NON_STATIC_TO_STATIC;
-	public static String FIELD_REMOVED_VALUE;
-	public static String FIELD_REMOVED_TYPE_ARGUMENTS;
-	
-	public static String METHOD_ADDED_CLASS_BOUND;
-	public static String METHOD_ADDED_INTERFACE_BOUND;
-	public static String METHOD_ADDED_INTERFACE_BOUNDS;
-	public static String METHOD_ADDED_TYPE_PARAMETER;
-	public static String METHOD_CHANGED_CLASS_BOUND;
-	public static String METHOD_CHANGED_INTERFACE_BOUND;
-	public static String METHOD_CHANGED_TYPE_PARAMETER;
-	public static String METHOD_CHANGED_VARARGS_TO_ARRAY;
-	public static String METHOD_CHANGED_DECREASE_ACCESS;
-	public static String METHOD_CHANGED_NON_ABSTRACT_TO_ABSTRACT;
-	public static String METHOD_CHANGED_NON_STATIC_TO_STATIC;
-	public static String METHOD_CHANGED_STATIC_TO_NON_STATIC;
-	public static String METHOD_CHANGED_NON_FINAL_TO_FINAL;
-	public static String METHOD_REMOVED_ANNOTATION_DEFAULT_VALUE;
-	public static String METHOD_REMOVED_TYPE_PARAMETERS;
-	public static String METHOD_REMOVED_TYPE_PARAMETER;
-	public static String METHOD_REMOVED_CLASS_BOUND;
-	public static String METHOD_REMOVED_INTERFACE_BOUND;
-	public static String METHOD_REMOVED_INTERFACE_BOUNDS;
-
-	public static String CONSTRUCTOR_ADDED_CLASS_BOUND;
-	public static String CONSTRUCTOR_ADDED_INTERFACE_BOUND;
-	public static String CONSTRUCTOR_ADDED_INTERFACE_BOUNDS;
-	public static String CONSTRUCTOR_ADDED_TYPE_PARAMETER;
-	public static String CONSTRUCTOR_CHANGED_CLASS_BOUND;
-	public static String CONSTRUCTOR_CHANGED_INTERFACE_BOUND;
-	public static String CONSTRUCTOR_CHANGED_TYPE_PARAMETER;
-	public static String CONSTRUCTOR_CHANGED_VARARGS_TO_ARRAY;
-	public static String CONSTRUCTOR_CHANGED_DECREASE_ACCESS;
-	public static String CONSTRUCTOR_CHANGED_NON_ABSTRACT_TO_ABSTRACT;
-	public static String CONSTRUCTOR_CHANGED_NON_STATIC_TO_STATIC;
-	public static String CONSTRUCTOR_CHANGED_STATIC_TO_NON_STATIC;
-	public static String CONSTRUCTOR_CHANGED_NON_FINAL_TO_FINAL;
-	public static String CONSTRUCTOR_REMOVED_TYPE_PARAMETERS;
-	public static String CONSTRUCTOR_REMOVED_TYPE_PARAMETER;
-	public static String CONSTRUCTOR_REMOVED_CLASS_BOUND;
-	public static String CONSTRUCTOR_REMOVED_INTERFACE_BOUND;
-	public static String CONSTRUCTOR_REMOVED_INTERFACE_BOUNDS;
-
-	public static String VersionManagementReportMissingSinceTag;
-	public static String VersionManagementReportMalformedSinceTags;
-	public static String VersionManagementReportInvalidSinceTagVersion;
-	public static String VersionManagementReportInvalidApiComponentVersion;
-	public static String ApiErrorsWarningsConfigurationBlock_setAllto;
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, PreferenceMessages.class);
-	}
-
-	private PreferenceMessages() {
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ProjectSelectionDialog.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ProjectSelectionDialog.java
deleted file mode 100644
index 02d9572..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/ProjectSelectionDialog.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.preferences;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IJavaModel;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.ui.JavaElementComparator;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jdt.ui.StandardJavaElementContentProvider;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
-import org.eclipse.pde.api.tools.ui.internal.IApiToolsHelpContextIds;
-import org.eclipse.pde.api.tools.ui.internal.SWTFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.SelectionStatusDialog;
-
-/**
- * A dialog for selecting a project to configure project specific settings for
- * 
- * @since 1.0.0
- */
-public class ProjectSelectionDialog extends SelectionStatusDialog {
-
-	class ApiJavaElementContentProvider extends StandardJavaElementContentProvider {
-		public Object[] getChildren(Object element) {
-			if(element instanceof IJavaModel) {
-				IJavaModel model = (IJavaModel) element;
-				HashSet set = new HashSet();
-				try {
-					IJavaProject[] projects = model.getJavaProjects();
-					for(int i = 0; i < projects.length; i++) {
-						if(projects[i].getProject().hasNature(ApiPlugin.NATURE_ID)) {
-							set.add(projects[i]);
-						}
-					}
-				}
-				catch(JavaModelException jme) {
-					//ignore
-				}
-				catch(CoreException ce) {
-					//ignore
-				}
-				return set.toArray();
-			}
-			return super.getChildren(element);
-		}
-	}
-	
-	// the visual selection widget group
-	private TableViewer fTableViewer;
-	private Set fProjectsWithSpecifics;
-
-	// sizing constants
-	private final static int SIZING_SELECTION_WIDGET_HEIGHT= 250;
-	private final static int SIZING_SELECTION_WIDGET_WIDTH= 300;
-	
-	private final static String DIALOG_SETTINGS_SHOW_ALL= "ProjectSelectionDialog.show_all"; //$NON-NLS-1$
-
-	/**
-	 * The filter for the viewer
-	 */
-	private ViewerFilter fFilter;
-
-	/**
-	 * Constructor
-	 * @param parentShell
-	 * @param projectsWithSpecifics
-	 */
-	public ProjectSelectionDialog(Shell parentShell, Set projectsWithSpecifics) {
-		super(parentShell);
-		setTitle(PreferenceMessages.ProjectSelectionDialog_title);
-		setMessage(PreferenceMessages.ProjectSelectionDialog_message); 
-		fProjectsWithSpecifics= projectsWithSpecifics;
-		
-		fFilter= new ViewerFilter() {
-			public boolean select(Viewer viewer, Object parentElement, Object element) {
-				return fProjectsWithSpecifics.contains(element);
-			}
-		};
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		// page group
-		Composite composite= (Composite) super.createDialogArea(parent);
-
-		Font font= parent.getFont();
-		composite.setFont(font);
-
-		createMessageArea(composite);
-
-		fTableViewer = new TableViewer(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				doSelectionChanged(((IStructuredSelection) event.getSelection()).toArray());
-			}
-		});
-		fTableViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-                okPressed();
-			}
-		});
-		GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
-		data.heightHint = SIZING_SELECTION_WIDGET_HEIGHT;
-		data.widthHint = SIZING_SELECTION_WIDGET_WIDTH;
-		fTableViewer.getTable().setLayoutData(data);
-
-		fTableViewer.setLabelProvider(new JavaElementLabelProvider());
-		fTableViewer.setContentProvider(new ApiJavaElementContentProvider());
-		fTableViewer.setComparator(new JavaElementComparator());
-		fTableViewer.getControl().setFont(font);
-
-		Button checkbox = SWTFactory.createCheckButton(composite, PreferenceMessages.ProjectSelectionDialog_checkbox_text, null, false, 1);
-		checkbox.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				updateFilter(((Button) e.widget).getSelection());
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-				updateFilter(((Button) e.widget).getSelection());
-			}
-		});
-		IDialogSettings dialogSettings = ApiUIPlugin.getDefault().getDialogSettings();
-		boolean doFilter= !dialogSettings.getBoolean(DIALOG_SETTINGS_SHOW_ALL) && !fProjectsWithSpecifics.isEmpty();
-		checkbox.setSelection(doFilter);
-		updateFilter(doFilter);
-		
-		IJavaModel input = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot());
-		fTableViewer.setInput(input);
-		
-		doSelectionChanged(new Object[0]);
-		Dialog.applyDialogFont(composite);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, IApiToolsHelpContextIds.APITOOLS_PROJECT_SPECIFIC_SETTINGS_SELECTION_DIALOG);
-		return composite;
-	}
-	
-	/**
-	 * Handles the change in selection of the viewer and updates the status of the dialog at the same time
-	 * @param objects
-	 */
-	private void doSelectionChanged(Object[] objects) {
-		if (objects.length != 1) {
-			updateStatus(new Status(IStatus.ERROR, ApiUIPlugin.getPluginIdentifier(), "")); //$NON-NLS-1$
-			setSelectionResult(null);
-		} else {
-			updateStatus(new Status(IStatus.OK, ApiUIPlugin.getPluginIdentifier(), ""));  //$NON-NLS-1$
-			setSelectionResult(objects);
-		}
-	}
-	
-	/**
-	 * Updates the viewer filter based on the selection of the 'show project with...' button
-	 * @param selected
-	 */
-	protected void updateFilter(boolean selected) {
-		if (selected) {
-			fTableViewer.addFilter(fFilter);
-		} else {
-			fTableViewer.removeFilter(fFilter);
-		}
-		ApiUIPlugin.getDefault().getDialogSettings().put(DIALOG_SETTINGS_SHOW_ALL, !selected);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.dialogs.SelectionStatusDialog#computeResult()
-	 */
-	protected void computeResult() {}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/preferencemessages.properties b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/preferencemessages.properties
deleted file mode 100644
index 62170d1..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/preferences/preferencemessages.properties
+++ /dev/null
@@ -1,195 +0,0 @@
-ApiErrorsWarningsConfigurationBlock_0=Error and warning settings have changed. A full build is required for the changes to take effect.\n\nDo a full build now?
-ApiErrorsWarningsConfigurationBlock_1=Error and warning settings have changed. A rebuild of the project is required for the changes to take effect.\n\nRebuild {0} now?
-ApiErrorsWarningsConfigurationBlock_2=Settings Changed
-ApiErrorsWarningsConfigurationBlock_API_Leak=Leak a non-API type from an API:
-ApiErrorsWarningsPreferencePage_0=API Tools
-ApiErrorsWarningsPreferencePage_1=<A>Configure Project Specific Settings...</A>
-ApiProblemSeveritiesConfigurationBlock_3=Select the severity level for the following API use options:
-ApiProblemSeveritiesConfigurationBlock_8=Select the severity level for the following API binary compatibility options:
-ApiProblemSeveritiesConfigurationBlock_9=Select the severity level for the following version management options:
-ApiProblemSeveritiesNoImplement=Implementing an interface tagged '@noimplement':
-ApiProblemSeveritiesNoExtend=Extending a type tagged '@noextend':
-ApiProblemSeveritiesNoReference=Referencing a field or method tagged '@noreference':
-ApiProblemSeveritiesNoInstanciate=Instantiating a class tagged '@noinstantiate':
-ApiProfilesPreferencePage_0=Add, remove or edit API profiles. The baseline (checked profile) is used for binary compatibility analysis.
-ApiProfilesPreferencePage_1=&Profiles:
-ApiProfilesPreferencePage_2=Add Pro&file...
-ApiProfilesPreferencePage_3=&Remove...
-ApiProfilesPreferencePage_4=&Edit...
-ApiProfilesPreferencePage_5=&Set As Default
-ApiProfilesPreferencePage_6=Baseline Changed
-ApiProfilesPreferencePage_7=The API baseline has been changed. A full build is required for the changes to take effect.\n\n Do a full build now?
-ApiToolingNotificationsBlock_0=&Usage Restrictions
-ApiToolingNotificationsBlock_1=&Binary Incompatibility
-ApiToolingNotificationsBlock_2=&Version Management
-BinaryCompatibilityAPIProfileElement=API profile
-BinaryCompatibilityAPIComponentElement=Bundle
-BinaryCompatibilityAnnotationElement=Annotation
-BinaryCompatibilityInterfaceElement=Interface
-BinaryCompatibilityClassElement=Class
-BinaryCompatibilityEnumElement=Enum
-BinaryCompatibilityFieldElement=Field
-BinaryCompatibilityMethodElement=Method
-BinaryCompatibilityConstructorElement=Constructor
-ProjectSelectionDialog_title=Project Specific Configuration
-ProjectSelectionDialog_message=&Select the project to configure:
-ProjectSelectionDialog_checkbox_text=Show only &projects with project specific settings
-ApiProfilesConfigurationBlock_options_group_title=Options
-ApiProfilesConfigurationBlock_missing_default_api_profile_message=Mi&ssing API baseline:
-ApiErrorsWarningsConfigurationBlock_setAllto=Set all to:
-
-API_PROFILE_REMOVED_API_COMPONENT=A bundle has been removed:
-API_COMPONENT_REMOVED_TYPE=An API type has been removed:
-ANNOTATION_ADDED_FIELD=A field (annotation not tagged as '@noimplement') has been added:
-ANNOTATION_ADDED_METHOD=A method (annotation not tagged as '@noimplement') has been added:
-ANNOTATION_ADDED_TYPE_MEMBER=A type member (annotation not tagged as '@noimplement') has been added:
-ANNOTATION_REMOVED_FIELD=A field has been removed:
-ANNOTATION_REMOVED_METHOD_DEFAULT_VALUE=A method with a default value has been removed:
-ANNOTATION_REMOVED_METHOD_NO_DEFAULT_VALUE=A method without a default value has been removed:
-ANNOTATION_REMOVED_TYPE_MEMBER=A type member has been removed:
-ANNOTATION_REMOVED_TYPE_PARAMETERS=The type parameters have been removed:
-ANNOTATION_REMOVED_TYPE_PARAMETER=A type parameter has been removed:
-ANNOTATION_REMOVED_CLASS_BOUND=A class bound has been removed:
-ANNOTATION_REMOVED_INTERFACE_BOUND=An interface bound has been removed:
-ANNOTATION_REMOVED_INTERFACE_BOUNDS=The interface bounds have been removed:
-ANNOTATION_CHANGED_INTERFACE_BOUNDS=The interface bounds have been modified:
-ANNOTATION_CHANGED_CLASS_BOUND=A class bound has been modified:
-ANNOTATION_CHANGED_INTERFACE_BOUND=An interface bound has been modified:
-ANNOTATION_CHANGED_TO_CLASS=Converted to a class type:
-ANNOTATION_CHANGED_TO_ENUM=Converted to an enum type:
-ANNOTATION_CHANGED_TO_INTERFACE=Converted to an interface type:
-ANNOTATION_CHANGED_RESTRICTIONS=The restrictions have been modified:
-ANNOTATION_ADDED_TYPE_PARAMETER=A type parameter has been added:
-ANNOTATION_ADDED_CLASS_BOUND=A class bound has been added:
-ANNOTATION_ADDED_INTERFACE_BOUND=An interface bound has been added:
-ANNOTATION_ADDED_INTERFACE_BOUNDS=The interface bounds have been added:
-ANNOTATION_ADDED_METHOD_NO_DEFAULT_VALUE=A method without a default value has been added:
-ANNOTATION_CHANGED_CONTRACTED_SUPERINTERFACES_SET=The superinterfaces hierarchy has been reduced:
-
-INTERFACE_ADDED_FIELD=A field (interface not tagged as '@noimplement') has been added:
-INTERFACE_ADDED_METHOD=A method (interface not tagged as '@noimplement') has been added:
-INTERFACE_ADDED_TYPE_MEMBER=A type member (interface not tagged as '@noimplement') has been added:
-INTERFACE_REMOVED_FIELD=A field has been removed:
-INTERFACE_REMOVED_METHOD=A method has been removed:
-INTERFACE_REMOVED_TYPE_MEMBER=A type member has been removed:
-INTERFACE_REMOVED_TYPE_PARAMETERS=The type parameters have been removed:
-INTERFACE_REMOVED_TYPE_PARAMETER=A type parameter has been removed:
-INTERFACE_REMOVED_CLASS_BOUND=A class bound has been removed:
-INTERFACE_REMOVED_INTERFACE_BOUND=An interface bound has been removed:
-INTERFACE_REMOVED_INTERFACE_BOUNDS=The interface bounds have been removed:
-INTERFACE_CHANGED_INTERFACE_BOUNDS=The interface bounds have been modified:
-INTERFACE_CHANGED_CLASS_BOUND=A class bound has been modified:
-INTERFACE_CHANGED_INTERFACE_BOUND=An interface bound has been modified:
-INTERFACE_CHANGED_TO_CLASS=Converted to a class type:
-INTERFACE_CHANGED_TO_ENUM=Converted to an enum type:
-INTERFACE_CHANGED_TO_ANNOTATION=Converted to an annotation type:
-INTERFACE_ADDED_TYPE_PARAMETER=A type parameter has been added:
-INTERFACE_ADDED_CLASS_BOUND=A class bound has been added:
-INTERFACE_ADDED_INTERFACE_BOUND=An interface bound has been added:
-INTERFACE_ADDED_INTERFACE_BOUNDS=The interface bounds have been removed:
-INTERFACE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=The superinterfaces hierarchy has been reduced:
-INTERFACE_CHANGED_RESTRICTIONS=The restrictions have been modified:
-
-ENUM_ADDED_FIELD=A field (enum not tagged as '@noextend') has been added:
-ENUM_ADDED_METHOD=A method (enum not tagged as '@noextend') has been added:
-ENUM_CHANGED_CONTRACTED_SUPERINTERFACES_SET=The superinterfaces hierarchy has been reduced:
-ENUM_CHANGED_TO_ANNOTATION=Converted to an annotation type:
-ENUM_CHANGED_TO_CLASS=Converted to a class type:
-ENUM_CHANGED_TO_INTERFACE=Converted to an interface type:
-ENUM_CHANGED_RESTRICTIONS=The restrictions have been modified:
-ENUM_REMOVED_FIELD=A field has been removed:
-ENUM_REMOVED_ENUM_CONSTANT=An enum constant has been removed:
-ENUM_REMOVED_METHOD=A method has been removed:
-ENUM_REMOVED_CONSTRUCTOR=A constructor has been removed:
-ENUM_REMOVED_TYPE_MEMBER=A type member has been removed:
-
-CLASS_ADDED_FIELD=A field (class not tagged as '@noextend') has been added:
-CLASS_ADDED_METHOD=A method (class not tagged as '@noextend') has been added:
-CLASS_ADDED_TYPE_PARAMETER=A type parameter has been added:
-CLASS_ADDED_CLASS_BOUND=A class bound has been added:
-CLASS_ADDED_INTERFACE_BOUND=An interface bound has been added:
-CLASS_ADDED_INTERFACE_BOUNDS=The interface bounds have been added:
-CLASS_CHANGED_CONTRACTED_SUPERINTERFACES_SET=The superinterfaces hierarchy has been reduced:
-CLASS_CHANGED_CONTRACTED_SUPERCLASS_SET=The superclass hierarchy has been reduced:
-CLASS_CHANGED_SUPERCLASS=The superclas has been modified:
-CLASS_CHANGED_CLASS_BOUND=A class bound has been modified:
-CLASS_CHANGED_INTERFACE_BOUND=An interface bound has been modified:
-CLASS_CHANGED_NON_ABSTRACT_TO_ABSTRACT=The keyword 'abstract' has been added:
-CLASS_CHANGED_NON_FINAL_TO_FINAL=The keyword 'final' has been added:
-CLASS_CHANGED_TO_ANNOTATION=Converted to an annotation type:
-CLASS_CHANGED_TO_ENUM=Converted to an enum type:
-CLASS_CHANGED_TO_INTERFACE=Converted to an interface type:
-CLASS_CHANGED_DECREASE_ACCESS=The visibility has been reduced:
-CLASS_CHANGED_RESTRICTIONS=The restrictions have been modified:
-CLASS_REMOVED_FIELD=A field has been removed:
-CLASS_REMOVED_METHOD=A method has been removed:
-CLASS_REMOVED_CONSTRUCTOR=A constructor has been removed:
-CLASS_REMOVED_TYPE_MEMBER=A type member has been removed:
-CLASS_REMOVED_TYPE_PARAMETER=A type parameter has been removed:
-CLASS_REMOVED_TYPE_PARAMETERS=the type parameters have been removed:
-CLASS_REMOVED_CLASS_BOUND=A class bound has been removed:
-CLASS_REMOVED_INTERFACE_BOUND=An interface bound has been removed:
-CLASS_REMOVED_INTERFACE_BOUNDS=The interface bounds have been removed:
-
-FIELD_ADDED_VALUE=A constant value has been added:
-FIELD_CHANGED_TYPE=The type has been modified:
-FIELD_CHANGED_VALUE=The constant value has been modified:
-FIELD_CHANGED_DECREASE_ACCESS=The visibility has been reduced:
-FIELD_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=The keyword 'final' has been added for static constant: 
-FIELD_CHANGED_NON_FINAL_TO_FINAL=The keyword 'final' has been removed:
-FIELD_CHANGED_STATIC_TO_NON_STATIC=The keyword 'static' has been removed:
-FIELD_CHANGED_NON_STATIC_TO_STATIC=The keyword 'static' has been added:
-FIELD_REMOVED_VALUE=The constant value has been removed:
-FIELD_REMOVED_TYPE_ARGUMENTS=The type arguments have been removed:
-
-METHOD_ADDED_CLASS_BOUND=A class bound has been added:
-METHOD_ADDED_INTERFACE_BOUND=An interface bound has been added:
-METHOD_ADDED_INTERFACE_BOUNDS=The interface bounds have been added:
-METHOD_ADDED_TYPE_PARAMETER=A type parameters have been added:
-METHOD_CHANGED_CLASS_BOUND=A class bound has been modified:
-METHOD_CHANGED_INTERFACE_BOUND=An interface bound has been modified:
-METHOD_CHANGED_TYPE_PARAMETER=A type parameter has been modified:
-METHOD_CHANGED_VARARGS_TO_ARRAY=Converted variable argument type to array type:
-METHOD_CHANGED_DECREASE_ACCESS=The visibility has been reduced:
-METHOD_CHANGED_NON_ABSTRACT_TO_ABSTRACT=The keyword 'abstract' has been added:
-METHOD_CHANGED_NON_STATIC_TO_STATIC=The keyword 'static' has been added:
-METHOD_CHANGED_STATIC_TO_NON_STATIC=The keyword 'static' has been removed:
-METHOD_CHANGED_NON_FINAL_TO_FINAL=The keyword 'final' has been added (type tagged '@noextend'):
-METHOD_REMOVED_ANNOTATION_DEFAULT_VALUE=The annotation default value has been removed:
-METHOD_REMOVED_TYPE_PARAMETERS=The type parameters have been removed:
-METHOD_REMOVED_TYPE_PARAMETER=A type parameter has been removed:
-METHOD_REMOVED_CLASS_BOUND=A class bound has been removed:
-METHOD_REMOVED_INTERFACE_BOUND=An interface bound has been removed:
-METHOD_REMOVED_INTERFACE_BOUNDS=The interface bounds have been removed:
-
-CONSTRUCTOR_ADDED_CLASS_BOUND=A class bound has been added:
-CONSTRUCTOR_ADDED_INTERFACE_BOUND=An interface bound has been added:
-CONSTRUCTOR_ADDED_INTERFACE_BOUNDS=The interface bounds have been added:
-CONSTRUCTOR_ADDED_TYPE_PARAMETER=The type parameters have been added:
-CONSTRUCTOR_CHANGED_CLASS_BOUND=A class bound has been modified:
-CONSTRUCTOR_CHANGED_INTERFACE_BOUND=An interface bound has been modified:
-CONSTRUCTOR_CHANGED_TYPE_PARAMETER=A type parameter has been modified:
-CONSTRUCTOR_CHANGED_VARARGS_TO_ARRAY=Converted variable argument type to array type:
-CONSTRUCTOR_CHANGED_DECREASE_ACCESS=The visibility has been reduced:
-CONSTRUCTOR_CHANGED_NON_ABSTRACT_TO_ABSTRACT=The keyword 'abstract' has been added:
-CONSTRUCTOR_CHANGED_NON_STATIC_TO_STATIC=The keyword 'static' has been added:
-CONSTRUCTOR_CHANGED_STATIC_TO_NON_STATIC=The keyword 'static' has been removed:
-CONSTRUCTOR_CHANGED_NON_FINAL_TO_FINAL=The keyword 'final' has been added (type not tagged as '@noextend'):
-CONSTRUCTOR_REMOVED_TYPE_PARAMETERS=The type parameters have been removed:
-CONSTRUCTOR_REMOVED_TYPE_PARAMETER=A type parameter has been removed:
-CONSTRUCTOR_REMOVED_CLASS_BOUND=A class bound has been removed:
-CONSTRUCTOR_REMOVED_INTERFACE_BOUND=An interface bound has been removed:
-CONSTRUCTOR_REMOVED_INTERFACE_BOUNDS=The interface bounds have been removed:
-
-ApiErrorsWarningsConfigurationBlock_error=Error
-ApiErrorsWarningsConfigurationBlock_error_button=&Error
-ApiErrorsWarningsConfigurationBlock_warning=Warning
-ApiErrorsWarningsConfigurationBlock_warning_button=&Warning
-ApiErrorsWarningsConfigurationBlock_ignore=Ignore
-ApiErrorsWarningsConfigurationBlock_ignore_button=&Ignore
-ApiErrorsWarningsConfigurationBlock_override_tagged_method=Overriding a method tagged '@noextend':
-
-VersionManagementReportMissingSinceTag=Report missing '@since' tags:
-VersionManagementReportInvalidApiComponentVersion=Report incompatible bundle version:
-VersionManagementReportMalformedSinceTags=Report malformed '@since' tags:
-VersionManagementReportInvalidSinceTagVersion=Report invalid '@since' tag version:
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/properties/ApiErrorsWarningsPropertyPage.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/properties/ApiErrorsWarningsPropertyPage.java
deleted file mode 100644
index 197d459..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/properties/ApiErrorsWarningsPropertyPage.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.properties;
-
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.pde.api.tools.ui.internal.IApiToolsHelpContextIds;
-import org.eclipse.pde.api.tools.ui.internal.SWTFactory;
-import org.eclipse.pde.api.tools.ui.internal.preferences.ApiErrorsWarningsPreferencePage;
-import org.eclipse.pde.api.tools.ui.internal.preferences.ApiErrorsWarningsConfigurationBlock;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.ui.IWorkbenchPropertyPage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer;
-
-/**
- * Provides a property page for projects to allow project specific API tooling 
- * settings to be applied;
- *  
- * @since 1.0.0
- */
-public class ApiErrorsWarningsPropertyPage extends PropertyPage implements IWorkbenchPropertyPage {
-
-	/**
-	 * The data map passed when showing the page
-	 */
-	private HashMap fPageData = null;
-	
-	private	ApiErrorsWarningsConfigurationBlock block = null;
-	private Button pspecific = null;
-	private Link link = null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Composite comp  = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_BOTH, 0, 0);
-		Composite tcomp = SWTFactory.createComposite(comp, 2, 1, GridData.FILL_HORIZONTAL, 0, 0);
-		pspecific = SWTFactory.createCheckButton(tcomp, PropertiesMessages.ApiErrorWarningsPropertyPage_0, null, false, 1);
-		GridData gd = (GridData) pspecific.getLayoutData();
-		gd.horizontalAlignment = GridData.BEGINNING;
-		gd.verticalAlignment = GridData.CENTER;
-		pspecific.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				boolean psp = pspecific.getSelection();
-				block.useProjectSpecificSettings(psp);
-				if(link != null) {
-					link.setEnabled(!psp);
-				}
-			}
-		});
-		
-		if(offerLink()) {
-			link = new Link(tcomp, SWT.NONE);
-			link.setLayoutData(new GridData(GridData.END, GridData.CENTER, true, false));
-			link.setFont(comp.getFont());
-			link.setText(PropertiesMessages.ApiErrorWarningsPropertyPage_1); 
-			link.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					HashMap data = new HashMap();
-					data.put(ApiErrorsWarningsPreferencePage.NO_LINK, Boolean.TRUE);
-					SWTFactory.showPreferencePage("org.eclipse.pde.api.tools.ui.apitools.errorwarnings.prefpage", data); //$NON-NLS-1$
-				};
-			});
-		}
-		//collect project
-		block = new ApiErrorsWarningsConfigurationBlock(getProject(), (IWorkbenchPreferenceContainer)getContainer());
-		block.createControl(comp);
-		
-		boolean ps = block.hasProjectSpecificSettings(getProject());
-		pspecific.setSelection(ps);
-		block.useProjectSpecificSettings(ps);
-		if(link != null) {
-			link.setEnabled(!ps);
-		}
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IApiToolsHelpContextIds.APITOOLS_ERROR_WARNING_PROP_PAGE);
-		return comp;
-	}
-	
-	/**
-	 * @return true if the link should be shown, false otherwise
-	 */
-	private boolean offerLink() {
-		return fPageData == null || !Boolean.TRUE.equals(fPageData.get(ApiErrorsWarningsPreferencePage.NO_LINK));
-	}
-	
-	/**
-	 * @return the backing {@link IProject} for this page or <code>null</code> if there isn't one
-	 */
-	private IProject getProject() {
-		IAdaptable element = getElement();
-		if(element instanceof IJavaProject) {
-			return ((IJavaProject)element).getProject();
-		}
-		if(element instanceof IProject) {
-			return (IProject) element;
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performCancel()
-	 */
-	public boolean performCancel() {
-		block.performCancel();
-		return super.performCancel();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		block.performOK();
-		return super.performOk();
-	}
-	
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		block.performDefaults();
-		super.performDefaults();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performApply()
-	 */
-	protected void performApply() {
-		block.performApply();
-		super.performApply();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.DialogPage#dispose()
-	 */
-	public void dispose() {
-		block.dispose();
-		super.dispose();
-	}
-	
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#applyData(java.lang.Object)
-	 */
-	public void applyData(Object data) {
-		if(data instanceof HashMap) {
-			fPageData = (HashMap) data;
-			link.setVisible(!Boolean.TRUE.equals(fPageData.get(ApiErrorsWarningsPreferencePage.NO_LINK)));
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/properties/ApiFiltersPropertyPage.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/properties/ApiFiltersPropertyPage.java
deleted file mode 100644
index b79d992..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/properties/ApiFiltersPropertyPage.java
+++ /dev/null
@@ -1,346 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.properties;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.pde.api.tools.internal.problems.ApiProblemFactory;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemFilter;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
-import org.eclipse.pde.api.tools.ui.internal.IApiToolsHelpContextIds;
-import org.eclipse.pde.api.tools.ui.internal.SWTFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchPropertyPage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.PropertyPage;
-import org.eclipse.ui.ide.IDE.SharedImages;
-import org.eclipse.ui.model.WorkbenchViewerComparator;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Property page to allow UI edits to the current set of filters for a given project
- * 
- * @since 1.0.0
- */
-public class ApiFiltersPropertyPage extends PropertyPage implements IWorkbenchPropertyPage {
-	
-	/**
-	 * Comparator for the viewer to group filters by {@link IElementDescriptor} type
-	 */
-	class ApiFilterComparator extends WorkbenchViewerComparator {
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ViewerComparator#category(java.lang.Object)
-		 */
-		public int category(Object element) {
-			if(element instanceof IApiProblemFilter) {
-				return (int)((IApiProblemFilter) element).getUnderlyingProblem().getCategory();
-			}
-			return -1;
-		}
-	}
-	
-	/**
-	 * Label provider for the viewer
-	 */
-	class FilterStoreLabelProvider extends LabelProvider {
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object)
-		 */
-		public Image getImage(Object element) {
-			if(element instanceof IApiProblemFilter) {
-				IApiProblemFilter filter = (IApiProblemFilter) element;
-				IApiProblem problem = filter.getUnderlyingProblem();
-				String sid = ApiProblemFactory.getProblemSeverityId(problem);
-				if(sid == null) {
-					return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_INFO_TSK);
-				}
-				int severity = ApiPlugin.getDefault().getSeverityLevel(sid, fProject);
-				switch(severity) {
-					case IMarker.SEVERITY_ERROR: {
-						return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_ERROR_TSK);
-					}
-					case IMarker.SEVERITY_WARNING: {
-						return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_WARN_TSK);
-					}
-					default: {
-						return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_INFO_TSK);
-					}
-				}
-			}
-			if(element instanceof IResource) {
-				IResource resource = (IResource) element;
-				switch(resource.getType()) {
-					case IResource.FILE: {
-						return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
-					}
-					case IResource.FOLDER: {
-						return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
-					}
-					case IResource.PROJECT: {
-						return PlatformUI.getWorkbench().getSharedImages().getImage(SharedImages.IMG_OBJ_PROJECT);
-					}
-				}
-			}
-			return super.getImage(element);
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
-		 */
-		public String getText(Object element) {
-			if(element instanceof IApiProblemFilter) {
-				IApiProblemFilter filter = (IApiProblemFilter) element;
-				return filter.getUnderlyingProblem().getMessage();
-			}
-			if(element instanceof IResource) {
-				IResource resource = (IResource) element;
-				IPath path = resource.getProjectRelativePath();
-				StringBuffer buffer = new StringBuffer();
-				buffer.append(path.removeFileExtension().lastSegment());
-				buffer.append(" ("); //$NON-NLS-1$
-				buffer.append(path.removeLastSegments(1));
-				buffer.append(")"); //$NON-NLS-1$
-				return buffer.toString();
-			}
-			return super.getText(element);
-		}
-	}
-	
-	/**
-	 * Content provider for the tree
-	 */
-	class TreeContentProvider implements ITreeContentProvider {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-		 */
-		public Object[] getChildren(Object parentElement) {
-			if(parentElement instanceof IResource) {
-				try {
-					return getFilterStore().getFilters((IResource) parentElement);
-				} catch (CoreException e) {
-					ApiUIPlugin.log(e);
-				}
-			}
-			return new Object[0];
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-		 */
-		public boolean hasChildren(Object element) {
-			if(element instanceof IApiProblemFilter) {
-				return false;
-			}
-			if(element instanceof IResource) {
-				try {
-					return getFilterStore().getFilters((IResource) element).length > 0;
-				} catch (CoreException e) {
-					ApiUIPlugin.log(e);
-				}
-			}
-			return false;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			if(inputElement instanceof ArrayList) {
-				return ((ArrayList)inputElement).toArray();
-			}
-			return new Object[0];
-		}
-		public Object getParent(Object element) {return null;}
-		public void dispose() {}
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
-	}
-	
-	private TreeViewer fViewer = null;
-	private Button fRemoveButton;
-	private IProject fProject = null;
-	private ArrayList fChangeset = new ArrayList();
-	private ArrayList fInputset = null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Composite comp = SWTFactory.createComposite(parent, 2, 1, GridData.FILL_BOTH);
-		SWTFactory.createWrapLabel(comp, PropertiesMessages.ApiFiltersPropertyPage_55, 2);
-		Tree tree = new Tree(comp, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.widthHint = 275;
-		gd.heightHint = 300;
-		tree.setLayoutData(gd);
-		fViewer = new TreeViewer(tree);
-		fViewer.setAutoExpandLevel(2);
-		fViewer.setContentProvider(new TreeContentProvider());
-		fViewer.setLabelProvider(new FilterStoreLabelProvider());
-		fViewer.setComparator(new ApiFilterComparator());
-		fViewer.addFilter(new ViewerFilter() {
-			public boolean select(Viewer viewer, Object parentElement, Object element) {
-				return !fChangeset.contains(element);
-			}
-		});
-		try {
-			IApiFilterStore store = getFilterStore();
-			if(store != null) {
-				fInputset = new ArrayList(Arrays.asList(store.getResources()));
-				fViewer.setInput(fInputset);
-			}
-		}
-		catch(CoreException e) {
-			ApiUIPlugin.log(e);
-		}
-		fViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				IStructuredSelection ss = (IStructuredSelection) event.getSelection();
-				fRemoveButton.setEnabled(ss.size() > 0);
-			}
-		});
-		fViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				Object o = ((IStructuredSelection)event.getSelection()).getFirstElement();
-				if(fViewer.isExpandable(o)) {
-					fViewer.setExpandedState(o, !fViewer.getExpandedState(o));
-				}
-			}
-		});
-		Composite bcomp = SWTFactory.createComposite(comp, 1, 1, GridData.FILL_VERTICAL, 0, 0);
-		fRemoveButton = SWTFactory.createPushButton(bcomp, PropertiesMessages.ApiFiltersPropertyPage_57, null, SWT.LEFT);
-		fRemoveButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IStructuredSelection ss = (IStructuredSelection) fViewer.getSelection();
-				HashSet deletions = collectDeletions(ss);
-				if(deletions.size() > 0) {
-					fChangeset.addAll(deletions);
-					fViewer.remove(deletions.toArray());
-					fViewer.refresh();
-				}
-			}
-		});
-		fRemoveButton.setEnabled(false);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IApiToolsHelpContextIds.APITOOLS_FILTERS_PROPERTY_PAGE);
-		return comp;
-	}	
-
-	/**
-	 * Collects all of the elements to be deleted
-	 * @param selection
-	 * @return the set of elements to be added to the change set for deletion
-	 */
-	private HashSet collectDeletions(IStructuredSelection selection) {
-		HashSet filters = new HashSet();
-		Object node = null;
-		Object[] children = null;
-		for(Iterator iter = selection.iterator(); iter.hasNext();) {
-			node = iter.next();
-			if(node instanceof IResource) {
-				children = ((TreeContentProvider)fViewer.getContentProvider()).getChildren(node);
-				filters.addAll(Arrays.asList(children));
-				fInputset.remove(node);
-			}
-			else {
-				filters.add(node);
-			}
-		}
-		return filters;
-	}
-	
-	/**
-	 * @return the backing project for this page, or <code>null</code> if this page was 
-	 * somehow opened without a project
-	 */
-	private IProject getProject() {
-		if(fProject == null) {
-			fProject = (IProject) getElement().getAdapter(IProject.class);
-		}
-		return fProject;
-	}
-	
-	/**
-	 * @return the {@link IApiFilterStore} from the backing project
-	 * @throws CoreException
-	 */
-	private IApiFilterStore getFilterStore() throws CoreException {
-		IProject project  = getProject();
-		IApiFilterStore store = null;
-		if(project != null) {
-			IApiComponent component = ApiPlugin.getDefault().getApiProfileManager().getWorkspaceProfile().getApiComponent(project.getName());
-			if(component != null) {
-				return component.getFilterStore();
-			}
-		}
-		return store;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		super.performDefaults();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		try {
-			if(fChangeset.size() > 0) {
-				getFilterStore().removeFilters((IApiProblemFilter[]) fChangeset.toArray(new IApiProblemFilter[fChangeset.size()]));
-				if(MessageDialog.openQuestion(getShell(), PropertiesMessages.ApiFiltersPropertyPage_58, 
-						MessageFormat.format(PropertiesMessages.ApiFiltersPropertyPage_59, new String[] {fProject.getName()}))) {
-					Util.getBuildJob(new IProject[] {fProject}).schedule();
-				}
-			}
-			fChangeset.clear();
-		}
-		catch(CoreException e) {
-			ApiUIPlugin.log(e);
-		}
-		return super.performOk();
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/properties/PropertiesMessages.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/properties/PropertiesMessages.java
deleted file mode 100644
index f17eb32..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/properties/PropertiesMessages.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.properties;
-
-import org.eclipse.osgi.util.NLS;
-
-public class PropertiesMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.pde.api.tools.ui.internal.properties.propertiesmessages"; //$NON-NLS-1$
-	public static String ApiErrorWarningsPropertyPage_0;
-	public static String ApiErrorWarningsPropertyPage_1;
-	public static String ApiFiltersPropertyPage_55;
-	public static String ApiFiltersPropertyPage_57;
-	public static String ApiFiltersPropertyPage_58;
-	public static String ApiFiltersPropertyPage_59;
-	
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, PropertiesMessages.class);
-	}
-
-	private PropertiesMessages() {
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/properties/propertiesmessages.properties b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/properties/propertiesmessages.properties
deleted file mode 100644
index 2fee199..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/properties/propertiesmessages.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-ApiErrorWarningsPropertyPage_0=E&nable Project Specific Settings...
-ApiErrorWarningsPropertyPage_1=<A>Configure Workspace Settings...</A>
-ApiFiltersPropertyPage_55=The following problems are &filtered from the workspace:
-ApiFiltersPropertyPage_57=&Remove...
-ApiFiltersPropertyPage_58=API Problem Filter Changed
-ApiFiltersPropertyPage_59=API problem filtering has been changed. A rebuild of the project is required for the changes to take effect.\n\nRebuild {0} now?
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/stubs/ConverterUI.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/stubs/ConverterUI.java
deleted file mode 100644
index 4b03750..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/stubs/ConverterUI.java
+++ /dev/null
@@ -1,412 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.stubs;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.pde.api.tools.internal.provisional.stubs.Converter;
-import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Widget;
-
-public class ConverterUI extends Dialog {
-
-	static final int ALL_ID = IDialogConstants.CLIENT_ID + 17;
-	static final int ARCHIVE_FILES_ID = IDialogConstants.CLIENT_ID + 13;
-	static final int CLASS_FILES_ID = IDialogConstants.CLIENT_ID + 12;
-	static final String[] COMMAND_LINE_OPTIONS;
-	static final int COMPRESS_ID = IDialogConstants.CLIENT_ID + 14;
-	static final int INPUT_ID = IDialogConstants.CLIENT_ID + 10;
-	static final int KEEP_ALL_ID = IDialogConstants.CLIENT_ID + 7;
-	static final int KEEP_ID = IDialogConstants.CLIENT_ID + 1;
-	static final int KEEP_NONE_ID = IDialogConstants.CLIENT_ID + 8;
-	static final int KEEP_PACKAGE_ID = IDialogConstants.CLIENT_ID + 5;
-	static final int KEEP_PRIVATE_ID = IDialogConstants.CLIENT_ID + 2;
-	static final int KEEP_PROTECTED_ID = IDialogConstants.CLIENT_ID + 3;
-	static final int KEEP_PUBLIC_ID = IDialogConstants.CLIENT_ID + 4;
-	static final int KEEP_SYNTHETIC_ID = IDialogConstants.CLIENT_ID + 6;
-	static final int OUTPUT_ID = IDialogConstants.CLIENT_ID + 9;
-	static final int RECURSE_ID = IDialogConstants.CLIENT_ID + 15;
-	static final int REFS_ID = IDialogConstants.CLIENT_ID + 16;
-	static final int SKIP_RESOURCE_FILES_ID = IDialogConstants.CLIENT_ID + 18;
-
-	static final int VERBOSE_ID = IDialogConstants.CLIENT_ID + 11;
-	static {
-		COMMAND_LINE_OPTIONS = new String[SKIP_RESOURCE_FILES_ID - IDialogConstants.CLIENT_ID];
-		COMMAND_LINE_OPTIONS[KEEP_ID - IDialogConstants.CLIENT_ID - 1] = "keep"; //$NON-NLS-1$
-		COMMAND_LINE_OPTIONS[KEEP_PRIVATE_ID - IDialogConstants.CLIENT_ID - 1] = "private"; //$NON-NLS-1$
-		COMMAND_LINE_OPTIONS[KEEP_PROTECTED_ID - IDialogConstants.CLIENT_ID - 1] = "protected"; //$NON-NLS-1$
-		COMMAND_LINE_OPTIONS[KEEP_PUBLIC_ID - IDialogConstants.CLIENT_ID - 1] = "public"; //$NON-NLS-1$
-		COMMAND_LINE_OPTIONS[KEEP_PACKAGE_ID - IDialogConstants.CLIENT_ID - 1] = "package"; //$NON-NLS-1$
-		COMMAND_LINE_OPTIONS[KEEP_SYNTHETIC_ID - IDialogConstants.CLIENT_ID - 1] = "synthetic"; //$NON-NLS-1$
-		COMMAND_LINE_OPTIONS[KEEP_ALL_ID - IDialogConstants.CLIENT_ID - 1] = "all"; //$NON-NLS-1$
-		COMMAND_LINE_OPTIONS[KEEP_NONE_ID - IDialogConstants.CLIENT_ID - 1] = "none"; //$NON-NLS-1$
-		COMMAND_LINE_OPTIONS[OUTPUT_ID - IDialogConstants.CLIENT_ID - 1] = "-output"; //$NON-NLS-1$
-		COMMAND_LINE_OPTIONS[INPUT_ID - IDialogConstants.CLIENT_ID - 1] = "-input"; //$NON-NLS-1$
-		COMMAND_LINE_OPTIONS[VERBOSE_ID - IDialogConstants.CLIENT_ID - 1] = "-v"; //$NON-NLS-1$
-		COMMAND_LINE_OPTIONS[CLASS_FILES_ID - IDialogConstants.CLIENT_ID - 1] = "-classfiles"; //$NON-NLS-1$
-		COMMAND_LINE_OPTIONS[COMPRESS_ID - IDialogConstants.CLIENT_ID - 1] = "-compress"; //$NON-NLS-1$
-		COMMAND_LINE_OPTIONS[ARCHIVE_FILES_ID - IDialogConstants.CLIENT_ID - 1] = "-archives"; //$NON-NLS-1$
-		COMMAND_LINE_OPTIONS[REFS_ID - IDialogConstants.CLIENT_ID - 1] = "-refs"; //$NON-NLS-1$
-		COMMAND_LINE_OPTIONS[RECURSE_ID - IDialogConstants.CLIENT_ID - 1] = "-s"; //$NON-NLS-1$
-		COMMAND_LINE_OPTIONS[ALL_ID - IDialogConstants.CLIENT_ID - 1] = "-all"; //$NON-NLS-1$
-		COMMAND_LINE_OPTIONS[SKIP_RESOURCE_FILES_ID - IDialogConstants.CLIENT_ID - 1] = "-skipresourcefiles"; //$NON-NLS-1$
-	}
-
-	public static void main(String[] args) {
-		Display display = new Display();
-		Shell shell = new Shell(display, SWT.SHELL_TRIM);
-		ConverterUI instance = new ConverterUI(shell);
-		instance.open();
-		while (!shell.isDisposed()) {
-			if (!display.readAndDispatch())
-				display.sleep();
-		}
-		display.dispose();
-	}
-
-	List commandLine;
-	String input;
-	Text inputText;
-
-	boolean isFileInput;
-	Map options;
-	
-	String output;
-
-	Text outputText;
-
-	String title;
-
-	List widgets;
-
-	public ConverterUI(Shell parent) {
-		super(parent);
-		this.title = Messages.ConverterUI_18;
-		this.widgets = new ArrayList();
-		this.commandLine = new ArrayList();
-		this.options = new HashMap();
-		createDialogArea(parent);
-	}
-
-	void addNewOption(Composite composite, int id, String optionLabel, boolean selection) {
-		Button button = new Button(composite, SWT.CHECK);
-		button.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, true, false));
-		button.setText(optionLabel);
-		button.setSelection(selection);
-		Integer idObject = new Integer(id);
-		button.setData(idObject);
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				buttonPressed(((Integer) event.widget.getData()).intValue());
-			}
-		});
-		this.options.put(idObject, button);
-		this.widgets.add(button);
-	}
-
-	private void addToCommandLine(String argument) {
-		this.commandLine.add(argument);
-	}
-
-	protected void buttonPressed(int buttonId) {
-		switch(buttonId) {
-			case KEEP_PRIVATE_ID :
-			case KEEP_PROTECTED_ID :
-			case KEEP_PUBLIC_ID :
-			case KEEP_PACKAGE_ID :
-			case KEEP_SYNTHETIC_ID :
-			case KEEP_ALL_ID :
-			case KEEP_NONE_ID :
-				
-				break;
-			case OUTPUT_ID :
-				DirectoryDialog directoryDialog = new DirectoryDialog(new Shell(), SWT.PRIMARY_MODAL);
-				String result = directoryDialog.open();
-				this.outputText.setText(result == null ? "" : result); //$NON-NLS-1$
-				this.output = result;
-				this.getShell().setFocus();
-				break;
-			case INPUT_ID :
-				result = null;
-				if (this.isFileInput) {
-					FileDialog fileDialog = new FileDialog(new Shell(), SWT.PRIMARY_MODAL);
-					result = fileDialog.open();
-				} else {
-					directoryDialog = new DirectoryDialog(new Shell(), SWT.PRIMARY_MODAL);
-					result = directoryDialog.open();
-				}
-				this.inputText.setText(result == null ? "" : result); //$NON-NLS-1$
-				this.input = result;
-				this.getShell().setFocus();
-				break;
-			case VERBOSE_ID :
-			case COMPRESS_ID :
-			case RECURSE_ID :
-			case REFS_ID :
-			case SKIP_RESOURCE_FILES_ID :
-			case ALL_ID :
-				String commandLineOption = getCommandLineOptions(buttonId);
-				Button button = (Button) this.options.get(new Integer(buttonId));
-				if (button.getSelection()) {
-					if (!this.commandLine.contains(commandLineOption)) {
-						this.addToCommandLine(commandLineOption);
-					}
-				} else if (this.commandLine.contains(commandLineOption)) {
-					this.removeFromCommandLine(commandLineOption);
-				}
-				break;
-			case CLASS_FILES_ID :
-				commandLineOption = getCommandLineOptions(buttonId);
-				button = (Button) this.options.get(new Integer(buttonId));
-				if (button.getSelection()) {
-					// check if archives option is set
-					Button button2 = (Button) this.options.get(new Integer(ARCHIVE_FILES_ID));
-					if (button2.getSelection()) {
-						this.removeFromCommandLine(getCommandLineOptions(ARCHIVE_FILES_ID));
-						this.removeFromCommandLine(getCommandLineOptions(CLASS_FILES_ID));
-						this.addToCommandLine(getCommandLineOptions(ALL_ID));
-					} else {
-						this.addToCommandLine(getCommandLineOptions(CLASS_FILES_ID));
-					}
-				} else {
-					this.removeFromCommandLine(getCommandLineOptions(CLASS_FILES_ID));
-				}
-				break;
-			case ARCHIVE_FILES_ID :
-				commandLineOption = getCommandLineOptions(buttonId);
-				button = (Button) this.options.get(new Integer(buttonId));
-				if (button.getSelection()) {
-					// check if archives option is set
-					Button button2 = (Button) this.options.get(new Integer(CLASS_FILES_ID));
-					if (button2.getSelection()) {
-						this.removeFromCommandLine(getCommandLineOptions(ARCHIVE_FILES_ID));
-						this.removeFromCommandLine(getCommandLineOptions(CLASS_FILES_ID));
-						this.addToCommandLine(getCommandLineOptions(ALL_ID));
-					} else {
-						this.addToCommandLine(getCommandLineOptions(ARCHIVE_FILES_ID));
-					}
-				} else {
-					this.removeFromCommandLine(getCommandLineOptions(ARCHIVE_FILES_ID));
-				}
-				break;
-			case IDialogConstants.OK_ID :
-				// run button
-				// build up the command line
-				if (this.input != null) {
-					this.addToCommandLine(getCommandLineOptions(INPUT_ID));
-					this.addToCommandLine(this.input);
-				}
-				if (this.output != null) {
-					this.addToCommandLine(getCommandLineOptions(OUTPUT_ID));
-					this.addToCommandLine(this.output);
-				}
-				String[] cmd = new String[this.commandLine.size()];
-				this.commandLine.toArray(cmd);
-				for (int i = 0, max = cmd.length; i < max; i++) {
-					System.out.println(cmd[i]);
-				}
-				try {
-					Converter.main(cmd);
-				} catch (RuntimeException e) {
-					ApiUIPlugin.log(e);
-				}
-			case IDialogConstants.CANCEL_ID :
-				// this is call in case of OK_ID and CANCEL_ID
-				super.buttonPressed(buttonId);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#close()
-	 */
-	public boolean close() {
-		this.dispose();
-		return super.close();
-	}
-
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		if (this.title != null) {
-			shell.setText(this.title);
-		}
-	}
-
-	protected Control createButtonBar(Composite parent) {
-		Composite composite = (Composite) super.createButtonBar(parent);
-		createButton(composite, IDialogConstants.OK_ID, Messages.ConverterUI_21, true);
-		createButton(composite, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-		return composite;
-	}
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		// nothing to do
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = (Composite) super.createDialogArea(parent);
-		// set up the interface
-		parent.setLayout(new GridLayout(2, false));
-		Group inputGroup = new Group(parent, SWT.NORMAL);
-		setInputGroup(inputGroup);
-		inputGroup.setText(Messages.ConverterUI_22);
-		GridData gridData = new GridData(SWT.FILL, SWT.NONE, true, true);
-		gridData.horizontalSpan = 2;
-		inputGroup.setLayoutData(gridData);
-		this.widgets.add(inputGroup);
-		Group outputGroup = new Group(parent, SWT.NORMAL);
-		outputGroup.setText(Messages.ConverterUI_23);
-		setOutputGroup(outputGroup);
-		gridData = new GridData(SWT.FILL, SWT.NONE, true, true);
-		gridData.horizontalSpan = 2;
-		outputGroup.setLayoutData(gridData);
-		this.widgets.add(outputGroup);
-		Group optionsGroup = new Group(parent, SWT.NORMAL);
-		optionsGroup.setText(Messages.ConverterUI_24);
-		setOptionsGroup(optionsGroup);
-		gridData = new GridData(SWT.FILL, SWT.NONE, true, true);
-		gridData.horizontalSpan = 2;
-		optionsGroup.setLayoutData(gridData);
-		this.widgets.add(optionsGroup);
-		return composite;
-	}
-
-	public void dispose() {
-		for (Iterator iterator = this.widgets.iterator(); iterator.hasNext();) {
-			Widget widget = (Widget) iterator.next();
-			widget.dispose();
-		}
-		this.getParentShell().dispose();
-	}
-
-	public String getCommandLineOptions(int id) {
-		return COMMAND_LINE_OPTIONS[id - IDialogConstants.CLIENT_ID - 1];
-	}
-
-	private void removeFromCommandLine(String argument) {
-		this.commandLine.remove(argument);
-	}
-
-	private void setInputGroup(Group group) {
-		GridLayout layout = new GridLayout(3, false);
-		group.setLayout(layout);
-		Label label = new Label(group, SWT.NORMAL);
-		GC gc = new GC(label);
-		gc.setFont(label.getFont());
-		FontMetrics fontMetrics = gc.getFontMetrics();
-		gc.dispose();
-		label.setText(Messages.ConverterUI_25);
-		GridData data = new GridData(SWT.FILL, SWT.NONE, true, false);
-		data.widthHint = convertWidthInCharsToPixels(fontMetrics, 15);
-		label.setLayoutData(data);
-		this.inputText = new Text(group, SWT.SINGLE | SWT.BORDER);
-		data = new GridData(SWT.FILL, SWT.NONE, true, false);
-		data.widthHint = convertWidthInCharsToPixels(fontMetrics, 30);
-		this.inputText.setLayoutData(data);
-		Button button = new Button(group, SWT.PUSH);
-		button.setText(Messages.ConverterUI_26);
-		button.setVisible(true);
-		final Button file = new Button(group, SWT.CHECK);
-		file.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, true, false));
-		file.setText(Messages.ConverterUI_27);
-		file.setSelection(false);
-		this.isFileInput = false;
-		file.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				ConverterUI.this.isFileInput = !ConverterUI.this.isFileInput;
-			}
-		});
-		button.setData(new Integer(INPUT_ID));
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				buttonPressed(((Integer) event.widget.getData()).intValue());
-			}
-		});
-	}
-
-	private void setKeepGroup(Group group) {
-		group.setLayout(new GridLayout(2, true));
-		this.addNewOption(group, KEEP_PRIVATE_ID, Messages.ConverterUI_2, false);
-		this.addNewOption(group, KEEP_PROTECTED_ID, Messages.ConverterUI_1, false);
-		this.addNewOption(group, KEEP_PUBLIC_ID, Messages.ConverterUI_0, false);
-		this.addNewOption(group, KEEP_SYNTHETIC_ID, Messages.ConverterUI_3, false);
-		this.addNewOption(group, KEEP_PACKAGE_ID, Messages.ConverterUI_4, false);
-		this.addNewOption(group, KEEP_ALL_ID, Messages.ConverterUI_5, false);
-		this.addNewOption(group, KEEP_NONE_ID, Messages.ConverterUI_6, false);
-	}
-	
-	private void setOptionsGroup(Group group) {
-		group.setLayout(new GridLayout(2, true));
-		this.addNewOption(group, VERBOSE_ID, Messages.ConverterUI_35, false);
-		this.addNewOption(group, RECURSE_ID, Messages.ConverterUI_36, false);
-		this.addNewOption(group, CLASS_FILES_ID, Messages.ConverterUI_37, false);
-		this.addNewOption(group, ARCHIVE_FILES_ID, Messages.ConverterUI_38, false);
-		this.addNewOption(group, COMPRESS_ID, Messages.ConverterUI_39, false);
-		this.addNewOption(group, REFS_ID, Messages.ConverterUI_40, false);
-		this.addNewOption(group, SKIP_RESOURCE_FILES_ID, Messages.ConverterUI_41, false);
-		this.addNewOption(group, ALL_ID, Messages.ConverterUI_42, false);
-		Group group2 = new Group(group, SWT.NORMAL);
-		group2.setText(Messages.ConverterUI_43);
-		GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
-		gridData.horizontalSpan = 2;
-		setKeepGroup(group2);
-		group2.setLayoutData(gridData);
-	}
-
-	private void setOutputGroup(Group group) {
-		GridLayout layout = new GridLayout(3, false);
-		group.setLayout(layout);
-		Label label = new Label(group, SWT.NORMAL);
-		GC gc = new GC(label);
-		gc.setFont(label.getFont());
-		FontMetrics fontMetrics = gc.getFontMetrics();
-		gc.dispose();
-		label.setText(Messages.ConverterUI_44);
-		GridData data = new GridData(SWT.FILL, SWT.NONE, true, false);
-		data.widthHint = convertWidthInCharsToPixels(fontMetrics, 15);
-		label.setLayoutData(data);
-		this.outputText = new Text(group, SWT.SINGLE | SWT.BORDER);
-		this.outputText.setEditable(true);
-		data = new GridData(SWT.FILL, SWT.NONE, true, false);
-		data.widthHint = convertWidthInCharsToPixels(fontMetrics, 30);
-		this.outputText.setLayoutData(data);
-		Button button = new Button(group, SWT.PUSH);
-		button.setText(Messages.ConverterUI_45);
-		button.setData(new Integer(OUTPUT_ID));
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				buttonPressed(((Integer) event.widget.getData()).intValue());
-			}
-		});
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/stubs/Messages.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/stubs/Messages.java
deleted file mode 100644
index bac67bb..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/stubs/Messages.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.stubs;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.pde.api.tools.ui.internal.stubs.messages"; //$NON-NLS-1$
-	public static String ConverterUI_0;
-	public static String ConverterUI_1;
-	public static String ConverterUI_18;
-	public static String ConverterUI_2;
-	public static String ConverterUI_21;
-	public static String ConverterUI_22;
-	public static String ConverterUI_23;
-	public static String ConverterUI_24;
-	public static String ConverterUI_25;
-	public static String ConverterUI_26;
-	public static String ConverterUI_27;
-	public static String ConverterUI_3;
-	public static String ConverterUI_35;
-	public static String ConverterUI_36;
-	public static String ConverterUI_37;
-	public static String ConverterUI_38;
-	public static String ConverterUI_39;
-	public static String ConverterUI_4;
-	public static String ConverterUI_40;
-	public static String ConverterUI_41;
-	public static String ConverterUI_42;
-	public static String ConverterUI_43;
-	public static String ConverterUI_44;
-	public static String ConverterUI_45;
-	public static String ConverterUI_5;
-	public static String ConverterUI_6;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/stubs/messages.properties b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/stubs/messages.properties
deleted file mode 100644
index a744ef6..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/stubs/messages.properties
+++ /dev/null
@@ -1,36 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-ConverterUI_0=public
-ConverterUI_1=protected
-ConverterUI_18=API stub creator GUI
-ConverterUI_2=private
-ConverterUI_21=Run
-ConverterUI_22=Input
-ConverterUI_23=Output
-ConverterUI_24=Options
-ConverterUI_25=Select input
-ConverterUI_26=Browse
-ConverterUI_27=Select a file
-ConverterUI_3=synthetic
-ConverterUI_35=Verbose
-ConverterUI_36=Recurse
-ConverterUI_37=.class files
-ConverterUI_38=archives (jar/zip)
-ConverterUI_39=compress
-ConverterUI_4=package
-ConverterUI_40=references
-ConverterUI_41=skip resource files
-ConverterUI_42=all
-ConverterUI_43=Keep: 
-ConverterUI_44=Select output
-ConverterUI_45=Browse
-ConverterUI_5=all
-ConverterUI_6=none
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiProfileWizard.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiProfileWizard.java
deleted file mode 100644
index 0f50239..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiProfileWizard.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.wizards;
-
-import java.io.IOException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
-
-/**
- * A wizard to create a new API profile
- * @since 1.0.0
- */
-public class ApiProfileWizard extends Wizard {
-
-	private IApiProfile profile = null;
-	
-	/**
-	 * Constructor
-	 * @param profile
-	 */
-	public ApiProfileWizard(IApiProfile profile) {
-		this.profile = profile;
-		if(profile == null) {
-			setWindowTitle(WizardMessages.ApiProfileWizard_0);
-		}
-		else {
-			setWindowTitle(WizardMessages.ApiProfileWizard_1);
-		}
-		setNeedsProgressMonitor(true);
-	}
-	
-	/**
-	 * @return the current profile in the wizard. The current profile 
-	 * can be <code>null</code> if the wizard has just been opened to create a new API profile
-	 */
-	public IApiProfile getProfile() {
-		return profile;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.Wizard#addPages()
-	 */
-	public void addPages() {
-		addPage(new ApiProfileWizardPage(profile));
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.Wizard#performFinish()
-	 */
-	public boolean performFinish() {
-		try {
-			ApiProfileWizardPage page = (ApiProfileWizardPage) getContainer().getCurrentPage();
-			profile = page.finish();
-			return profile != null;
-		}
-		catch(IOException e) {
-			ApiUIPlugin.log(e);
-		}
-		catch(CoreException e) {
-			ApiUIPlugin.log(e);
-		}
-		return false;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiProfileWizardPage.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiProfileWizardPage.java
deleted file mode 100644
index 6cdf2f4..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiProfileWizardPage.java
+++ /dev/null
@@ -1,483 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.wizards;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.environments.IExecutionEnvironment;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.api.tools.internal.ApiProfileManager;
-import org.eclipse.pde.api.tools.internal.SystemLibraryApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.ui.internal.ApiToolsLabelProvider;
-import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
-import org.eclipse.pde.api.tools.ui.internal.IApiToolsConstants;
-import org.eclipse.pde.api.tools.ui.internal.IApiToolsHelpContextIds;
-import org.eclipse.pde.api.tools.ui.internal.SWTFactory;
-import org.eclipse.pde.internal.core.PluginPathFinder;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * The wizard page allowing a new API profiles to be created
- * or an existing one to be edited
- * @since 1.0.0
- */
-public class ApiProfileWizardPage extends WizardPage {
-	
-	/**
-	 * an EE entry (child of an api component in the viewer)
-	 */
-	public class EEEntry {
-		String name = null;
-		/**
-		 * Constructor
-		 */
-		public EEEntry(String name) {
-			this.name = name;
-		}
-		/* (non-Javadoc)
-		 * @see java.lang.Object#toString()
-		 */
-		public String toString() {
-			return this.name;
-		}
-	}
-	
-	/**
-	 * Content provider for the viewer
-	 */
-	class ContentProvider implements ITreeContentProvider {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-		 */
-		public Object[] getChildren(Object parentElement) {
-			if(parentElement instanceof IApiComponent) {
-				IApiComponent component = (IApiComponent) parentElement;
-				String[] ees = component.getExecutionEnvironments();
-				ArrayList entries = new ArrayList(ees.length);
-				for(int i = 0; i < ees.length; i++) {
-					entries.add(new EEEntry(ees[i]));
-				}
-				return entries.toArray();
-			}
-			return null;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-		 */
-		public boolean hasChildren(Object element) {
-			if(element instanceof IApiComponent) {
-				IApiComponent component = (IApiComponent) element;
-				return component.getExecutionEnvironments().length > 0;
-			}
-			return false;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			if(inputElement instanceof IApiComponent[]) {
-				return (Object[]) inputElement;
-			}
-			return new Object[0];
-		}
-		public void dispose() {}
-		public Object getParent(Object element) {return null;}
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
-	}
-	
-	/**
-	 * Resets the baseline contents based on current settings and a location from which
-	 * to read plug-ins.
-	 */
-	class ReloadOperation implements IRunnableWithProgress {
-		private String location, name;
-	
-		/**
-		 * Constructor
-		 * @param platformPath
-		 */
-		public ReloadOperation(String name, String location) {
-			this.location = location;
-			this.name = name;
-		}
-			
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.operation.IRunnableWithProgress#run(org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {	
-			monitor.beginTask(WizardMessages.ApiProfileWizardPage_0, 10);
-			URL[] urls = PluginPathFinder.getPluginPaths(location);	
-			monitor.worked(1);
-			fProfile = Factory.newApiProfile(name);
-			SubProgressMonitor subMonitor = new SubProgressMonitor(monitor, 8);
-			subMonitor.beginTask(IApiToolsConstants.EMPTY_STRING, urls.length); 
-			List components = new ArrayList();
-			for (int i = 0; i < urls.length; i++) {
-				try {
-					IApiComponent component = fProfile.newApiComponent(urls[i].getFile());
-					if (component != null) {
-						components.add(component);
-					}
-				} catch (CoreException e) {
-					throw new InvocationTargetException(e);
-				}
-				subMonitor.worked(1);
-			}
-			subMonitor.done();
-			fProfile.addApiComponents((IApiComponent[]) components.toArray(new IApiComponent[components.size()]));
-			monitor.worked(1);
-			monitor.done();
-		}
-	}
-	
-	/**
-	 * Operation that creates a new working copy for an {@link IApiProfile} that is being edited
-	 */
-	class WorkingCopyOperation implements IRunnableWithProgress {
-		
-		IApiProfile original = null, 
-					workingcopy = null;
-		
-		/**
-		 * Constructor
-		 * @param original
-		 */
-		public WorkingCopyOperation(IApiProfile original) {
-			this.original = original;
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.operation.IRunnableWithProgress#run(org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-			try {
-				IApiComponent[] components = original.getApiComponents();
-				IProgressMonitor localmonitor = SubMonitor.convert(monitor, WizardMessages.ApiProfileWizardPage_create_working_copy, components.length + 1);
-				localmonitor.subTask(WizardMessages.ApiProfileWizardPage_copy_profile_attribs);
-				workingcopy = Factory.newApiProfile(original.getName());
-				localmonitor.worked(1);
-				localmonitor.subTask(WizardMessages.ApiProfileWizardPage_copy_api_components);
-				ArrayList comps = new ArrayList();
-				IApiComponent comp = null;
-				for(int i = 0; i < components.length; i++) {
-					comp = workingcopy.newApiComponent(components[i].getLocation());
-					if(comp != null) {
-						comps.add(comp);
-					}
-					localmonitor.worked(1);
-				}
-				workingcopy.addApiComponents((IApiComponent[]) comps.toArray(new IApiComponent[comps.size()]));
-			}
-			catch(CoreException ce) {
-				ApiUIPlugin.log(ce);
-			}
-		}
-		
-		/**
-		 * Returns the newly created {@link IApiProfile} working copy or <code>null</code>
-		 * @return the working copy or <code>null</code>
-		 */
-		public IApiProfile getWorkingCopy() {
-			return workingcopy;
-		}
-	}
-	
-	private IApiProfile fProfile = null;
-	private String originalname = null;
-	
-	/**
-	 * widgets
-	 */
-	private Text nametext = null;
-	private TreeViewer treeviewer = null;
-	private Combo locationcombo = null;
-	private Button browsebutton = null,
-				   reloadbutton = null;
-	/**
-	 * Constructor
-	 * @param profile
-	 */
-	protected ApiProfileWizardPage(IApiProfile profile) {
-		super(WizardMessages.ApiProfileWizardPage_1);
-		this.fProfile = profile;
-		setTitle(WizardMessages.ApiProfileWizardPage_1);
-		if(profile == null) {
-			setMessage(WizardMessages.ApiProfileWizardPage_3);
-		}
-		else {
-			setMessage(WizardMessages.ApiProfileWizardPage_4);
-		}
-		setImageDescriptor(ApiUIPlugin.getImageDescriptor(IApiToolsConstants.IMG_WIZBAN_PROFILE));
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		Composite comp = SWTFactory.createComposite(parent, 4, 1, GridData.FILL_HORIZONTAL);
-		SWTFactory.createWrapLabel(comp, WizardMessages.ApiProfileWizardPage_5, 1);
-		nametext = SWTFactory.createText(comp, SWT.BORDER | SWT.SINGLE, 3, GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL | GridData.BEGINNING);
-		nametext.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				setPageComplete(pageValid());
-			}
-		});
-		
-		IExecutionEnvironment[] envs = JavaRuntime.getExecutionEnvironmentsManager().getExecutionEnvironments();
-		ArrayList items = new ArrayList();
-		for(int i = 0; i < envs.length; i++) {
-			if(envs[i].getCompatibleVMs().length > 0) {
-				items.add(envs[i].getId());
-			}
-		}
-		Collections.sort(items, new Comparator() {
-			public int compare(Object o1, Object o2) {
-				return ((String)o1).compareTo(o2);
-			}
-		});		
-				
-		SWTFactory.createVerticalSpacer(comp, 1);
-		
-		SWTFactory.createWrapLabel(comp, WizardMessages.ApiProfileWizardPage_9, 1);
-		locationcombo = SWTFactory.createCombo(comp, SWT.BORDER | SWT.SINGLE, 1, GridData.GRAB_HORIZONTAL | GridData.FILL_HORIZONTAL | GridData.BEGINNING, null);
-		locationcombo.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				setPageComplete(pageValid());
-				updateButtons();
-			}
-		});
-		browsebutton = SWTFactory.createPushButton(comp, WizardMessages.ApiProfileWizardPage_10, null);
-		browsebutton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				DirectoryDialog dialog = new DirectoryDialog(getShell());
-				dialog.setMessage(WizardMessages.ApiProfileWizardPage_11);
-				String loctext = locationcombo.getText().trim();
-				if (loctext.length() > 0) {
-					dialog.setFilterPath(loctext);
-				}
-				String newPath = dialog.open();
-				if (newPath != null && (!new Path(loctext).equals(new Path(newPath))
-						|| getCurrentComponents().length == 0)) {
-					/*
-					 * If the path is identical, but there is no component loaded, we still
-					 * want to reload. This might be the case if the combo is initialized by
-					 * copy/paste with a path that points to a plugin directory
-					 */
-					locationcombo.setText(newPath);
-					doReload();
-				}
-			}
-		});
-		
-		reloadbutton = SWTFactory.createPushButton(comp, WizardMessages.ApiProfileWizardPage_12, null);
-		reloadbutton.setEnabled(locationcombo.getText().trim().length() > 0);
-		reloadbutton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				doReload();
-			}
-		});
-		
-		SWTFactory.createWrapLabel(comp, WizardMessages.ApiProfileWizardPage_13, 4);
-		Tree tree = new Tree(comp, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.heightHint = 250;
-		gd.horizontalSpan = 4;
-		tree.setLayoutData(gd);
-		treeviewer = new TreeViewer(tree);
-		treeviewer.setLabelProvider(new ApiToolsLabelProvider());
-		treeviewer.setContentProvider(new ContentProvider());
-		treeviewer.setComparator(new ViewerComparator());
-		treeviewer.setInput(getCurrentComponents());
-		treeviewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				updateButtons();
-			}
-		});
-		treeviewer.addFilter(new ViewerFilter() {
-			public boolean select(Viewer viewer, Object parentElement, Object element) {
-				if(element instanceof IApiComponent) {
-					IApiComponent component = (IApiComponent) element;
-					if(component.isSourceComponent() || component.isSystemComponent()) {
-						return false;
-					}
-				}
-				return !(element instanceof SystemLibraryApiComponent);
-			}
-		});
-	
-		setControl(comp);
-		setPageComplete(fProfile != null);
-		initialize();
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(comp, IApiToolsHelpContextIds.APIPROFILES_WIZARD_PAGE);
-	}
-	
-	/**
-	 * Initializes the controls of the page if the profile is not <code>null</code>
-	 */
-	protected void initialize() {
-		if(fProfile != null) {
-			originalname = fProfile.getName();
-			WorkingCopyOperation op = new WorkingCopyOperation(fProfile);
-			try {
-				getContainer().run(false, false, op);
-			} catch (InvocationTargetException e) {
-				ApiUIPlugin.log(e);
-			} catch (InterruptedException e) {
-				ApiUIPlugin.log(e);
-			}
-			fProfile = op.getWorkingCopy();
-			nametext.setText(fProfile.getName());
-			IApiComponent[] components = fProfile.getApiComponents();
-			HashSet locations = new HashSet();
-			IPath location = null;
-			for(int i = 0; i < components.length; i++) {
-				if(!components[i].isSystemComponent()) {
-					location = new Path(components[i].getLocation()).removeLastSegments(1);
-					if(location.toFile().isDirectory()) {
-						locations.add(location.removeTrailingSeparator().toOSString());
-					}
-				}
-			}
-			if(locations.size() > 0) {
-				locationcombo.setItems((String[]) locations.toArray(new String[locations.size()]));
-				locationcombo.select(0);
-			}
-		}		
-	}
-	
-	/**
-	 * Reloads all of the plugins from the location specified in the location text field.
-	 */
-	protected void doReload() {
-		ReloadOperation op = new ReloadOperation(nametext.getText().trim(), locationcombo.getText().trim());
-		try {
-			getContainer().run(true, true, op);
-			treeviewer.setInput(getCurrentComponents());
-			treeviewer.refresh();
-			setPageComplete(pageValid());
-		} 
-		catch (InvocationTargetException ite) {} 
-		catch (InterruptedException ie) {}
-	}
-	
-	/**
-	 * @return if the page is valid, such that it is considered complete and can be 'finished'
-	 */
-	protected boolean pageValid() {
-		setErrorMessage(null);
-		String text = locationcombo.getText().trim();
-		if(text.length() < 1) {
-			setErrorMessage(WizardMessages.ApiProfileWizardPage_23);
-			reloadbutton.setEnabled(false);
-			return false;
-		}
-		if(!new Path(text).toFile().exists()) {
-			setErrorMessage(WizardMessages.ApiProfileWizardPage_24);
-			reloadbutton.setEnabled(false);
-			return false;
-		}
-		text = nametext.getText().trim();
-		if(text.length() < 1) {
-			setErrorMessage(WizardMessages.ApiProfileWizardPage_20);
-			return false;
-		}
-		if(!text.equals(originalname) && ((ApiProfileManager)ApiPlugin.getDefault().getApiProfileManager()).isExistingProfileName(text)) {
-			setErrorMessage(WizardMessages.ApiProfileWizardPage_profile_with_that_name_exists);
-			return false;
-		}
-		if(fProfile != null) {	
-			IStatus status = fProfile.getExecutionEnvironmentStatus();
-			if (status.getSeverity() == IStatus.ERROR) {
-				setErrorMessage(status.getMessage());
-				return false;
-			}
-		}
-		else {
-			setErrorMessage(WizardMessages.ApiProfileWizardPage_location_needs_reset);
-			return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * Returns the current API components in the baseline or an empty collection if none.
-	 * 
-	 * @return the current API components in the baseline or an empty collection if none
-	 */
-	protected IApiComponent[] getCurrentComponents() {
-		if (fProfile != null) {
-			return fProfile.getApiComponents();
-		}
-		return new IApiComponent[0];
-	}
-	
-	/**
-	 * Updates the state of a variety of buttons on this page
-	 */
-	protected void updateButtons() {
-		String loctext = locationcombo.getText().trim();
-		reloadbutton.setEnabled(loctext.length() > 0);
-	}
-	
-	/**
-	 * Creates or edits the profile and returns it
-	 * @return a new {@link IApiProfile} or <code>null</code> if an error was encountered
-	 * creating the new profile
-	 */
-	public IApiProfile finish() throws IOException, CoreException {
-		if(fProfile != null) {
-			fProfile.setName(nametext.getText().trim());
-		}	
-		return fProfile;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiToolingSetupRefactoring.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiToolingSetupRefactoring.java
deleted file mode 100644
index b77248e..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiToolingSetupRefactoring.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.wizards;
-
-import java.util.HashSet;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.CompositeChange;
-import org.eclipse.ltk.core.refactoring.NullChange;
-import org.eclipse.ltk.core.refactoring.Refactoring;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-
-/**
- * A refactoring to change javadoc tags during API tooling setup
- * 
- * @since 1.0.0
- */
-public class ApiToolingSetupRefactoring extends Refactoring {
-	
-	/**
-	 * The current set of changes
-	 */
-	private HashSet fChanges = null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.Refactoring#checkFinalConditions(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public RefactoringStatus checkFinalConditions(IProgressMonitor pm) throws CoreException, OperationCanceledException {
-		if(fChanges == null && fChanges.size() < 1) {
-			return RefactoringStatus.createErrorStatus(WizardMessages.JavadocTagRefactoring_0);
-		}
-		return RefactoringStatus.create(Status.OK_STATUS);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.Refactoring#checkInitialConditions(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public RefactoringStatus checkInitialConditions(IProgressMonitor pm) throws CoreException, OperationCanceledException {
-		return RefactoringStatus.create(Status.OK_STATUS);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.Refactoring#createChange(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {
-		if(fChanges == null) {
-			return new NullChange();
-		}
-		CompositeChange change = new CompositeChange(WizardMessages.JavadocTagRefactoring_1);
-		for(Iterator iter = fChanges.iterator(); iter.hasNext();) {
-			change.add((Change) iter.next());
-		}
-		return change;
-	}
-	
-	public void addChange(Change change) {
-		if(fChanges == null) {
-			fChanges = new HashSet();
-		}
-		fChanges.add(change);
-	}
-	
-	public void resetRefactoring() {
-		if(fChanges != null) {
-			fChanges.clear();
-			fChanges = null;
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.Refactoring#getName()
-	 */
-	public String getName() {
-		return WizardMessages.JavadocTagRefactoring_3;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiToolingSetupWizard.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiToolingSetupWizard.java
deleted file mode 100644
index 354c8ca..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiToolingSetupWizard.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.wizards;
-
-import org.eclipse.ltk.core.refactoring.Refactoring;
-import org.eclipse.ltk.ui.refactoring.RefactoringWizard;
-
-/**
- * Wizard for updating the Javadoc tags of a java project using the component.xml file for the project
- * 
- * @since 1.0.0
- */
-public class ApiToolingSetupWizard extends RefactoringWizard {
-
-	/**
-	 * Constructor
-	 */
-	public ApiToolingSetupWizard(Refactoring refactoring) {
-		super(refactoring, RefactoringWizard.WIZARD_BASED_USER_INTERFACE);
-		setWindowTitle(WizardMessages.UpdateJavadocTagsWizard_0);
-		setNeedsProgressMonitor(true);
-		setChangeCreationCancelable(false);
-		setDefaultPageTitle(WizardMessages.ApiToolingSetupWizard_0);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.ui.refactoring.RefactoringWizard#performFinish()
-	 */
-	public boolean performFinish() {
-		super.performFinish();
-		return ((ApiToolingSetupWizardPage) getStartingPage()).finish();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.ui.refactoring.RefactoringWizard#addUserInputPages()
-	 */
-	protected void addUserInputPages() {
-		addPage(new ApiToolingSetupWizardPage());
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiToolingSetupWizardPage.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiToolingSetupWizardPage.java
deleted file mode 100644
index 474d1a6..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiToolingSetupWizardPage.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.wizards;
-
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerComparator;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.ltk.core.refactoring.CompositeChange;
-import org.eclipse.ltk.core.refactoring.TextFileChange;
-import org.eclipse.ltk.core.refactoring.resource.DeleteResourceChange;
-import org.eclipse.ltk.ui.refactoring.UserInputWizardPage;
-import org.eclipse.pde.api.tools.internal.IApiCoreConstants;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.scanner.ApiDescriptionProcessor;
-import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
-import org.eclipse.pde.api.tools.ui.internal.IApiToolsConstants;
-import org.eclipse.pde.api.tools.ui.internal.IApiToolsHelpContextIds;
-import org.eclipse.pde.api.tools.ui.internal.SWTFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.text.edits.TextEdit;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchSite;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.progress.UIJob;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * The main page for the {@link ApiToolingSetupWizard}
- * 
- * @since 1.0.0
- */
-public class ApiToolingSetupWizardPage extends UserInputWizardPage {
-	
-	private static final String SETTINGS_SECTION = "ApiToolingSetupWizardPage"; //$NON-NLS-1$
-	private static final String SETTINGS_REMOVECXML = "remove_componentxml"; //$NON-NLS-1$
-	
-	private CheckboxTableViewer tableviewer = null;
-	private Button removecxml = null;
-	
-	/**
-	 * Constructor
-	 * @param pageName
-	 */
-	protected ApiToolingSetupWizardPage() {
-		super(WizardMessages.UpdateJavadocTagsWizardPage_4);
-		setTitle(WizardMessages.UpdateJavadocTagsWizardPage_4);
-		setMessage(WizardMessages.UpdateJavadocTagsWizardPage_7);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		Composite comp = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_BOTH);
-		setControl(comp);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(comp, IApiToolsHelpContextIds.API_TOOLING_SETUP_WIZARD_PAGE);
-		SWTFactory.createWrapLabel(comp, WizardMessages.UpdateJavadocTagsWizardPage_6, 1, 100);
-		SWTFactory.createVerticalSpacer(comp, 1);
-		SWTFactory.createWrapLabel(comp, WizardMessages.UpdateJavadocTagsWizardPage_8, 1, 50);
-		Table table = new Table(comp, SWT.CHECK | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint = 150;
-		table.setLayoutData(gd);
-		tableviewer =  new CheckboxTableViewer(table);
-		tableviewer.setLabelProvider(new WorkbenchLabelProvider());
-		tableviewer.setContentProvider(new ArrayContentProvider());
-		tableviewer.setInput(ResourcesPlugin.getWorkspace().getRoot().getProjects());
-		tableviewer.setComparator(new ViewerComparator());
-		tableviewer.addFilter(new ViewerFilter() {
-			public boolean select(Viewer viewer, Object parentElement, Object element) {
-				if(element instanceof IProject) {
-					IProject project  = (IProject) element;
-					try {
-						return (project.hasNature(JavaCore.NATURE_ID) && project.hasNature("org.eclipse.pde.PluginNature"))  //$NON-NLS-1$
-						&& !project.hasNature(ApiPlugin.NATURE_ID);
-					}
-					catch(CoreException ce) {}
-				}
-				return false;
-			}
-		});
-		tableviewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				setPageComplete(pageValid());
-			}
-		});
-		Composite bcomp = SWTFactory.createComposite(comp, 2, 1, GridData.FILL_HORIZONTAL | GridData.END, 0, 0);
-		Button button = SWTFactory.createPushButton(bcomp, WizardMessages.UpdateJavadocTagsWizardPage_10, null);
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				tableviewer.setAllChecked(true);
-				setPageComplete(pageValid());
-			}
-		});
-		button = SWTFactory.createPushButton(bcomp, WizardMessages.UpdateJavadocTagsWizardPage_11, null);
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				tableviewer.setAllChecked(false);
-				setPageComplete(pageValid());
-			}
-		});
-		tableviewer.setCheckedElements(getWorkbenchSelection());
-		setPageComplete(tableviewer.getCheckedElements().length > 0);
-		
-		SWTFactory.createVerticalSpacer(comp, 1);
-		removecxml = SWTFactory.createCheckButton(comp, WizardMessages.ApiToolingSetupWizardPage_0, null, true, 1);
-		
-		IDialogSettings settings = ApiUIPlugin.getDefault().getDialogSettings().getSection(SETTINGS_SECTION);
-		if(settings != null) {
-			removecxml.setSelection(settings.getBoolean(SETTINGS_REMOVECXML));
-		}
-	}
-
-	/**
-	 * @return the current selection from the workbench as an array of objects
-	 */
-	protected Object[] getWorkbenchSelection() {
-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		if(window != null) {
-			IWorkbenchPage page  = window.getActivePage();
-			if(page != null) {
-				IWorkbenchPart part = page.getActivePart();
-				if(part != null) {
-					IWorkbenchSite site = part.getSite();
-					if(site != null) {
-						ISelectionProvider provider = site.getSelectionProvider();
-						if(provider != null) {
-							ISelection selection = provider.getSelection();
-							if(selection instanceof IStructuredSelection) {
-								Object[] jps = ((IStructuredSelection)provider.getSelection()).toArray();
-								ArrayList pjs = new ArrayList();
-								for(int i = 0; i < jps.length; i++) {
-									if(jps[i] instanceof IAdaptable) {
-										IAdaptable adapt = (IAdaptable) jps[i];
-										IProject pj = (IProject) adapt.getAdapter(IProject.class);
-										if(pj != null) {
-											pjs.add(pj);
-										}
-									}
-								}
-								return pjs.toArray();
-							}
-						}
-					}
-				}
-			}
-		}
-		return new Object[0];
-	}
-	
-	/**
-	 * @return if the page is valid or not, this method also sets error messages
-	 */
-	protected boolean pageValid() {
-		if(tableviewer.getCheckedElements().length < 1) {
-			setErrorMessage(WizardMessages.UpdateJavadocTagsWizardPage_12);
-			return false;
-		}
-		setErrorMessage(null);
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.ui.refactoring.UserInputWizardPage#getNextPage()
-	 */
-	public IWizardPage getNextPage() {
-		//always have to collect changes again in the event the user goes back and forth, 
-		//as a change cannot ever have more than one parent - EVER
-		collectChanges();
-		IWizardPage page = super.getNextPage();
-		if (page != null) {
-			page.setDescription(WizardMessages.ApiToolingSetupWizardPage_5);
-		}
-		return page;
-	}
-	
-	/**
-	 * Creates all of the text edit changes collected from the processor. The collected edits are arranged as multi-edits 
-	 * for the one file that they belong to
-	 * @param projectchange
-	 * @param project
-	 * @param cxml
-	 */
-	private void createTagChanges(CompositeChange projectchange, IJavaProject project, File cxml) {
-		try {
-			HashMap map = new HashMap();
-			ApiDescriptionProcessor.collectTagUpdates(project, cxml, map);
-			IFile file = null;
-			TextFileChange change = null;
-			MultiTextEdit multiedit = null;
-			HashSet alledits = null;
-			TextEdit edit = null;
-			for(Iterator iter = map.keySet().iterator(); iter.hasNext();) {
-				file = (IFile) iter.next();
-				change = new TextFileChange(MessageFormat.format(WizardMessages.JavadocTagRefactoring_2, new String[] {file.getName()}), file);
-				multiedit = new MultiTextEdit();
-				change.setEdit(multiedit);
-				alledits = (HashSet)map.get(file);
-				if(alledits != null) {
-					for(Iterator iter2 = alledits.iterator(); iter2.hasNext();) {
-						edit = (TextEdit) iter2.next();
-						multiedit.addChild(edit);
-					}
-				}
-				if(change != null) {
-					projectchange.add(change);
-				}
-			}
-		}
-		catch (CoreException e) {
-			ApiUIPlugin.log(e);
-		} 
-		catch (IOException e) {
-			ApiUIPlugin.log(e);
-		}
-	}
-	
-	/**
-	 * @return the mapping of text edits to the IFile they occur on
-	 */
-	private void collectChanges() {
-		IRunnableWithProgress op = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-				Object[] projects = tableviewer.getCheckedElements();
-				IProject project = null;
-				if(monitor == null) {
-					monitor = new NullProgressMonitor();
-				}
-				monitor.beginTask(IApiToolsConstants.EMPTY_STRING, projects.length);
-				monitor.setTaskName(WizardMessages.ApiToolingSetupWizardPage_7);
-				ApiToolingSetupRefactoring refactoring = (ApiToolingSetupRefactoring) getRefactoring();
-				refactoring.resetRefactoring();
-				boolean remove = removecxml.getSelection();
-				CompositeChange pchange = null;
-				for(int i = 0; i < projects.length; i++) {
-					project = (IProject) projects[i];
-					pchange = new CompositeChange(project.getName());
-					refactoring.addChange(pchange);
-					pchange.add(new ProjectUpdateChange(project));
-					monitor.subTask(MessageFormat.format(WizardMessages.ApiToolingSetupWizardPage_4, new String[] {project.getName()}));
-					IResource cxml = project.findMember(IApiCoreConstants.COMPONENT_XML_NAME);
-					if(cxml != null) {
-						//collect the changes for doc
-						createTagChanges(pchange, JavaCore.create(project), new File(cxml.getLocationURI()));
-						if(remove) {
-							pchange.add(new DeleteResourceChange(cxml.getFullPath(), true));
-						}
-					}
-					if(monitor.isCanceled()) {
-						break;
-					}
-					monitor.worked(1);
-				}
-			}
-		};
-		try {
-			getContainer().run(false, false, op);
-		} catch (InvocationTargetException e) {
-			ApiUIPlugin.log(e);
-		} catch (InterruptedException e) {
-			ApiUIPlugin.log(e);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.ui.refactoring.UserInputWizardPage#performFinish()
-	 */
-	protected boolean performFinish() {
-		collectChanges();
-		return super.performFinish();
-	}
-	
-	/**
-	 * Called by the {@link ApiToolingSetupWizard} when finishing the wizard
-	 * 
-	 * @return true if the page finished normally, false otherwise
-	 */
-	public boolean finish() {
-		IDialogSettings settings = ApiUIPlugin.getDefault().getDialogSettings().addNewSection(SETTINGS_SECTION);
-		settings.put(SETTINGS_REMOVECXML, removecxml.getSelection());
-		notifyNoDefaultProfile();
-		return true;
-	}
-	
-	/**
-	 * Notifies the user that they have no default API profile
-	 */
-	private void notifyNoDefaultProfile() {
-		if(ApiPlugin.getDefault().getApiProfileManager().getDefaultApiProfile() == null) {
-			UIJob job = new UIJob("No default API profile detected")  { //$NON-NLS-1$
-				public IStatus runInUIThread(IProgressMonitor monitor) {
-					boolean doit = MessageDialog.openQuestion(getShell(), WizardMessages.ApiToolingSetupWizardPage_1, WizardMessages.ApiToolingSetupWizardPage_2 +
-					WizardMessages.ApiToolingSetupWizardPage_3);
-					if(doit) {
-						SWTFactory.showPreferencePage(IApiToolsConstants.ID_PROFILES_PREF_PAGE, null);
-					}
-					return Status.OK_STATUS;
-				}
-			};
-			job.setSystem(true);
-			job.schedule();
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ProjectUpdateChange.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ProjectUpdateChange.java
deleted file mode 100644
index 5de6d6e..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ProjectUpdateChange.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.wizards;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.ui.internal.IApiToolsConstants;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Provides a {@link Change} for updating the nature, etc of a project
- * 
- * @since 1.0.0
- */
-public class ProjectUpdateChange extends Change {
-
-	private IProject fProject = null;
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param project the project to configure
-	 */
-	public ProjectUpdateChange(IProject project) {
-		fProject = project;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.Change#getModifiedElement()
-	 */
-	public Object getModifiedElement() {
-		return fProject;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.Change#getName()
-	 */
-	public String getName() {
-		return MessageFormat.format(WizardMessages.ProjectUpdateChange_add_nature_and_builder, new String[] {});
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.Change#initializeValidationData(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void initializeValidationData(IProgressMonitor pm) {}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.Change#isValid(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException, OperationCanceledException {
-		if(fProject.isAccessible()) {
-			return RefactoringStatus.create(Status.OK_STATUS);
-		}
-		return RefactoringStatus.createErrorStatus(MessageFormat.format(WizardMessages.ProjectUpdateChange_project_not_accessible, new String[] {fProject.getName()}));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.Change#perform(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change perform(IProgressMonitor pm) throws CoreException {
-		if(pm == null) {
-			pm = new NullProgressMonitor();
-		}
-		pm.beginTask(IApiToolsConstants.EMPTY_STRING, 1);
-		pm.setTaskName(WizardMessages.ProjectUpdateChange_adding_nature_and_builder);
-		IProjectDescription description = fProject.getDescription();
-		String[] prevNatures = description.getNatureIds();
-		String[] newNatures = new String[prevNatures.length + 1];
-		System.arraycopy(prevNatures, 0, newNatures, 0, prevNatures.length);
-		newNatures[prevNatures.length] = ApiPlugin.NATURE_ID;
-		description.setNatureIds(newNatures);
-		fProject.setDescription(description, pm);
-		if(!pm.isCanceled()) {
-			pm.worked(1);
-		}
-		return null;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/WizardMessages.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/WizardMessages.java
deleted file mode 100644
index 7ad6993..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/WizardMessages.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.wizards;
-
-import org.eclipse.osgi.util.NLS;
-
-public class WizardMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.pde.api.tools.ui.internal.wizards.wizardmessages"; //$NON-NLS-1$
-	public static String ApiProfileWizard_0;
-	public static String ApiProfileWizard_1;
-	public static String ApiProfileWizardPage_0;
-	public static String ApiProfileWizardPage_1;
-	public static String ApiProfileWizardPage_10;
-	public static String ApiProfileWizardPage_11;
-	public static String ApiProfileWizardPage_12;
-	public static String ApiProfileWizardPage_13;
-	public static String ApiProfileWizardPage_20;
-	public static String ApiProfileWizardPage_23;
-	public static String ApiProfileWizardPage_24;
-	public static String ApiProfileWizardPage_3;
-	public static String ApiProfileWizardPage_4;
-	public static String ApiProfileWizardPage_5;
-	public static String ApiProfileWizardPage_9;
-	public static String ApiProfileWizardPage_copy_api_components;
-	public static String ApiProfileWizardPage_copy_profile_attribs;
-	public static String ApiProfileWizardPage_create_working_copy;
-	public static String ApiProfileWizardPage_location_needs_reset;
-	public static String ApiProfileWizardPage_profile_with_that_name_exists;
-	public static String ApiToolingSetupWizard_0;
-	public static String ApiToolingSetupWizardPage_0;
-	public static String ApiToolingSetupWizardPage_1;
-	public static String ApiToolingSetupWizardPage_2;
-	public static String ApiToolingSetupWizardPage_3;
-	public static String ApiToolingSetupWizardPage_4;
-	public static String ApiToolingSetupWizardPage_5;
-	public static String ApiToolingSetupWizardPage_7;
-	public static String JavadocTagRefactoring_0;
-	public static String JavadocTagRefactoring_1;
-	public static String JavadocTagRefactoring_2;
-	public static String JavadocTagRefactoring_3;
-	public static String ProjectUpdateChange_add_nature_and_builder;
-	public static String ProjectUpdateChange_adding_nature_and_builder;
-	public static String ProjectUpdateChange_project_not_accessible;
-	public static String UpdateJavadocTagsWizard_0;
-	public static String UpdateJavadocTagsWizardPage_10;
-	public static String UpdateJavadocTagsWizardPage_11;
-	public static String UpdateJavadocTagsWizardPage_12;
-	public static String UpdateJavadocTagsWizardPage_4;
-	public static String UpdateJavadocTagsWizardPage_6;
-	public static String UpdateJavadocTagsWizardPage_7;
-	public static String UpdateJavadocTagsWizardPage_8;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, WizardMessages.class);
-	}
-
-	private WizardMessages() {
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/AnalyzeCompatibilityAction.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/AnalyzeCompatibilityAction.java
deleted file mode 100644
index 5c9569a..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/AnalyzeCompatibilityAction.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.wizards.analysis;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.internal.ui.editor.plugin.DependenciesPage;
-import org.eclipse.pde.internal.ui.editor.plugin.ManifestEditor;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IActionDelegate2;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.forms.editor.IFormPage;
-
-/**
- * Analyzes compatibility of required bundles
- */
-public class AnalyzeCompatibilityAction implements IEditorActionDelegate, IActionDelegate2 {
-	
-	/**
-	 * Active editor
-	 */
-	private ManifestEditor fEditor;
-
-	/**
-	 * Constructs an action to analyze compatible bundles from other profiles
-	 */
-	public AnalyzeCompatibilityAction() {
-	}
-
-	public void setActiveEditor(IAction action, IEditorPart targetEditor) {
-		if (targetEditor instanceof ManifestEditor) {
-			fEditor = (ManifestEditor) targetEditor;
-		} else {
-			fEditor = null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		IFormPage page = fEditor.getActivePageInstance();
-		if (page instanceof DependenciesPage) {
-			IPluginModelBase model = (IPluginModelBase) ((DependenciesPage)page).getModel();
-			CompatibleVersionsWizard wizard = new CompatibleVersionsWizard(model);
-			WizardDialog dialog = new WizardDialog(ApiUIPlugin.getShell(), wizard);
-			if(dialog.open() == IDialogConstants.OK_ID) {
-				// TODO:
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-
-	public void dispose() {
-		fEditor = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-	 */
-	public void init(IAction action) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action.IAction, org.eclipse.swt.widgets.Event)
-	 */
-	public void runWithEvent(IAction action, Event event) {
-		run(action);
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/CompatibilityResultsPage.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/CompatibilityResultsPage.java
deleted file mode 100644
index d1d29cb..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/CompatibilityResultsPage.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.wizards.analysis;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.jface.dialogs.IPageChangedListener;
-import org.eclipse.jface.dialogs.PageChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.api.tools.internal.builder.ApiUseAnalyzer.CompatibilityResult;
-import org.eclipse.pde.api.tools.internal.provisional.search.IReference;
-import org.eclipse.pde.api.tools.ui.internal.ApiToolsLabelProvider;
-import org.eclipse.pde.api.tools.ui.internal.SWTFactory;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.model.WorkbenchViewerComparator;
-
-/**
- * Displays results of compatibility analysis.
- * 
- * @since 1.0
- */
-public class CompatibilityResultsPage extends WizardPage implements IPageChangedListener {
-	
-	/**
-	 * Viewer
-	 */
-	private CheckboxTreeViewer fViewer;
-	
-	/**
-	 * Content provider for check box tree viewer. Displays each result and
-	 * unresolved references
-	 */
-	private class ContentProvider implements ITreeContentProvider {
-		
-		/**
-		 * Viewer input (workspace API profiles array)
-		 */
-		private Object fInput;
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-		 */
-		public Object[] getChildren(Object parentElement) {
-			if (parentElement instanceof List) {
-				List list = (List) parentElement;
-				return list.toArray();
-			}
-			if (parentElement instanceof CompatibilityResult) {
-				CompatibilityResult result = (CompatibilityResult) parentElement;
-				IReference[] references = result.getUnresolvedReferences();
-				Set unique = new HashSet();
-				for (int i = 0; i < references.length; i++) {
-					unique.add(references[i].getReferencedLocation());
-				}
-				return unique.toArray();
-			}
-			return new Object[0];
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
-		 */
-		public Object getParent(Object element) {
-			if (element instanceof CompatibilityResult) {
-				return fInput; 
-			}
-			return null;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-		 */
-		public boolean hasChildren(Object element) {
-			if (element instanceof CompatibilityResult) {
-				return ((CompatibilityResult)element).getUnresolvedReferences().length > 0;
-			}
-			if (element instanceof List) {
-				return !((List)element).isEmpty();
-			}
-			return false;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return getChildren(inputElement);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-			fInput = null;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-		 */
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			fInput = newInput;
-		}
-		
-	}
-	
-
-	public CompatibilityResultsPage() {
-		super(Messages.CompatibilityResultsPage_0, Messages.CompatibilityResultsPage_1, null);
-		setMessage(Messages.CompatibilityResultsPage_2);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		Composite comp = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_HORIZONTAL);
-		SWTFactory.createWrapLabel(comp, Messages.CompatibilityResultsPage_3, 1);
-		Tree tree = new Tree(comp, SWT.BORDER | SWT.SINGLE | SWT.CHECK );
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint = 300;
-		tree.setLayoutData(gd);
-		fViewer = new CheckboxTreeViewer(tree);
-		fViewer.setLabelProvider(new ApiToolsLabelProvider());
-		fViewer.setComparator(new WorkbenchViewerComparator());
-		fViewer.setContentProvider(new ContentProvider());
-		fViewer.setInput(((CompatibleVersionsWizard)getWizard()).getResults());
-		fViewer.expandAll();
-		setControl(comp);
-		((WizardDialog)getWizard().getContainer()).addPageChangedListener(this);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IPageChangedListener#pageChanged(org.eclipse.jface.dialogs.PageChangedEvent)
-	 */
-	public void pageChanged(PageChangedEvent event) {
-		if (this.equals(event.getSelectedPage())) {
-			fViewer.refresh();
-		}	
-	}
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/CompatibleVersionsWizard.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/CompatibleVersionsWizard.java
deleted file mode 100644
index 59dfd92..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/CompatibleVersionsWizard.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.wizards.analysis;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.pde.api.tools.internal.builder.ApiUseAnalyzer.CompatibilityResult;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.internal.ui.PDEPluginImages;
-
-/**
- * Wizard to determine compatible version range of required bundles.
- * 
- * @since 1.0
- */
-public class CompatibleVersionsWizard extends Wizard {
-	
-	/**
-	 * Plug-in to analyze
-	 */
-	private IPluginModelBase fPlugin;
-	
-	/**
-	 * Results from analysis
-	 */
-	private List fResults = new ArrayList();
-	
-	/**
-	 * Constructs a new wizard to analyze the given plug-in.
-	 * 
-	 * @param plugin plug-in to analyze
-	 */
-	public CompatibleVersionsWizard(IPluginModelBase plugin) {
-		setDefaultPageImageDescriptor(PDEPluginImages.DESC_NEWPPRJ_WIZ);
-		setNeedsProgressMonitor(true);
-		setWindowTitle(Messages.CompatibleVersionsWizard_0);
-		fPlugin = plugin;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.Wizard#addPages()
-	 */
-	public void addPages() {
-		addPage(new SelectBundlesPage());
-		addPage(new CompatibilityResultsPage());
-	}
-
-	/**
-	 * Returns the plug-in being analyzed.
-	 * 
-	 * @return the plug-in being analyzed
-	 */
-	IPluginModelBase getPlugin() {
-		return fPlugin;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.Wizard#canFinish()
-	 */
-	public boolean canFinish() {
-		return getContainer().getCurrentPage() instanceof CompatibilityResultsPage;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.Wizard#performFinish()
-	 */
-	public boolean performFinish() {
-		// TODO Auto-generated method stub
-		return true;
-	}
-	
-	/**
-	 * Sets the results from the analysis.
-	 * 
-	 * @param results
-	 */
-	void setResults(CompatibilityResult[] results) {
-		fResults.clear();
-		if (results != null) {
-			for (int i = 0; i < results.length; i++) {
-				fResults.add(results[i]);
-			}
-		}
-	}
-	
-	/**
-	 * Returns the results from the analysis or <code>null</code> if none.
-	 * 
-	 * @return results or <code>null</code> if none.
-	 */
-	List getResults() {
-		return fResults;
-	}
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/Messages.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/Messages.java
deleted file mode 100644
index fea9afc..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/Messages.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.wizards.analysis;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * 
- */
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.pde.api.tools.ui.internal.wizards.analysis.messages"; //$NON-NLS-1$
-	public static String CompatibilityResultsPage_0;
-	public static String CompatibilityResultsPage_1;
-	public static String CompatibilityResultsPage_2;
-	public static String CompatibilityResultsPage_3;
-	public static String CompatibleVersionsWizard_0;
-	public static String SelectBundlesPage_0;
-	public static String SelectBundlesPage_1;
-	public static String SelectBundlesPage_2;
-	public static String SelectBundlesPage_3;
-	public static String SelectBundlesPage_4;
-	public static String SelectBundlesPage_5;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/SelectBundlesPage.java b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/SelectBundlesPage.java
deleted file mode 100644
index 170f940..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/SelectBundlesPage.java
+++ /dev/null
@@ -1,297 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.ui.internal.wizards.analysis;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.DialogPage;
-import org.eclipse.jface.dialogs.IPageChangingListener;
-import org.eclipse.jface.dialogs.PageChangingEvent;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.api.tools.internal.builder.ApiUseAnalyzer;
-import org.eclipse.pde.api.tools.internal.builder.ApiUseAnalyzer.CompatibilityResult;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.ui.internal.ApiToolsLabelProvider;
-import org.eclipse.pde.api.tools.ui.internal.ApiUIPlugin;
-import org.eclipse.pde.api.tools.ui.internal.SWTFactory;
-import org.eclipse.pde.core.plugin.IPluginImport;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.model.WorkbenchViewerComparator;
-
-/**
- * Page to select bundles to analyze for compatible version range.
- * 
- * @since 1.0
- */
-public class SelectBundlesPage extends WizardPage implements IPageChangingListener {
-	
-	private CheckboxTreeViewer fViewer;
-	
-	/**
-	 * Content provider for check box tree viewer. Displays each profile and
-	 * API components corresponding to imported (required) bundles
-	 */
-	private class ContentProvider implements ITreeContentProvider {
-		
-		/**
-		 * Viewer input (workspace API profiles array)
-		 */
-		private Object fInput;
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-		 */
-		public Object[] getChildren(Object parentElement) {
-			if (parentElement instanceof IApiProfile[]) {
-				return (IApiProfile[])parentElement;
-			}
-			if (parentElement instanceof IApiProfile) {
-				IPluginImport[] imports = getPluginModel().getPluginBase().getImports();
-				String[] ids = new String[imports.length];
-				for (int i = 0; i < imports.length; i++) {
-					ids[i] = imports[i].getId();
-				}
-				final List components = new ArrayList();
-				IApiProfile profile = (IApiProfile) parentElement;
-				for (int i = 0; i < ids.length; i++) {
-					String id = ids[i];
-					IApiComponent component = profile.getApiComponent(id);
-					if (component != null) {
-						components.add(component);
-					}
-				}
-				return (IApiComponent[]) components.toArray(new IApiComponent[components.size()]);
-			}
-			return new Object[0];
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
-		 */
-		public Object getParent(Object element) {
-			if (element instanceof IApiComponent) {
-				return ((IApiComponent)element).getProfile(); 
-			}
-			return fInput;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-		 */
-		public boolean hasChildren(Object element) {
-			if (element instanceof IApiProfile) {
-				return true;
-			}
-			if (element instanceof IApiProfile[]) {
-				return true;
-			}
-			return false;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return getChildren(inputElement);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-			fInput = null;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-		 */
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			fInput = newInput;
-		}
-		
-	}
-
-	/**
-	 * Constructs a new page
-	 */
-	public SelectBundlesPage() {
-		super(Messages.SelectBundlesPage_0, Messages.SelectBundlesPage_1, null);
-		setMessage(Messages.SelectBundlesPage_2);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		Composite comp = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_HORIZONTAL);
-		SWTFactory.createWrapLabel(comp, Messages.SelectBundlesPage_3, 1);
-		Tree tree = new Tree(comp, SWT.BORDER | SWT.SINGLE | SWT.CHECK );
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint = 300;
-		tree.setLayoutData(gd);
-		fViewer = new CheckboxTreeViewer(tree);
-		fViewer.setLabelProvider(new ApiToolsLabelProvider());
-		fViewer.setComparator(new WorkbenchViewerComparator());
-		fViewer.setContentProvider(new ContentProvider());
-		fViewer.setInput(ApiPlugin.getDefault().getApiProfileManager().getApiProfiles());
-		fViewer.expandAll();
-		fViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				Object element = event.getElement();
-				if (element instanceof IApiProfile) {
-					fViewer.setSubtreeChecked(element, event.getChecked());
-				} else if (element instanceof IApiComponent) {
-					IApiComponent component = (IApiComponent) element;
-					ITreeContentProvider provider = (ITreeContentProvider) fViewer.getContentProvider();
-					Object[] children = provider.getChildren(component.getProfile());
-					int count = 0;
-					for (int i = 0; i < children.length; i++) {
-						if (fViewer.getChecked(children[i])) {
-							count++;
-						}	
-					}
-					if (count == 0) {
-						fViewer.setSubtreeChecked(component.getProfile(), false);
-					} else if (count == children.length) {
-						fViewer.setGrayChecked(component.getProfile(), false);
-						fViewer.setSubtreeChecked(component.getProfile(), true);
-					} else {
-						fViewer.setGrayChecked(component.getProfile(), true);
-					}
-				}
-				updatePageComplete();
-			}
-		});
-		Composite buttonComp = SWTFactory.createComposite(comp, 2, 1, GridData.FILL_HORIZONTAL);
-		Button all = SWTFactory.createPushButton(buttonComp, Messages.SelectBundlesPage_4, null);
-		all.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IApiProfile[] profiles = ApiPlugin.getDefault().getApiProfileManager().getApiProfiles();
-				for (int i = 0; i < profiles.length; i++) {
-					fViewer.setSubtreeChecked(profiles[i], true);
-				}
-				updatePageComplete();
-			}
-		});
-		Button none = SWTFactory.createPushButton(buttonComp, Messages.SelectBundlesPage_5, null);
-		none.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IApiProfile[] profiles = ApiPlugin.getDefault().getApiProfileManager().getApiProfiles();
-				for (int i = 0; i < profiles.length; i++) {
-					fViewer.setSubtreeChecked(profiles[i], false);
-				}
-				updatePageComplete();
-			}
-		});
-		setControl(comp);
-		updatePageComplete();
-		((WizardDialog)getWizard().getContainer()).addPageChangingListener(this);
-	}
-	
-	
-	
-	/**
-	 * Returns the plug-in being analyzed.
-	 * 
-	 * @return plug-in being analyzed
-	 */
-	protected IPluginModelBase getPluginModel() {
-		return ((CompatibleVersionsWizard)getWizard()).getPlugin();
-	}
-
-	/** 
-	 * Updates if the page is complete
-	 */
-	protected void updatePageComplete() {
-		Object[] elements = fViewer.getCheckedElements();
-		for (int i = 0; i < elements.length; i++) {
-			Object object = elements[i];
-			if (object instanceof IApiComponent) {
-				setPageComplete(true);
-				return;
-			}
-		}
-		setPageComplete(false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IPageChangingListener#handlePageChanging(org.eclipse.jface.dialogs.PageChangingEvent)
-	 */
-	public void handlePageChanging(PageChangingEvent event) {
-		if (!event.getCurrentPage().equals(this)) {
-			return;
-		}
-		// Do the analysis
-		final List components = new ArrayList();
-		Object[] elements = fViewer.getCheckedElements();
-		for (int i = 0; i < elements.length; i++) {
-			if (elements[i] instanceof IApiComponent) {
-				components.add(elements[i]);
-			}
-		}
-		IRunnableWithProgress runnable = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-				((CompatibleVersionsWizard)getWizard()).setResults(null);
-				ApiUseAnalyzer analyzer = new ApiUseAnalyzer();
-				IApiProfile workspaceProfile = ApiPlugin.getDefault().getApiProfileManager().getWorkspaceProfile();
-				IApiComponent base = workspaceProfile.getApiComponent(getPluginModel().getPluginBase().getId());
-				try {
-					CompatibilityResult[] results = analyzer.analyzeCompatibility(base, (IApiComponent[]) components.toArray(new IApiComponent[components.size()]), monitor);
-					((CompatibleVersionsWizard)getWizard()).setResults(results);
-					if (results == null) {
-						throw new InterruptedException();
-					}
-				} catch (CoreException e) {		
-					throw new InvocationTargetException(e);
-				}
-			}
-		};
-		try {
-			getWizard().getContainer().run(true, true, runnable);
-		} catch (InvocationTargetException e) {
-			Throwable exception = e.getTargetException();
-			if (exception instanceof CoreException) {
-				CoreException ce = (CoreException) e.getTargetException();
-				ApiUIPlugin.log(ce.getStatus());
-				setMessage(ce.getStatus().getMessage(), DialogPage.ERROR);
-			} else {
-				ApiUIPlugin.log(exception);
-				setMessage(exception.getMessage(), DialogPage.ERROR);
-			}
-			event.doit = false;
-		} catch (InterruptedException e) {
-			event.doit = false;
-		}
-		
-	}
-
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/messages.properties b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/messages.properties
deleted file mode 100644
index 9155ee0..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/analysis/messages.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-CompatibilityResultsPage_0=Results
-CompatibilityResultsPage_1=Results
-CompatibilityResultsPage_2=Results of compatibility analysis
-CompatibilityResultsPage_3=&Compatibility results:
-CompatibleVersionsWizard_0=Determine Version Range
-SelectBundlesPage_0=Select Plug-ins
-SelectBundlesPage_1=Select Plug-ins
-SelectBundlesPage_2=Select required plug-in versions to analyze for compatibility
-SelectBundlesPage_3=&Plug-ins available for analysis:
-SelectBundlesPage_4=Select &All
-SelectBundlesPage_5=&Deselect All
diff --git a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/wizardmessages.properties b/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/wizardmessages.properties
deleted file mode 100644
index 5d3547c..0000000
--- a/apitools/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/wizardmessages.properties
+++ /dev/null
@@ -1,53 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-ApiProfileWizard_0=New API Profile
-ApiProfileWizard_1=Edit API Profile
-ApiProfileWizardPage_0=Reading API Profile...
-ApiProfileWizardPage_1=API Profile
-ApiProfileWizardPage_10=&Browse...
-ApiProfileWizardPage_11=Select an Eclipse installation directory:
-ApiProfileWizardPage_12=Rese&t
-ApiProfileWizardPage_13=&Plug-ins/bundles:
-ApiProfileWizardPage_20=Enter a name for this API profile
-ApiProfileWizardPage_23=Enter a directory to scan for plugins
-ApiProfileWizardPage_24=The entered directory path does not exist
-ApiProfileWizardPage_3=Create a new API profile
-ApiProfileWizardPage_4=Edit the API profile
-ApiProfileWizardPage_5=Na&me:
-ApiProfileWizardPage_9=&Location:
-ApiProfileWizardPage_copy_api_components=copying api components...
-ApiProfileWizardPage_copy_profile_attribs=copying profile attributes...
-ApiProfileWizardPage_create_working_copy=Creating profile working copy
-ApiProfileWizardPage_location_needs_reset=The given location needs to be reset
-ApiProfileWizardPage_profile_with_that_name_exists=A profile with that name already exists
-ApiToolingSetupWizard_0=API Tooling Setup
-ApiToolingSetupWizardPage_0=Delete component.xml after &update is complete
-ApiToolingSetupWizardPage_1=No API baseline
-ApiToolingSetupWizardPage_2=The wizard has detected that there is no API baseline set in your workspace.
-ApiToolingSetupWizardPage_3=\n\nAn API baseline is required for API usage and binary compatibility checks. \n\nWould you like to set one now?
-ApiToolingSetupWizardPage_4= {0}...
-ApiToolingSetupWizardPage_5=The following changes are necessary to perform the setup.
-ApiToolingSetupWizardPage_7=Scanning projects for javadoc changes
-JavadocTagRefactoring_0=There are no refactorings to apply
-JavadocTagRefactoring_1=Workspace
-JavadocTagRefactoring_2=Update javadoc tags in {0}
-JavadocTagRefactoring_3=Javadoc Tag Refactoring
-ProjectUpdateChange_add_nature_and_builder=Add API nature and API analysis builder
-ProjectUpdateChange_adding_nature_and_builder=Adding API project nature and builder...
-ProjectUpdateChange_project_not_accessible=The project [{0}] is not accessible
-UpdateJavadocTagsWizard_0=API Tooling Setup
-UpdateJavadocTagsWizardPage_10=&Select All
-UpdateJavadocTagsWizardPage_11=D&eselect All
-UpdateJavadocTagsWizardPage_12=You must select at least one project to update.
-UpdateJavadocTagsWizardPage_4=API Tooling Setup
-UpdateJavadocTagsWizardPage_6=Select the Java projects to update.
-UpdateJavadocTagsWizardPage_7=Configure projects for API usage and binary compatibility checks
-UpdateJavadocTagsWizardPage_8=&Projects:
diff --git a/apitools/org.eclipse.pde.api.tools/.classpath b/apitools/org.eclipse.pde.api.tools/.classpath
deleted file mode 100644
index ef37949..0000000
--- a/apitools/org.eclipse.pde.api.tools/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" output="bin_ant" path="src_ant"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/apitools/org.eclipse.pde.api.tools/.cvsignore b/apitools/org.eclipse.pde.api.tools/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/apitools/org.eclipse.pde.api.tools/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/apitools/org.eclipse.pde.api.tools/.options b/apitools/org.eclipse.pde.api.tools/.options
deleted file mode 100644
index 1ef44a1..0000000
--- a/apitools/org.eclipse.pde.api.tools/.options
+++ /dev/null
@@ -1,32 +0,0 @@
-# Turn on debug tracing for org.eclipse.pde.api.tools plugin
-org.eclipse.pde.api.tools/debug=true
-
-# Reports incremental builder activity : nature of build, indictment process,...
-org.eclipse.pde.api.tools/debug/builder=false
-
-# Print notified binary compatibility deltas
-org.eclipse.pde.api.tools/debug/delta=false
-
-# for the class file visitor
-org.eclipse.pde.api.tools/debug/classfilevisitor=false
-
-# for the search engine
-org.eclipse.pde.api.tools/debug/search=false
-
-# for the descriptor framework
-org.eclipse.pde.api.tools/debug/descriptor/framework=false
-
-# for the tag scanner
-org.eclipse.pde.api.tools/debug/tagscanner=false
-
-# for the plugin workspace component
-org.eclipse.pde.api.tools/debug/pluginworkspacecomponent=false
-
-# for profile manager
-org.eclipse.pde.api.tools/debug/profilemanager=false
-
-# for API profile
-org.eclipse.pde.api.tools/debug/apiprofile=false
-
-# for api filter store
-org.eclipse.pde.api.tools/debug/apifilterstore=false
diff --git a/apitools/org.eclipse.pde.api.tools/.project b/apitools/org.eclipse.pde.api.tools/.project
deleted file mode 100644
index 7b299bb..0000000
--- a/apitools/org.eclipse.pde.api.tools/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.pde.api.tools</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/apitools/org.eclipse.pde.api.tools/.settings/org.eclipse.jdt.core.prefs b/apitools/org.eclipse.pde.api.tools/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index d9e505d..0000000
--- a/apitools/org.eclipse.pde.api.tools/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,68 +0,0 @@
-#Thu Nov 15 11:51:48 CST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/apitools/org.eclipse.pde.api.tools/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools/META-INF/MANIFEST.MF
deleted file mode 100644
index 12c8f63..0000000
--- a/apitools/org.eclipse.pde.api.tools/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,43 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.pde.api.tools;singleton:=true
-Bundle-Version: 0.1.0.qualifier
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.osgi,
- org.eclipse.core.runtime,
- org.eclipse.pde.core,
- org.eclipse.update.configurator,
- org.eclipse.jdt.core,
- org.eclipse.jdt.launching,
- org.eclipse.core.resources,
- org.eclipse.text,
- org.eclipse.core.filebuffers,
- org.eclipse.jdt.ui;bundle-version="3.4.0",
- org.eclipse.ant.core;bundle-version="3.1.300",
- org.objectweb.asm;bundle-version="3.1.0"
-Export-Package: org.eclipse.pde.api.tools.internal;x-friends:="org.eclipse.pde.api.tools.tests,org.eclipse.pde.api.tools.ui",
- org.eclipse.pde.api.tools.internal.builder;x-friends:="org.eclipse.pde.api.tools.ui",
- org.eclipse.pde.api.tools.internal.comparator;x-internal:=true,
- org.eclipse.pde.api.tools.internal.descriptors;x-friends:="org.eclipse.pde.api.tools.tests,org.eclipse.pde.api.tools.ui",
- org.eclipse.pde.api.tools.internal.natures;x-internal:=true,
- org.eclipse.pde.api.tools.internal.problems;x-friends:="org.eclipse.pde.api.tools.ui,org.eclipse.pde.api.tools.tests",
- org.eclipse.pde.api.tools.internal.provisional;x-friends:="org.eclipse.pde.api.tools.tests,org.eclipse.pde.api.tools.ui",
- org.eclipse.pde.api.tools.internal.provisional.builder;x-friends:="org.eclipse.pde.api.tools.tests,org.eclipse.pde.api.tools.ui",
- org.eclipse.pde.api.tools.internal.provisional.comparator;x-friends:="org.eclipse.pde.api.tools.tests,org.eclipse.pde.api.tools.ui",
- org.eclipse.pde.api.tools.internal.provisional.descriptors;x-friends:="org.eclipse.pde.api.tools.tests,org.eclipse.pde.api.tools.ui",
- org.eclipse.pde.api.tools.internal.provisional.problems;x-friends:="org.eclipse.pde.api.tools.ui,org.eclipse.pde.api.tools.tests",
- org.eclipse.pde.api.tools.internal.provisional.scanner;x-friends:="org.eclipse.pde.api.tools.tests,org.eclipse.pde.api.tools.ui",
- org.eclipse.pde.api.tools.internal.provisional.search;x-friends:="org.eclipse.pde.api.tools.tests,org.eclipse.pde.api.tools.ui",
- org.eclipse.pde.api.tools.internal.provisional.stubs;x-friends:="org.eclipse.pde.api.tools.tests,org.eclipse.pde.api.tools.ui",
- org.eclipse.pde.api.tools.internal.search;x-friends:="org.eclipse.pde.api.tools.tests,org.eclipse.pde.api.tools.ui",
- org.eclipse.pde.api.tools.internal.tasks;x-friends:="org.eclipse.pde.api.tools.tests,org.eclipse.pde.api.tools.ui",
- org.eclipse.pde.api.tools.internal.util;x-friends:="org.eclipse.pde.api.tools.tests,org.eclipse.pde.api.tools.ui",
- org.eclipse.pde.api.tools.internal.util.profiles;x-internal:=true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Import-Package: com.ibm.icu.text;version="3.6.1"
-Bundle-Activator: org.eclipse.pde.api.tools.internal.provisional.ApiPlugin
-Eclipse-LazyStart: true
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .
diff --git a/apitools/org.eclipse.pde.api.tools/about.html b/apitools/org.eclipse.pde.api.tools/about.html
deleted file mode 100644
index 4602330..0000000
--- a/apitools/org.eclipse.pde.api.tools/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools/build.properties b/apitools/org.eclipse.pde.api.tools/build.properties
deleted file mode 100644
index 1302012..0000000
--- a/apitools/org.eclipse.pde.api.tools/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = .,\
-               report/,\
-               plugin.properties,\
-               about.html,\
-               META-INF/,\
-               plugin.xml,\
-               lib/apitooling-ant.jar
-jars.extra.classpath=platform:/plugin/org.apache.ant/lib/ant.jar,platform:/plugin/org.objectweb.asm
-jars.compile.order = .,\
-                     lib/apitooling-ant.jar
-source.lib/apitooling-ant.jar = src_ant/
-output.lib/apitooling-ant.jar = bin_ant/
-src.includes = about.html
diff --git a/apitools/org.eclipse.pde.api.tools/buildnotes_api_tools.html b/apitools/org.eclipse.pde.api.tools/buildnotes_api_tools.html
deleted file mode 100644
index 7e34204..0000000
--- a/apitools/org.eclipse.pde.api.tools/buildnotes_api_tools.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]">
-   <title>PDE API Tools Release Notes</title>
-</head>
-<body>
-<h1> Eclipse API Tools Build Notes&nbsp;</h1>
-
-<h2>Summary of API changes</h2>
-<p>None.</p>
-<h2>March 25, 2008</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=223946">Bug 223946</a>: [api tooling] Removing all profiles doesn't trigger a rebuild<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=223845">Bug 223845</a>: Duplicate error for missing API baseline<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=220819">Bug 220819</a>: [api tooling] Improve changes in EE
-
-<h2>March 19, 2008</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=223093">Bug 223093</a>: failing tests in Build N20080317-2000<br>
-
-<h2>March 17, 2008</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=222800">Bug 222800</a>: [api tooling] When fixing invalid @since tags, the quickfix should say "update" and not "add"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=222641">Bug 222641</a>: [api tooling] NPE when performing finish in the profile setup page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=221866">Bug 221866</a>: API profiles pref page polish<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=222625">Bug 222625</a>: [api tooling] NPE trying to create the problem that corresponds to the missing default profile<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=222441">Bug 222441</a>: [api tooling] Add global switch to change binary compatibility options<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=221819">Bug 221819</a>: Improve labels on Binary Incompatibility tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=222508">Bug 222508</a>: problem reporter should not clean problems<br>
-
-<h2>March 12, 2008</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=222277">Bug 222277</a>: [api tooling] VersionNumberingResolution and DefaultApiProfileResolution need their own icons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=221920">Bug 221920</a>: [api tooling] "Unable to resolve method signature" when adding @noreference in a method on the next build
-
-<h2>March 11, 2008</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=221810">Bug 221810</a>: Wording and casing in wizards<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=221817">Bug 221817</a>: Improve labels on Usage Restriction tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=221813">Bug 221813</a>: Adding new profile blocks UI<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=222066">Bug 222066</a>: [api tooling] Failures in N20080310-0010<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=221911">Bug 221911</a>: [api tooling] &#64;reference null is inserted for some internal classes inside API packages<br>
-
-<h2>March 3, 2008</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=220803">Bug 220803</a>: Should have error marker in manifest.mf for bundle version errors
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=220636">Bug 220636</a>: creating a no-op change causes API builder to run for 20 seconds<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=221209">Bug 221209</a>: [api tooling] Setting a default api profile should only rebuild the projects that have the api tooling nature<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=220221">Bug 220221</a>: add version numbers to our external files<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=220730">Bug 220730</a>: No way to get rid of api tooling errors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=220828">Bug 220828</a>: [api tooling] Wrong @since version not detected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=219535">Bug 219535</a>: [api tools] Missing @since tag version should be based on the right bundle version<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=220798">Bug 220798</a>: [api tooling] Quickfix for missing @since tag should not add the tag twice<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=220806">Bug 220806</a>: [api tooling] addition of a protected field inside a class that can be extended should not be flagged as an error<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=220750">Bug 220750</a>: [api tooling] Addition of a type member inside an interface should not be a binary breakage<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=220762">Bug 220762</a>: [api tooling] Should not report a binary breakage on a private method<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=219535">Bug 219535</a>: [api tools] Missing &#64;since tag version should be based on the right bundle version<br>
-
-<h2>February 25, 2008</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=220114">Bug 220114</a>: .api_filters not updated when it becomes empty<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=220017">Bug 220017</a>: IReference should keep unresolved and resolved target locations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=219870">Bug 219870</a>: only write filter file if the project has API nature<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=218208">Bug 218208</a>: markers not cleaned up after replace<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=219451">Bug 219451</a>: illegal implementor error disappears after clean/build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=219662">Bug 219662</a>: [api tooling]  generate a fake ee file for testing purpose<br>
-
-<h2>February 19, 2008</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=219514">Bug 219514</a>: more efficient scoped class file container<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=218715">Bug 218715</a>: persist project API descriptions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=214382">Bug 214382</a>: [api tooling] tag scanner silently fails without class files<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=218073">Bug 218073</a>: [api tooling] &#64;since tag checker should handle inherited doc<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=218585">Bug 218585</a>: [api tooling] Got &quot;&#64;noinstantiate null&quot; while converting org.eclipse.update.configurator.IPlatformConfigurationFactory<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=218976">Bug 218976</a>: [api tooling] No binary breakage should be reported for a protected field change in a final class<br>
-
-<h2>February 12, 2008</h2>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=218712">Link</a>: in from CVS broke workspace profile<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=218217">Bug 218217</a>: &quot;Failed to open archive&quot; adding/deleting projects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=212014">Bug 212014</a>: [api tooling] extending &#64;noextend method not detected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=215089">Bug 215089</a>: [api tooling] &#64;noreference not working on inherited interface method<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=217171">Bug 217171</a>: [api tooling] Workspace profile needs to update after resource changes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=218697">Link</a>: in project API description and API component<br>
-
-  <p>
-    <a href="http://validator.w3.org/check?uri=referer"><img
-        src="http://www.w3.org/Icons/valid-html401"
-        alt="Valid HTML 4.01 Transitional" height="31" width="88"></a>
-  </p>
-</body>
-</html>
diff --git a/apitools/org.eclipse.pde.api.tools/doc/readme.txt b/apitools/org.eclipse.pde.api.tools/doc/readme.txt
deleted file mode 100644
index e4e07fd..0000000
--- a/apitools/org.eclipse.pde.api.tools/doc/readme.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Jan Lohre - APIs are not detected in the old style plug-ins (bug 202258) 
- *******************************************************************************/
-Known issues:
-
-1. Internal class PDEState is used.
-Note also that API information is not going to be resolved for plug-ins that
-use plugn.xml (not manifest.mf) to describe exported packages. (Internally it uses 
-PluginConverter.convertManifest() with the parameter analyseJars set to false.) 
-See bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=202258 for details.
-
-2. PDEState has some synchronization issues which result in workspace plug-ins not being processed.
-To workaround this, at present API tools put all sources into the "target" bucket. 
-However, this means that automatic conflict resolution between workspace bundles and target bundles
-is not available.
-
-3. For re-exported bundles, we don't store resolution information. As a result if several versions 
-of the re-exported bundles are present in the snapshot, one will be picked up randomly.
-
diff --git a/apitools/org.eclipse.pde.api.tools/doc/references.dtd b/apitools/org.eclipse.pde.api.tools/doc/references.dtd
deleted file mode 100644
index 6fd0a84..0000000
--- a/apitools/org.eclipse.pde.api.tools/doc/references.dtd
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE project[
-<!ELEMENT project (class*)>
-<!ELEMENT class (classReference|methodReference|interfaceMethodReference|fieldReference)*>
-<!ELEMENT classReference (sourceClass+)>
-<!ELEMENT methodReference (sourceClass+)>
-<!ELEMENT interfaceMethodReference (sourceClass+)>
-<!ELEMENT fieldReference (sourceClass+)>
-<!ELEMENT sourceClass (#PCDATA)>
-<!ATTLIST project name CDATA #REQUIRED>
-<!ATTLIST class aName CDATA #REQUIRED>
-<!ATTLIST methodReference methodName CDATA #REQUIRED>
-<!ATTLIST methodReference type CDATA #REQUIRED>
-<!ATTLIST methodReference parameters CDATA #IMPLIED>
-<!ATTLIST interfaceMethodReference methodName CDATA #REQUIRED>
-<!ATTLIST interfaceMethodReference type CDATA #REQUIRED>
-<!ATTLIST interfaceMethodReference parameters CDATA #IMPLIED>
-<!ATTLIST fieldReference fieldName CDATA #REQUIRED>
-<!ATTLIST fieldReference fieldType CDATA #REQUIRED>
-<!ATTLIST sourceClass class CDATA #REQUIRED>
-]>
diff --git a/apitools/org.eclipse.pde.api.tools/plugin.properties b/apitools/org.eclipse.pde.api.tools/plugin.properties
deleted file mode 100644
index e29c613..0000000
--- a/apitools/org.eclipse.pde.api.tools/plugin.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = API Tools
-providerName = Eclipse.org
-apitoolBuilderName=API Analysis Builder
-nature_name=API Analysis Nature
-markerApiUsage.name = API Usage Problem
-markerVersionNumbering.name = Version Numbering Problem
-markerBinaryCompatibility.name = Binary Compatibility Problem
-markerApiProfile.name = API Baseline Problem
-apiJavadocTags.name = Javadoc Tag Problem
-markerSinceTags.name = @since tag problem
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools/plugin.xml b/apitools/org.eclipse.pde.api.tools/plugin.xml
deleted file mode 100644
index 3316ead..0000000
--- a/apitools/org.eclipse.pde.api.tools/plugin.xml
+++ /dev/null
@@ -1,118 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-	<!-- ======================================================================== -->
-	<!-- Extension: Builder                                                       -->
-	<!-- ======================================================================== -->
-	<extension
-			id="apiAnalysisBuilder"
-			point="org.eclipse.core.resources.builders"
-			name="%apitoolBuilderName">
-		<builder
-			hasNature="true">
-			<run
-				class="org.eclipse.pde.api.tools.internal.builder.ApiAnalysisBuilder">
-			</run>
-		</builder>
-	</extension>
-
-	<!-- =================================================================================== -->
-	<!-- Extension: API Problem Markers                                                      -->
-	<!-- =================================================================================== -->
-<extension id="org.eclipse.pde.api.tools.binary_compatibility" point="org.eclipse.core.resources.markers" name="%markerBinaryCompatibility.name">
-  <super  type="org.eclipse.core.resources.problemmarker"/>
-  <super type="org.eclipse.core.resources.textmarker"/>
-  <persistent value="true"/>
-  <attribute name="flags"/>
-  <attribute name="kind"/>
-  <attribute name="apiMarkerID"/>
-</extension>
- <extension
-       id="org.eclipse.pde.api.tools.api_usage"
-       name="%markerApiUsage.name"
-       point="org.eclipse.core.resources.markers">
-    <super type="org.eclipse.core.resources.problemmarker"/>
-    <super type="org.eclipse.core.resources.textmarker"/>
-    <persistent value="true"/>
-    <attribute name="kind"/>
-    <attribute name="apiMarkerID"/>
- </extension>
- <extension
-       id="org.eclipse.pde.api.tools.version_numbering"
-       name="%markerVersionNumbering.name"
-       point="org.eclipse.core.resources.markers">
-    <super type="org.eclipse.core.resources.problemmarker"/>
-    <super type="org.eclipse.core.resources.textmarker"/>
-    <persistent value="true"/>
-    <attribute name="kind"/>
-    <attribute name="version"/>
-    <attribute name="apiMarkerID"/>
- </extension>
- <extension
-       id="org.eclipse.pde.api.tools.api_profile"
-       name="%markerApiProfile.name"
-       point="org.eclipse.core.resources.markers">
-    <super type="org.eclipse.core.resources.problemmarker"/>
-    <persistent value="true"/>
-    <attribute name="apiMarkerID"/>
- </extension>
- <extension
-       id="org.eclipse.pde.api.tools.marker.sincetags"
-       name="%markerSinceTags.name"
-       point="org.eclipse.core.resources.markers">
-  <super type="org.eclipse.core.resources.problemmarker"/>
-  <super type="org.eclipse.core.resources.textmarker"/>
-  <persistent value="true"/>
-  <attribute name="version"/>
-  <attribute name="kind"/>
-  <attribute name="apiMarkerID"/>
- </extension>
-	<!-- ================================================================== -->
-	<!-- Extension: API nature                                              -->
-	<!-- ================================================================== -->
- <extension
-       id="apiAnalysisNature"
-       name="%nature_name"
-       point="org.eclipse.core.resources.natures">
-    <runtime>
-       <run
-             class="org.eclipse.pde.api.tools.internal.natures.ApiToolProjectNature">
-       </run>
-    </runtime>
-    <requires-nature
-          id="org.eclipse.jdt.core.javanature">
-    </requires-nature>
-    <requires-nature
-          id="org.eclipse.pde.PluginNature">
-    </requires-nature>
-    <builder
-          id="org.eclipse.pde.api.tools.apiAnalysisBuilder">
-    </builder>
- </extension>
-	<!-- ================================================================== -->
-	<!-- Extension: API preferences                                         -->
-	<!-- ================================================================== -->
- <extension
-       point="org.eclipse.core.runtime.preferences">
-    <initializer
-          class="org.eclipse.pde.api.tools.internal.ApiPluginPreferenceInitializer">
-    </initializer>
- </extension>
-
-	<!-- =========================================================== -->
-	<!-- Extension: Ant task                                         -->
-	<!-- =========================================================== -->
- <extension
-       point="org.eclipse.ant.core.antTasks">
-    <antTask
-          class="org.eclipse.pde.api.tools.internal.tasks.ApiFileGeneratorTask"
-          library="lib/apitooling-ant.jar"
-          name="apitooling.apifilesgenerator">
-    </antTask>
-    <antTask
-          class="org.eclipse.pde.api.tools.internal.tasks.CompareProfilesTask"
-          library="lib/apitooling-ant.jar"
-          name="apitooling.compareprofiles">
-    </antTask>
- </extension>
-</plugin>
diff --git a/apitools/org.eclipse.pde.api.tools/report/format.xslt b/apitools/org.eclipse.pde.api.tools/report/format.xslt
deleted file mode 100644
index 081e349..0000000
--- a/apitools/org.eclipse.pde.api.tools/report/format.xslt
+++ /dev/null
@@ -1,284 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-<xsl:output method="html" indent="yes"/>
-
-<xsl:template match="/versionReport">
-	<html>
-	<head>
-		<link rel="stylesheet" type="text/css" href="style.css"/>
-		<title><xsl:value-of select="@title"/></title>
-	</head>
-	<body>
-		<div class="pageTitle"><xsl:value-of select="@title"/></div>
-		
- 		<xsl:variable name="majorContainers" select="container[@error='major_version']"/>
-  		<xsl:if test="$majorContainers">
-			<div class="modifiedBuckets">The following containers made non-backward compatible API changes and might have to increment MAJOR versions:</div>
-			<ul>
-				<xsl:for-each select="$majorContainers">
-					<xsl:sort select="@name"/>
-					<li><xsl:value-of select="@name"/></li>
-				</xsl:for-each>
-			</ul>
-			<p></p>
-  		</xsl:if>
-		
- 		<xsl:variable name="minorContainers" select="container[@error='minor_version']"/>
-  		<xsl:if test="$minorContainers">
-			<div class="modifiedBuckets">The following containers made backward compatible changes and might have to increment MINOR versions:</div>
-			<ul>
-				<xsl:for-each select="$minorContainers">
-					<xsl:sort select="@name"/>
-					<li><xsl:value-of select="@name"/></li>
-				</xsl:for-each>
-			</ul>
-			<p></p>
-  		</xsl:if>
-
-		
- 		<xsl:variable name="qualifierContainers" select="container[@error='micro_version']"/>
-  		<xsl:if test="$qualifierContainers">
-			<div class="modifiedBuckets">The following containers changed implementation and might have to increment MICRO versions:</div>
-			<ul>
-				<xsl:for-each select="$qualifierContainers">
-					<xsl:sort select="@name"/>
-					<li><xsl:value-of select="@name"/></li>
-				</xsl:for-each>
-			</ul>
-			<p></p>
-  		</xsl:if>
- 	</body>
-	</html>
-</xsl:template>
-
-<xsl:template match="/apiSnapshot">
-	<html>
-	<head>
-		<link rel="stylesheet" type="text/css" href="style.css"/>
-		<title><xsl:value-of select="@title"/></title>
-	</head>
-	<body>
-		<div class="pageTitle"><xsl:value-of select="@title"/></div>
-		
- 		<xsl:variable name="removedContainers" select="container[@compare='removed']"/>
-  		<xsl:if test="$removedContainers">
-			<div class="modifiedBuckets">Removed Containers</div>
-			<ul>
-				<xsl:for-each select="$removedContainers">
-					<xsl:sort select="@name"/>
-					<li><xsl:value-of select="@name"/></li>
-				</xsl:for-each>
-			</ul>
-			<p></p>
-  		</xsl:if>
-		
- 		<xsl:variable name="addedContainers" select="container[@compare='added']"/>
-  		<xsl:if test="$addedContainers">
-			<div class="modifiedBuckets">Added Containers</div>
-			<ul>
-				<xsl:for-each select="$addedContainers">
-					<xsl:sort select="@name"/>
-					<li><xsl:value-of select="@name"/></li>
-				</xsl:for-each>
-			</ul>
-			<p></p>
-  		</xsl:if>
-		
-		<xsl:variable name="modifiedContainers" select="container[not(@compare)]"/>
-  		<xsl:if test="$modifiedContainers">
-				<xsl:apply-templates select = "$modifiedContainers">
-					<xsl:sort select="@name"/>
-				</xsl:apply-templates>
-  		</xsl:if>
-  		
- 	</body>
-	</html>
-</xsl:template>
-
-<xsl:template match="container">
-		<div class="bucketHeader">Container: <xsl:value-of select="@name"/></div>
-		
- 		<xsl:variable name="removedInterfaces" select="interface[@compare='removed']"/>
-  		<xsl:if test="$removedInterfaces">
-			<div class="apiHeader">Removed Interfaces</div>
-			<table class="apiTable" width="100%">
-				<tr><td><ul>
-				<xsl:for-each select="$removedInterfaces">
-					<xsl:sort select="@aName"/>
-					<li><xsl:value-of select="@aName"/></li>
-				</xsl:for-each>
-				</ul></td></tr>
-			</table>
-			<p></p>
-  		</xsl:if>
-
-		<xsl:variable name="removedClasses" select="class[@compare='removed']"/>
-  		<xsl:if test="$removedClasses">
-			<div class="apiHeader">Removed Classes</div>
-			<table class="apiTable" width="100%">
-				<tr><td><ul>
-				<xsl:for-each select="$removedClasses">
-					<xsl:sort select="@aName"/>
-					<li><xsl:value-of select="@aName"/></li>
-				</xsl:for-each>
-				</ul></td></tr>
-			</table>
-			<p></p>
-  		</xsl:if>
-
-		<xsl:variable name="addedInterfaces" select="interface[@compare='added']"/>
-  		<xsl:if test="$addedInterfaces">
-			<div class="apiHeader">Added Interfaces</div>
-			<table class="apiTable" width="100%">
-				<tr><td><ul>
-				<xsl:for-each select="$addedInterfaces">
-					<xsl:sort select="@aName"/>
-					<li><xsl:value-of select="@aName"/></li>
-				</xsl:for-each>
-				</ul></td></tr>
-			</table>
-			<p></p>
-  		</xsl:if>
- 		
-		<xsl:variable name="addedClasses" select="class[@compare='added']"/>
-  		<xsl:if test="$addedClasses">
-			<div class="apiHeader">Added Classes</div>
-			<table class="apiTable" width="100%">
-				<tr><td><ul>
-				<xsl:for-each select="$addedClasses">
-					<xsl:sort select="@aName"/>
-					<li><xsl:value-of select="@aName"/></li>
-				</xsl:for-each>
-				</ul></td></tr>
-			</table>
-			<p></p>
-  		</xsl:if>
-
-		<xsl:variable name="modifiedInterfaces" select="interface[not(@compare)]"/>
-  		<xsl:if test="$modifiedInterfaces">
-  			<div class="apiHeader">Modified Interfaces</div>
-		 	<table class="apiTable" width="100%">
-				<xsl:apply-templates select = "$modifiedInterfaces">
-					<xsl:sort select="@aName"/>
-				</xsl:apply-templates>
-			</table>
-			<p></p>
-  		</xsl:if>
-		
-		<xsl:variable name="modifiedClasses" select="class[not(@compare)]"/>
-  		<xsl:if test="$modifiedClasses">
-  			<div class="apiHeader">Modified Classes</div>
-		 	<table class="apiTable" width="100%">
-				<xsl:apply-templates select = "$modifiedClasses">
-					<xsl:sort select="@aName"/>
-				</xsl:apply-templates>
-			</table>
-			<p></p>
-  		</xsl:if>
-</xsl:template>
-
-<xsl:template name="listAPIs">
-	<xsl:param name = "header"/>
-	<xsl:param name = "list"/>
-	<div class="apiHeader"><xsl:value-of select="$header"/></div>
-	<table class="apiTable" width="100%">
-		<tr><td><ul>
-		<xsl:for-each select="$list">
-			<li><xsl:value-of select="@aName"/></li>
-		</xsl:for-each>
-		</ul></td></tr>
-	</table>
-	<p></p>
-</xsl:template>
-
-<xsl:template match="class | interface">
-	<tr>
-		<td class="apiBlock" width="100%" colspan="5"><xsl:value-of select="@aName"/></td>
-
-		<xsl:if test="@properties">
-			<tr>
-				<td width="5%"><xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text></td>
-				<td width="35%" colspan="4">
-					<div class="apiSubBlock">Properties: </div><xsl:value-of select="@properties"/>
-				</td>
-			</tr>
-		</xsl:if>
-
-		<xsl:if test="@extends">
-			<tr>
-				<td width="5%"><xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text></td>
-				<td width="35%" colspan="4">
-					<div class="apiSubBlock">Extends: </div><xsl:value-of select="@extends"/>
-				</td>
-			</tr>
-		</xsl:if>
-
-		<xsl:if test="@impl">
-			<tr>
-				<td width="5%"><xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text></td>
-				<td width="35%" colspan="4">
-					<div class="apiSubBlock">Implements: </div><xsl:value-of select="@impl"/>
-				</td>
-			</tr>
-		</xsl:if>
-		
-	</tr>
-	<xsl:if test="field">
-		<tr>
-			<td width="5%"><xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text></td>
-			<td class="apiSubBlock" width="35%" colspan="2">Fields</td>
-			<td class="apiGroupHeader" width="40%">Type</td>
-			<td class="apiGroupHeader" width="20%">Comments</td>
-			
-		</tr>
-		<xsl:apply-templates select="field">
-			<xsl:sort select="@aName"/>
-		</xsl:apply-templates>
-	</xsl:if>
-	<xsl:if test="method">
-		<tr>
-			<td width="5%"><xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text></td>
-			<td class="apiSubBlock" width="35%" colspan="2">Methods</td>
-			<td class="apiGroupHeader" width="40%">Signature</td>
-			<td class="apiGroupHeader" width="20%">Comments</td>
-		</tr>
-		<xsl:apply-templates select="method">
-			<xsl:sort select="@aName"/>
-		</xsl:apply-templates>
-	</xsl:if>
-</xsl:template>
-
-<xsl:template match="method">
-	<tr>
-	<td width="5%"><xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text></td>
-	<td class="compare" width="5%"><xsl:value-of select="@compare"/></td>
-	<td width="30%"><xsl:value-of select="@aName"/></td>
-	<td width="40%"><xsl:value-of select="@type"/></td>
-	<td width="20%">
-		<xsl:value-of select="@properties"/>
-		<xsl:if test="@throws">
-			<div>Throws: <xsl:value-of select="@throws"/></div>
-		</xsl:if>
-	</td>
-	</tr>
-</xsl:template>
-
-<xsl:template match="field">
-	<tr>
-	<td width="5%"><xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text></td>
-	<td class="compare" width="5%"><xsl:value-of select="@compare"/></td>
-	<td width="30%"><xsl:value-of select="@aName"/></td>
-	<td width="40%"><xsl:value-of select="@type"/></td>
-	<td width="20%">
-		<xsl:value-of select="@properties"/>
-		<xsl:if test="@value">
-			<div>Default: <xsl:value-of select="@value"/></div>
-		</xsl:if>
-	</td>
-	</tr>
-</xsl:template>
-
-
-</xsl:stylesheet>
diff --git a/apitools/org.eclipse.pde.api.tools/report/style.css b/apitools/org.eclipse.pde.api.tools/report/style.css
deleted file mode 100644
index 9bc46a4..0000000
--- a/apitools/org.eclipse.pde.api.tools/report/style.css
+++ /dev/null
@@ -1,63 +0,0 @@
-body {
-	font-size: 12pt;
-}
-
-.pageTitle {
-	font-weight: bold;
-	font-size: 16pt;
-	padding-bottom: 0.5em;
-}
-
-.bucketHeader {
-	font-weight: bold;
-	font-size: 16pt;
-	text-align: left;
-	border: 1px solid #000;
-	padding: 0.5em;
-	background-color: #ABCBFC;
-}
-
-.modifiedBuckets {
-	font-weight: bold;
-}
-
-.apiTable {
-	border: 1px solid #000;
-}
-	
-.apiHeader {
-	text-align: center;
-	padding-top: 0.3em;
-	padding-bottom: 0.3em;
-	background-color: #F7F186;
-	border: 2px solid black;
-}
-
-.apiBlock {
-	text-align: left;
-	font-weight: bold;
-	border-top: 1px solid #000;
-	padding-top: 0.5em;
-	padding-bottom: 0.5em;
-	background-color: #EEEEEE;
-}
-
-.apiSubBlock {
-	text-align: left;
-	font-weight: bold;
-}
-
-.apiGroupHeader {
-	text-align: left;
-	font-style: italic;
-}
-
-.compare {
-	font-size: smaller;
-	font-variant: small-caps;
-	vertical-align: middle;
-	color: #B1B1B1;
-	border: 1px solid #B1B1B1;
-}
-
-
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/AbstractApiComponent.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/AbstractApiComponent.java
deleted file mode 100644
index 14c47c0..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/AbstractApiComponent.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.io.IOException;
-import java.util.zip.CRC32;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.problems.ApiProblemFilter;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
-import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemFilter;
-import org.eclipse.pde.api.tools.internal.provisional.stubs.Converter;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * Common implementation of an API component as a composite class file container.
- * 
- * @since 1.0.0
- */
-public abstract class AbstractApiComponent extends AbstractClassFileContainer implements IApiComponent {
-	
-	/**
-	 * API description
-	 */
-	private IApiDescription fApiDescription = null;
-		
-	/**
-	 * Api Filter store
-	 */
-	private IApiFilterStore fFilterStore = null;
-	
-	/**
-	 * Owning profile
-	 */
-	private IApiProfile fProfile = null;
-	
-	/**
-	 * Used to compute checksums
-	 */
-	private static CRC32 fgCRC32 = new CRC32(); 
-	
-	/**
-	 * Exports class files to an archive.
-	 * 
-	 * @since 1.0.0
-	 */
-	class Exporter extends ClassFileContainerVisitor {
-		
-		/**
-		 * Stream to write to
-		 */
-		private ZipOutputStream fZip;
-		
-		/**
-		 * Whether to compress
-		 */
-		private boolean fCompress;
-		
-		/**
-		 * Whether to generate stub
-		 */
-		private boolean fStub;
-		
-		/**
-		 * Number of entries written
-		 */
-		private int fEntriesWritten = 0;
-		
-		/**
-		 * Constructs a new exporter to write class files to the archive stream.
-		 * 
-		 * @param zip stream to write to
-		 * @param compress whether to compress
-		 * @param stub TODO
-		 */
-		public Exporter(ZipOutputStream zip, boolean compress, boolean stub) {
-			fZip = zip;
-			fCompress = compress;
-			fStub = stub;
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.pde.api.tools.model.component.ClassFileContainerVisitor#visit(java.lang.String, org.eclipse.pde.api.tools.model.component.IClassFile)
-		 */
-		public void visit(String packageName, IClassFile classFile) {
-			try {
-				byte[] contents = null;
-				if (fStub) {
-					contents = Converter.createStub(classFile, Converter.MODIFIER_MASK | Converter.REPORT_REFS);
-				} else {
-					contents = classFile.getContents();
-				}
-				// contents can be null when creating stubs - as anonymous inner classes are ignored
-				if (contents != null) {
-					String entryName = classFile.getTypeName().replace('.', '/') + Util.DOT_CLASS_SUFFIX;
-					writeZipFileEntry(fZip, entryName, contents, fCompress);
-					fEntriesWritten++;
-				}
-			} catch (CoreException e) {
-				// TODO: abort
-			} catch (IOException e) {
-				// TODO: abort
-			}
-		}
-		
-		/**
-		 * Returns the number of entries written to the archive.
-		 * 
-		 * @return the number of entries written to the archive
-		 */
-		public int getEntriesWritten() {
-			return fEntriesWritten;
-		}
-	};
-	
-	/**
-	 * Constructs an API component in the given profile.
-	 * 
-	 * @param profile API profile
-	 */
-	public AbstractApiComponent(IApiProfile profile) {
-		fProfile = profile;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IClassFileContainer#accept(org.eclipse.pde.api.tools.model.component.ClassFileContainerVisitor)
-	 */
-	public void accept(ClassFileContainerVisitor visitor) throws CoreException {
-		if (visitor.visit(this)) {
-			super.accept(visitor);
-		}
-		visitor.end(this);
-	}	
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IApiComponent#getProfile()
-	 */
-	public IApiProfile getProfile() {
-		return fProfile;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IApiComponent#dispose()
-	 */
-	public void dispose() {
-		try {
-			close();
-		} catch (CoreException e) {
-			ApiPlugin.log(e);
-		}
-		fApiDescription = null;
-		fProfile = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IApiComponent#getApiDescription()
-	 */
-	public synchronized IApiDescription getApiDescription() throws CoreException {
-		if (fApiDescription == null) {
-			fApiDescription = createApiDescription();
-		}
-		return fApiDescription;
-	}
-	
-	/**
-	 * Returns whether this component has created an API description.
-	 * 
-	 * @return whether this component has created an API description
-	 */
-	protected synchronized boolean hasApiDescription() {
-		return fApiDescription != null;
-	}
-
-	/**
-	 * Returns if this component has created an API filter store
-	 * 
-	 * @return true if a store has been created, false other wise
-	 */
-	protected synchronized boolean hasApiFilterStore() {
-		return fFilterStore != null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.descriptors.AbstractClassFileContainer#getClassFileContainers()
-	 */
-	public IClassFileContainer[] getClassFileContainers() {
-		return super.getClassFileContainers();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.descriptors.AbstractClassFileContainer#getClassFileContainers()
-	 */
-	public IClassFileContainer[] getClassFileContainers(String id) {
-		if (this.hasFragments()) {
-			return super.getClassFileContainers(id);
-		} else {
-			return super.getClassFileContainers();
-		}
-	}
-	
-	/**
-	 * Creates and returns the API description for this component.
-	 * 
-	 * @return newly created API description for this component
-	 */
-	protected abstract IApiDescription createApiDescription() throws CoreException;
-	
-	/**
-	 * Writes an entry into a zip file. Used when exporting API component.
-	 * 
-	 * @param outputStream zip file to write to
-	 * @param entryName path of the entry to write
-	 * @param bytes bytes to write
-	 * @param boolean compress whether to compress the entry
-	 * @throws IOException
-	 */
-	protected void writeZipFileEntry(ZipOutputStream outputStream, String entryName, byte[] bytes, boolean compress) throws IOException {
-		fgCRC32.reset();
-		int byteArraySize = bytes.length;
-		fgCRC32.update(bytes, 0, byteArraySize);
-		ZipEntry entry = new ZipEntry(entryName);
-		entry.setMethod(compress ? ZipEntry.DEFLATED : ZipEntry.STORED);
-		entry.setSize(byteArraySize);
-		entry.setCrc(fgCRC32.getValue());
-		outputStream.putNextEntry(entry);
-		outputStream.write(bytes, 0, byteArraySize);
-		outputStream.closeEntry();
-	}
-
-	/**
-	 * Writes the class files in the container to the archive. Returns
-	 * the number of entries written.
-	 * 
-	 * @param container container to write 
-	 * @param zip file to write to
-	 * @param compress whether to compress
-	 * @param stub whether to generate class file stub
-	 * @throws CoreException if something goes wrong
-	 */
-	protected int writeContainer(IClassFileContainer container, ZipOutputStream zip, boolean compress, boolean stub) throws CoreException {
-		Exporter exporter = new Exporter(zip, compress, stub);
-		container.accept(exporter);		
-		return exporter.getEntriesWritten();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.IApiComponent#getFilterStore()
-	 */
-	public IApiFilterStore getFilterStore() throws CoreException {
-		if(fFilterStore == null) {
-			fFilterStore = createApiFilterStore();
-		}
-		return fFilterStore;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiComponent#newProblemFilter(org.eclipse.pde.api.tools.internal.provisional.IApiProblem)
-	 */
-	public IApiProblemFilter newProblemFilter(IApiProblem problem) {
-	//TODO either expose a way to make problems or change the method to accept the parts of a problem
-		return new ApiProblemFilter(getId(), problem);
-	}
-	
-	/**
-	 * Lazily creates a new {@link IApiFilterStore} when it is requested
-	 * 
-	 * @return the current {@link IApiFilterStore} for this component
-	 * @throws CoreException
-	 */
-	protected abstract IApiFilterStore createApiFilterStore() throws CoreException;
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/AbstractClassFile.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/AbstractClassFile.java
deleted file mode 100644
index 118ad14..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/AbstractClassFile.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * Common implementation for class files.
- * 
- * @since 1.0.0
- */
-public abstract class AbstractClassFile implements IClassFile {
-
-	public byte[] getContents() throws CoreException {
-		InputStream inputStream = getInputStream();
-		try {
-			return Util.getInputStreamAsByteArray(inputStream, -1);
-		} catch (IOException e) {
-			abort("Unable to read class file: " + getTypeName(), e); //$NON-NLS-1$
-			return null; // never gets here
-		} finally {
-			try {
-				inputStream.close();
-			} catch(IOException e) {
-				ApiPlugin.log(e);
-			}
-		}
-	}
-	
-	/**
-	 * Throws a core exception.
-	 * 
-	 * @param message message
-	 * @param e underlying exception or <code>null</code>
-	 * @throws CoreException
-	 */
-	private void abort(String message, Throwable e) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR,
-				ApiPlugin.PLUGIN_ID, message, e));
-	}	
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/AbstractClassFileContainer.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/AbstractClassFileContainer.java
deleted file mode 100644
index 8333f99..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/AbstractClassFileContainer.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer;
-
-/**
- * Common implementation of a composite class file container.
- * 
- * @since 1.0.0
- */
-public abstract class AbstractClassFileContainer implements IClassFileContainer {
-	
-	/**
-	 * Collection of class file containers
-	 */
-	private List fClassFileContainers = null;	
-		
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IClassFileContainer#accept(org.eclipse.pde.api.tools.model.component.ClassFileContainerVisitor)
-	 */
-	public void accept(ClassFileContainerVisitor visitor) throws CoreException {
-		IClassFileContainer[] containers = getClassFileContainers();
-		for (int i = 0; i < containers.length; i++) {
-			containers[i].accept(visitor);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IClassFileContainer#close()
-	 */
-	public synchronized void close() throws CoreException {
-		if (fClassFileContainers == null) {
-			return;
-		}
-		MultiStatus multi = null;
-		IStatus single = null;
-		IClassFileContainer[] containers = getClassFileContainers();
-		for (int i = 0; i < containers.length; i++) {
-			try {
-				containers[i].close();
-			} catch (CoreException e) {
-				if (single == null) {
-					single = e.getStatus();
-				} else {
-					if (multi == null) {
-						multi = new MultiStatus(ApiPlugin.getPluginIdentifier(), single.getCode(), single.getMessage(), single.getException());
-					}
-					multi.add(e.getStatus());
-				}
-			}
-		}
-		if (multi != null) {
-			throw new CoreException(multi);
-		}
-		if (single != null) {
-			throw new CoreException(single);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IClassFileContainer#findClassFile(java.lang.String)
-	 */
-	public IClassFile findClassFile(String qualifiedName) throws CoreException {
-		IClassFileContainer[] containers = getClassFileContainers();
-		for (int i = 0; i < containers.length; i++) {
-			IClassFile file = containers[i].findClassFile(qualifiedName);
-			if (file != null) {
-				return file;
-			}
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IClassFileContainer#findClassFile(java.lang.String,java.lang.String)
-	 */
-	public IClassFile findClassFile(String qualifiedName, String id) throws CoreException {
-		IClassFileContainer[] containers = getClassFileContainers();
-		for (int i = 0; i < containers.length; i++) {
-			String origin = containers[i].getOrigin();
-			if (origin == null) {
-				IClassFile file = containers[i].findClassFile(qualifiedName);
-				if (file != null) {
-					return file;
-				}
-			} else if (origin.equals(id)) {
-				IClassFile file = containers[i].findClassFile(qualifiedName, id);
-				if (file != null) {
-					return file;
-				}
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IClassFileContainer#getPackageNames()
-	 */
-	public String[] getPackageNames() throws CoreException {
-		List names = new ArrayList();
-		IClassFileContainer[] containers = getClassFileContainers();
-		for (int i = 0; i < containers.length; i++) {
-			String[] packageNames = containers[i].getPackageNames();
-			for (int j = 0; j < packageNames.length; j++) {
-				names.add(packageNames[j]);
-			}
-		}
-		return (String[]) names.toArray(new String[names.size()]);
-	}
-	
-	/**
-	 * Throws a core exception with the given message and underlying exception,
-	 * if any.
-	 * 
-	 * @param message error message
-	 * @param e underlying exception or <code>null</code>
-	 * @throws CoreException
-	 */
-	protected void abort(String message, Throwable e) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, ApiPlugin.getPluginIdentifier(), message, e));
-	}
-
-
-	/**
-	 * Returns the class file containers in this container. Creates the containers if
-	 * they are not yet created.
-	 * 
-	 * @return class file containers
-	 */
-	protected synchronized IClassFileContainer[] getClassFileContainers() {
-		if (fClassFileContainers == null) {
-			try {
-				fClassFileContainers = createClassFileContainers();
-			} catch (CoreException e) {
-				ApiPlugin.log(e);
-			}
-		}
-		return (IClassFileContainer[]) fClassFileContainers.toArray(new IClassFileContainer[fClassFileContainers.size()]);
-	}
-	
-	/**
-	 * Returns the class file containers in this container. Creates the containers if
-	 * they are not yet created.
-	 * 
-	 * @param id the given id
-	 * @return class file containers
-	 */
-	protected synchronized IClassFileContainer[] getClassFileContainers(String id) {
-		if (fClassFileContainers == null) {
-			try {
-				fClassFileContainers = createClassFileContainers();
-			} catch (CoreException e) {
-				ApiPlugin.log(e);
-			}
-		}
-		List containers = new ArrayList();
-		for (Iterator iterator = this.fClassFileContainers.iterator(); iterator.hasNext(); ) {
-			IClassFileContainer container = (IClassFileContainer) iterator.next();
-			String origin = container.getOrigin();
-			if (origin != null && origin.equals(id)) {
-				containers.add(container);
-			}
-		}
-		return (IClassFileContainer[]) containers.toArray(new IClassFileContainer[containers.size()]);
-	}
-
-	/**
-	 * Creates and returns the class file containers for this component.
-	 * Subclasses must override.
-	 * 
-	 * @return list of class file containers for this component
-	 */
-	protected abstract List createClassFileContainers() throws CoreException;
-
-	/**
-	 * Sets the class file containers in this container.
-	 * 
-	 * @param containers class file containers
-	 */
-	protected synchronized void setClassFileContainers(IClassFileContainer[] containers) {
-		if (fClassFileContainers != null) { 
-			try {
-				close();
-			} catch (CoreException e) {
-				// TODO log error
-			}
-			fClassFileContainers.clear();
-		} else {
-			fClassFileContainers = new ArrayList(containers.length);
-		}
-		for (int i = 0; i < containers.length; i++) {
-			fClassFileContainers.add(containers[i]);
-		}
-	}
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/AnyValue.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/AnyValue.java
deleted file mode 100644
index ecb314a..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/AnyValue.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-/**
- * Used to represent any value for system settings in OSGi state.
- * For example, ws, os, arch.
- * 
- * @since 1.0.0
- */
-public class AnyValue {
-	
-	public AnyValue(String arg) {
-		// do nothing
-	}
-	public boolean equals(Object obj) {
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiAnnotations.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiAnnotations.java
deleted file mode 100644
index f1b1372..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiAnnotations.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-
-/**
- * Base implementation of the {@linkplain IApiAnnotations} interface
- * 
- * @since 1.0.0
- */
-public class ApiAnnotations implements IApiAnnotations {
-
-	private int fVisibility, fRestrictions;
-	
-	/**
-	 * Constructs API annotations.
-	 * 
-	 * @param visibility the visibility of an element. See {@linkplain VisibilityModifiers} for visibility constants
-	 * @param restrictions the restrictions for an element. See {@linkplain RestrictionModifiers} for restriction kind constants
-	 */
-	public ApiAnnotations(int visibility, int restrictions) {
-		fVisibility = visibility;
-		fRestrictions = restrictions;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.IApiAnnotations#getRestrictions()
-	 */
-	public int getRestrictions() {
-		return fRestrictions;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.IApiAnnotations#getVisibility()
-	 */
-	public int getVisibility() {
-		return fVisibility;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		String visibility = null;
-		switch (fVisibility) {
-		case VisibilityModifiers.API:
-			visibility = "API"; //$NON-NLS-1$
-			break;
-		case VisibilityModifiers.SPI:
-			visibility = "SPI"; //$NON-NLS-1$
-			break;
-		case VisibilityModifiers.PRIVATE_PERMISSIBLE:
-			visibility = "PRIVATE PERMISSIBLE"; //$NON-NLS-1$
-			break;
-		case VisibilityModifiers.PRIVATE:
-			visibility = "PRIVATE"; //$NON-NLS-1$
-			break;
-		case 0:
-			visibility = "INHERITED"; //$NON-NLS-1$
-			break;
-		default:
-			visibility = "<unknown visibility>"; //$NON-NLS-1$
-			break;
-		}
-		buffer.append(visibility);
-		buffer.append(" / "); //$NON-NLS-1$
-		int restrictions = getRestrictions();
-		if (restrictions == RestrictionModifiers.NO_RESTRICTIONS) {
-			buffer.append("<no restrictions>"); //$NON-NLS-1$
-		} else {
-			if (RestrictionModifiers.isExtendRestriction(restrictions)) {
-				buffer.append("@noextend "); //$NON-NLS-1$
-			}
-			if (RestrictionModifiers.isImplementRestriction(restrictions)) {
-				buffer.append("@noimplement "); //$NON-NLS-1$
-			}
-			if (RestrictionModifiers.isInstantiateRestriction(restrictions)) {
-				buffer.append("@noinstantiate "); //$NON-NLS-1$
-			}
-			if (RestrictionModifiers.isReferenceRestriction(restrictions)) {
-				buffer.append("@noreference"); //$NON-NLS-1$
-			}
-		}
-		return buffer.toString();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof ApiAnnotations) {
-			ApiAnnotations desc = (ApiAnnotations) obj;
-			return
-				fRestrictions == desc.fRestrictions &&
-				fVisibility == desc.fVisibility;
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return fRestrictions + fVisibility;
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiDescription.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiDescription.java
deleted file mode 100644
index f6e1a7a..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiDescription.java
+++ /dev/null
@@ -1,511 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.pde.api.tools.internal.descriptors.ElementDescriptorImpl;
-import org.eclipse.pde.api.tools.internal.provisional.ApiDescriptionVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
-import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IFieldDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMemberDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Implementation of an API description.
- * <p>
- * Note, the implementation is not thread safe.
- * </p>
- * @see IApiDescription
- * @since 1.0.0
- */
-public class ApiDescription implements IApiDescription {
-	
-	// flag to indicate visibility should be inherited from parent node
-	protected static final int VISIBILITY_INHERITED = 0;
-	
-	/**
-	 * Debug flag
-	 */
-	protected static final boolean DEBUG = Util.DEBUG;
-	
-	/**
-	 * API component identifier of the API component that owns this
-	 * description. All references within a component have no restrictions.
-	 * We allow this to be null for testing purposes, but in general
-	 * a component description should have a component id.
-	 */
-	private String fOwningComponentId = null;
-	
-	/**
-	 * Whether this description needs saving
-	 */
-	private boolean fModified = false;
-	
-	/**
-	 * Represents a single node in the tree of mapped manifest items
-	 */
-	class ManifestNode implements Comparable {
-		private IElementDescriptor element = null;
-		protected int visibility, restrictions;
-		protected ManifestNode parent = null;
-		protected HashMap overrides = new HashMap(),
-						children = new HashMap();
-		
-		public ManifestNode(ManifestNode parent, IElementDescriptor element, int visibility, int restrictions) {
-			this.element = element;
-			this.visibility = visibility;
-			this.restrictions = restrictions;
-			this.parent = parent;
-		}
-		
-		/**
-		 * Returns the element associated with this node.
-		 * 
-		 * @return element
-		 */
-		protected IElementDescriptor getElement() {
-			return element;
-		}
-
-		/* (non-Javadoc)
-		 * @see java.lang.Object#equals(java.lang.Object)
-		 * This method is safe to override, as the name of an element is unique within its branch of the tree
-		 * and does not change over time.
-		 */
-		public boolean equals(Object obj) {
-			if(obj instanceof ManifestNode) {
-				return ((ManifestNode)obj).element.equals(element);
-			}
-			return false;
-		}
-		
-		/* (non-Javadoc)
-		 * @see java.lang.Object#hashCode()
-		 * This method is safe to override, as the name of an element is unique within its branch of the tree
-		 * and does not change over time.
-		 */
-		public int hashCode() {
-			return element.hashCode();
-		}
-		
-		/* (non-Javadoc)
-		 * @see java.lang.Object#toString()
-		 */
-		public String toString() {
-			String vis = "Private"; //$NON-NLS-1$
-			switch(visibility) {
-				case VisibilityModifiers.API: {
-					vis = "API"; //$NON-NLS-1$
-					break;
-				}
-				case VisibilityModifiers.SPI: {
-					vis = "SPI"; //$NON-NLS-1$
-					break;
-				}
-				case VisibilityModifiers.PRIVATE_PERMISSIBLE: {
-					vis = "PRIVATE PERMISSIBLE"; //$NON-NLS-1$
-					break;
-				}
-				case VISIBILITY_INHERITED: {
-					vis = "INHERITED"; //$NON-NLS-1$
-					break;
-				}
-			}
-			String name = ""; //$NON-NLS-1$
-			if (element instanceof IPackageDescriptor) {
-				name = ((IPackageDescriptor) element).getName();
-			} else {
-				name = ((IMemberDescriptor) element).getName();
-			}
-			return "ManifestNode: " + name //$NON-NLS-1$
-				+" with "+vis+" visibility\n\n"+ //$NON-NLS-1$ //$NON-NLS-2$
-				(parent != null ? "Parent node: "+parent.toString() : ""); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		/* (non-Javadoc)
-		 * @see java.lang.Comparable#compareTo(java.lang.Object)
-		 */
-		public int compareTo(Object o) {
-			if (o instanceof ManifestNode) {
-				ManifestNode node = (ManifestNode) o;
-				return ((ElementDescriptorImpl)element).compareTo(node.element);
-			}
-			return -1;
-		}
-		
-		/**
-		 * Ensure this node is up to date. Default implementation does
-		 * nothing. Subclasses should override as required.
-		 * 
-		 * Returns the resulting node if the node is valid, or <code>null</code>
-		 * if the node no longer exists.
-		 * 
-		 * @return up to date node, or <code>null</code> if no longer exists
-		 */
-		protected ManifestNode refresh() {
-			return this;
-		}
-		
-		/**
-		 * Persists this node as a child of the given element.
-		 * 
-		 * @param document XML document
-		 * @param parent parent element in the document
-		 * @param component component the description is for or <code>null</code>
-		 */
-		void persistXML(Document document, Element parent, String component) {
-			switch (element.getElementType()) {
-			case IElementDescriptor.T_METHOD:
-				IMethodDescriptor md = (IMethodDescriptor) element;
-				Element method = document.createElement(IApiXmlConstants.ELEMENT_METHOD);
-				method.setAttribute(IApiXmlConstants.ATTR_NAME, md.getName());
-				method.setAttribute(IApiXmlConstants.ATTR_SIGNATURE, md.getSignature());
-				persistAnnotations(method, component);
-				parent.appendChild(method);
-				break;
-			case IElementDescriptor.T_FIELD:
-				IFieldDescriptor fd = (IFieldDescriptor) element;
-				Element field = document.createElement(IApiXmlConstants.ELEMENT_FIELD);
-				field.setAttribute(IApiXmlConstants.ATTR_NAME, fd.getName());
-				persistAnnotations(field, component);
-				parent.appendChild(field);
-				break;
-			}
-		}
-		
-		/**
-		 * Adds visibility and restrictions to the XML element.
-		 * 
-		 * @param element XML element to annotate
-		 * @param component the component the description is for or <code>null</code>
-		 */
-		void persistAnnotations(Element element, String component) {
-			element.setAttribute(IApiXmlConstants.ATTR_VISIBILITY, Integer.toString(visibility));
-			element.setAttribute(IApiXmlConstants.ATTR_RESTRICTIONS, Integer.toString(restrictions));
-			if (component != null) {
-				element.setAttribute(IApiXmlConstants.ATTR_CONTEXT, component);
-			}
-		}
-	}
-		
-	/**
-	 * This is a map of component names to a map of package names to package node objects represented as:
-	 * <pre>
-	 * HashMap<IElementDescriptor(package), ManifestNode(package)>
-	 * </pre>
-	 */
-	protected HashMap fPackageMap = new HashMap();
-
-	/**
-	 * Constructs an API description owned by the specified component.
-	 * 
-	 * @param owningComponentId API component identifier or <code>null</code> if there
-	 * is no specific owner.
-	 */
-	public ApiDescription(String owningComponentId) {
-		fOwningComponentId = owningComponentId;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.IApiManifest#visit(org.eclipse.pde.api.tools.ApiManifestVisitor)
-	 */
-	public void accept(ApiDescriptionVisitor visitor) {
-		visitChildren(visitor, fPackageMap);
-	}
-	/**
-	 * Visits all children nodes in the given children map.
-	 * 
-	 * @param visitor visitor to visit
-	 * @param childrenMap map of element name to manifest nodes
-	 */
-	protected void visitChildren(ApiDescriptionVisitor visitor, Map childrenMap) {
-		List elements = new ArrayList(childrenMap.keySet());
-		Collections.sort(elements);
-		Iterator iterator = elements.iterator();
-		while (iterator.hasNext()) {
-			IElementDescriptor element = (IElementDescriptor) iterator.next();
-			ManifestNode node = (ManifestNode) childrenMap.get(element);
-			visitNode(visitor, null, node);
-		}
-	}
-	
-	/**
-	 * Visits a node and its children.
-	 * 
-	 * @param visitor visitor to visit
-	 * @param component component context in which the node is being visited or <code>null</code> if none
-	 * @param node node to visit
-	 */
-	private void visitNode(ApiDescriptionVisitor visitor, String component, ManifestNode node) {
-		int vis = node.visibility;
-		ManifestNode tmp = node;
-		while (tmp != null) {
-			vis = tmp.visibility;
-			if(tmp.visibility == VISIBILITY_INHERITED) {
-				tmp = tmp.parent;
-			}
-			else {
-				tmp = null;
-			}
-		}
-		IApiAnnotations desc = new ApiAnnotations(vis, node.restrictions);
-		boolean visitChildren = visitor.visitElement(node.element, component, desc);
-		if (visitChildren && !node.children.isEmpty()) {
-			visitChildren(visitor, node.children);
-		}
-		visitor.endVisitElement(node.element, component, desc);
-		visitOverrides(visitor, node);		
-	}
-
-	/**
-	 * Visits the overrides for a node, if any.
-	 * 
-	 * @param visitor
-	 * @param node
-	 */
-	protected void visitOverrides(ApiDescriptionVisitor visitor, ManifestNode node) {
-		if (!node.overrides.isEmpty()) {
-			List overrides = new ArrayList(node.overrides.keySet());
-			Collections.sort(overrides);
-			Iterator iterator = overrides.iterator();
-			while (iterator.hasNext()) {
-				String context = (String) iterator.next();
-				ManifestNode contextNode = (ManifestNode) node.overrides.get(context);
-				visitNode(visitor, context, contextNode);
-			}
-		}
-	}
-	
-	/**
-	 * Returns the node in the manifest for specified element and context, closest node, or <code>null</code>.
-	 * Creates a new node with default visibility and no restrictions if insert is <code>true</code>
-	 * and a node is not present. Default visibility for packages is API, and for types is inherited.
-	 * 
-	 * @param component component context (i.e. referenced from this component)
-	 * @param element element
-	 * @param insert whether to insert a new node
-	 * @return manifest node or <code>null</code>
-	 */
-	protected ManifestNode findNode(String component, IElementDescriptor element, boolean insert) {
-		IElementDescriptor[] path = element.getPath();
-		Map map = fPackageMap;
-		ManifestNode parentNode = null;
-		ManifestNode node = null;
-		for (int i = 0 ; i < path.length; i++) {
-			IElementDescriptor current = path[i];
-			parentNode = node;
-			node = (ManifestNode) map.get(current);
-			if (node == null) {
-				if (insert) {
-					node = createNode(parentNode, current);
-					if (node != null) {
-						map.put(current, node);
-					}
-				} else {
-					node = parentNode;
-					break; // check for component override
-				}
-			}
-			if (node != null) {
-				// ensure node is up to date
-				node = node.refresh();
-			}
-			if (node != null) {
-				map = node.children;
-			}
-		}
-		if (component == null || node == null) {
-			return node;
-		}
-		ManifestNode override = (ManifestNode) node.overrides.get(component);
-		if (override == null) {
-			if (insert) {
-				override = createNode(parentNode, element);
-				if (override != null) {
-					// ensure its up to date
-					override = override.refresh();
-					node.overrides.put(component, override);
-				}
-			} else {
-				return node;
-			}
-		}
-		return override;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IApiDescription#resolveAPIDescription(java.lang.String, org.eclipse.pde.api.tools.model.component.IElementDescriptor)
-	 */
-	public IApiAnnotations resolveAnnotations(String component, IElementDescriptor element) {
-		ManifestNode node = findNode(component, element, isInsertOnResolve(component, element));
-		if (node != null) {
-			return resolveAnnotations(node, element);
-		}
-		return null;
-	}
-	
-	/**
-	 * Resolves annotations based on inheritance for the given node and element.
-	 * 
-	 * @param node manifest node
-	 * @param element the element annotations are being resolved for
-	 * @return annotations
-	 */
-	protected IApiAnnotations resolveAnnotations(ManifestNode node, IElementDescriptor element) {
-		ManifestNode visNode = node;
-		int vis = visNode.visibility;
-		while (vis == VISIBILITY_INHERITED) {
-			visNode = visNode.parent;
-			vis = visNode.visibility;
-		}
-		int res = RestrictionModifiers.NO_RESTRICTIONS;
-		if (node.element.equals(element)) {
-			res = node.restrictions;
-		}
-		return new ApiAnnotations(vis, res);
-	}
-	
-	/**
-	 * Internal hook to clear the package map to remove stale data
-	 */
-	protected void clearPackages() {
-		if(fPackageMap != null) {
-			fPackageMap.clear();
-		}
-	}
-	
-	/**
-	 * Creates and returns a new manifest node to be inserted into the tree
-	 * or <code>null</code> if the node does not exist.
-	 * 
-	 * <p>
-	 * Subclasses should override this method as required.
-	 * </p>
-	 * @param parentNode parent node
-	 * @param element element the node is to be created for
-	 * @return new manifest node or <code>null</code> if none
-	 */
-	protected ManifestNode createNode(ManifestNode parentNode, IElementDescriptor element) {
-		int vis = VISIBILITY_INHERITED;
-		if (element.getElementType() == IElementDescriptor.T_PACKAGE) {
-			vis = VisibilityModifiers.API;
-		}
-		return new ManifestNode(parentNode, element, vis, RestrictionModifiers.NO_RESTRICTIONS);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IApiDescription#setRestrictions(java.lang.String, org.eclipse.pde.api.tools.model.component.IElementDescriptor, int)
-	 */
-	public IStatus setRestrictions(String component, IElementDescriptor element, int restrictions) {
-		ManifestNode node = findNode(component, element, true);
-		if(node != null) {
-			modified();
-			node.restrictions = restrictions;
-			return Status.OK_STATUS;
-		}
-		return new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, ELEMENT_NOT_FOUND,
-				MessageFormat.format("Failed to set API restriction: {0} not found in {1}", //$NON-NLS-1$
-						new String[]{element.toString(), fOwningComponentId}), null);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IApiDescription#setVisibility(java.lang.String, org.eclipse.pde.api.tools.model.component.IElementDescriptor, int)
-	 */
-	public IStatus setVisibility(String component, IElementDescriptor element, int visibility) {
-		ManifestNode node = findNode(component, element, true);
-		if(node != null) {
-			modified();
-			node.visibility = visibility;
-			return Status.OK_STATUS;
-		}
-		return new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, ELEMENT_NOT_FOUND,
-				MessageFormat.format("Failed to set API visibility: {0} not found in {1}", //$NON-NLS-1$
-						new String[]{element.toString(), fOwningComponentId}), null);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.IApiDescription#removeElement(org.eclipse.pde.api.tools.descriptors.IElementDescriptor)
-	 */
-	public boolean removeElement(IElementDescriptor element) {
-		ManifestNode node = findNode(null, element, false);
-		if(node != null) {
-			modified();
-			//packages have no parents
-			if(node.parent == null) {
-				return fPackageMap.remove(element) != null;
-			}
-			else {
-				return node.parent.children.remove(element) != null;
-			}
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return "Api description for component: "+fOwningComponentId; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns whether a new node should be inserted into the API description
-	 * when resolving the annotations for an element if a node is not already
-	 * present, in the context of the given component.
-	 * <p>
-	 * Default implementation returns <code>false</code>. Subclasses should
-	 * override this method as required.
-	 * </p>
-	 * @param elementDescriptor
-	 * @param component context from which to resolve
-	 * @return whether a new node should be inserted into the API description
-	 * when resolving the annotations for an element if a node is not already
-	 * present
-	 */
-	protected boolean isInsertOnResolve(String component, IElementDescriptor elementDescriptor) {
-		return false;
-	}
-	
-	/**
-	 * Marks the description as modified
-	 */
-	protected synchronized void modified() {
-		fModified = true;
-	}
-	
-	/**
-	 * Returns whether this description has been modified.
-	 * 
-	 * @return
-	 */
-	protected synchronized boolean isModified() {
-		return fModified;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiDescriptionManager.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiDescriptionManager.java
deleted file mode 100644
index 4ce53fc..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiDescriptionManager.java
+++ /dev/null
@@ -1,402 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.jar.JarFile;
-
-import org.eclipse.core.resources.ISaveContext;
-import org.eclipse.core.resources.ISaveParticipant;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.ElementChangedEvent;
-import org.eclipse.jdt.core.IElementChangedListener;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaElementDelta;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.pde.api.tools.internal.ApiDescription.ManifestNode;
-import org.eclipse.pde.api.tools.internal.ProjectApiDescription.TypeNode;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.scanner.ScannerMessages;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Manages a cache of API descriptions for Java projects. Descriptions
- * are re-used between API components for the same project.
- * 
- * @since 1.0
- */
-public class ApiDescriptionManager implements IElementChangedListener, ISaveParticipant {
-	
-	/**
-	 * Singleton
-	 */
-	private static ApiDescriptionManager fgDefault;
-	
-	/**
-	 * Maps Java projects to API descriptions
-	 */
-	private Map fDescriptions = new HashMap();
-	
-	/**
-	 * Path to the local directory where API descriptions are cached
-	 * per project.
-	 */
-	public static final IPath API_DESCRIPTIONS_CONTAINER_PATH =
-		ApiPlugin.getDefault().getStateLocation();
-
-	/**
-	 * Constructs an API description manager.
-	 */
-	private ApiDescriptionManager() {
-		JavaCore.addElementChangedListener(this, ElementChangedEvent.POST_CHANGE);
-		ApiPlugin.getDefault().addSaveParticipant(this);
-	}
-
-	/**
-	 * Cleans up Java element listener
-	 */
-	public static void shutdown() {
-		if (fgDefault != null) {
-			JavaCore.removeElementChangedListener(fgDefault);
-			ApiPlugin.getDefault().removeSaveParticipant(fgDefault);
-		}
-	}
-	
-	/**
-	 * Returns the singleton API description manager.
-	 * 
-	 * @return API description manager
-	 */
-	public synchronized static ApiDescriptionManager getDefault() {
-		if (fgDefault == null) {
-			fgDefault = new ApiDescriptionManager();
-		}
-		return fgDefault;
-	}
-	
-	/**
-	 * Returns an API description for the given Java project and connect it to the
-	 * given bundle description.
-	 * 
-	 * @param project Java project
-	 * @return API description
-	 */
-	public synchronized IApiDescription getApiDescription(IJavaProject project, BundleDescription bundle) {
-		ProjectApiDescription description = (ProjectApiDescription) fDescriptions.get(project);
-		if (description == null) {
-			description = new ProjectApiDescription(project);
-			try {
-				restoreDescription(project, description);
-			} catch (CoreException e) {
-				ApiPlugin.log(e.getStatus());
-				description = new ProjectApiDescription(project);
-			}
-			fDescriptions.put(project, description);
-		}
-		description.connect(bundle);
-		return description;
-	}
-	/**
-	 * Cleans the API description for the given project.
-	 * 
-	 * @param project
-	 * @param whether to delete the file on disk
-	 * @param whether to remove the cached API description
-	 */
-	public synchronized void clean(IJavaProject project, boolean delete, boolean remove) {
-		ProjectApiDescription desc = null;
-		if (remove) {
-			desc = (ProjectApiDescription) fDescriptions.remove(project);
-		} else {
-			desc = (ProjectApiDescription) fDescriptions.get(project);
-		}
-		if (desc != null) {
-			desc.clean();
-		}
-		if (delete) {
-			File file = API_DESCRIPTIONS_CONTAINER_PATH.append(project.getElementName())
-				.append(IApiCoreConstants.API_DESCRIPTION_XML_NAME).toFile();
-			if (file.exists()) {
-				file.delete();
-			}
-		}
-	}
-	
-	/**
-	 * Notifies the API description that the underlying project has changed.
-	 * 
-	 * @param project
-	 */
-	synchronized void projectChanged(IJavaProject project) {
-		ProjectApiDescription desc = (ProjectApiDescription) fDescriptions.get(project);
-		if (desc != null) {
-			desc.projectChanged();
-		}
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.IElementChangedListener#elementChanged(org.eclipse.jdt.core.ElementChangedEvent)
-	 */
-	public void elementChanged(ElementChangedEvent event) {
-		IJavaElementDelta delta = event.getDelta();
-		processJavaElementDeltas(delta.getAffectedChildren());
-	}
-	
-	/**
-	 * Remove projects that get closed or removed.
-	 * 
-	 * @param deltas
-	 */
-	private synchronized void processJavaElementDeltas(IJavaElementDelta[] deltas) {
-		IJavaElementDelta delta = null;
-		for(int i = 0; i < deltas.length; i++) {
-			delta = deltas[i];
-			switch(delta.getElement().getElementType()) {
-				case IJavaElement.JAVA_PROJECT: {
-					IJavaProject proj = (IJavaProject) delta.getElement();
-					switch (delta.getKind()) {
-						case IJavaElementDelta.CHANGED:
-							int flags = delta.getFlags();
-							if((flags & IJavaElementDelta.F_CLOSED) != 0) {
-								clean(proj, false, true);
-							} else {
-								projectChanged(proj);
-							}
-							break;
-						case IJavaElementDelta.REMOVED:
-							clean(proj, true, true);
-							break;
-					}
-					break;
-				}
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.ISaveParticipant#doneSaving(org.eclipse.core.resources.ISaveContext)
-	 */
-	public void doneSaving(ISaveContext context) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.ISaveParticipant#prepareToSave(org.eclipse.core.resources.ISaveContext)
-	 */
-	public void prepareToSave(ISaveContext context) throws CoreException {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.ISaveParticipant#rollback(org.eclipse.core.resources.ISaveContext)
-	 */
-	public void rollback(ISaveContext context) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.ISaveParticipant#saving(org.eclipse.core.resources.ISaveContext)
-	 */
-	public synchronized void saving(ISaveContext context) throws CoreException {
-		Iterator entries = fDescriptions.entrySet().iterator();
-		while (entries.hasNext()) {
-			Entry entry = (Entry) entries.next();
-			IJavaProject project = (IJavaProject) entry.getKey();
-			ProjectApiDescription desc = (ProjectApiDescription) entry.getValue();
-			if (desc.isModified()) {
-				File dir = API_DESCRIPTIONS_CONTAINER_PATH.append(project.getElementName()).toFile();
-				dir.mkdirs();
-				String xml = desc.getXML();
-				try {
-					Util.saveFile(new File(dir,  IApiCoreConstants.API_DESCRIPTION_XML_NAME), xml);
-				} catch (IOException e) {
-					abort(MessageFormat.format(ScannerMessages.ApiDescriptionManager_0, new String[]{project.getElementName()}), e);
-				}
-			}
-		}
-	}	
-	
-	/**
-	 * Restores the API description from its saved file, if any and returns
-	 * true if successful.
-	 * 
-	 * @param project
-	 * @param description
-	 * @return whether the restore succeeded
-	 * @throws CoreException 
-	 */
-	private boolean restoreDescription(IJavaProject project, ProjectApiDescription description) throws CoreException {
-		File file = API_DESCRIPTIONS_CONTAINER_PATH.append(project.getElementName()).
-			append(IApiCoreConstants.API_DESCRIPTION_XML_NAME).toFile();
-		if (file.exists()) {
-			try {
-				String xml = new String(Util.getInputStreamAsCharArray(
-					new BufferedInputStream(new FileInputStream(file)), -1, IApiCoreConstants.UTF_8));
-				Element root = Util.parseDocument(xml);
-				if (!root.getNodeName().equals(IApiXmlConstants.ELEMENT_COMPONENT)) {
-					abort(ScannerMessages.ComponentXMLScanner_0, null); 
-				}
-				long timestamp = getLong(root, IApiXmlConstants.ATTR_MODIFICATION_STAMP);
-				description.fPackageTimeStamp = timestamp;
-				description.fManifestFile = project.getProject().getFile(JarFile.MANIFEST_NAME);
-				restoreChildren(description, root, null, description.fPackageMap);
-			} catch (IOException e) {
-				abort(MessageFormat.format(ScannerMessages.ApiDescriptionManager_1,
-						new String[]{project.getElementName()}), e);
-			}
-		}
-		return false;
-	}
-	
-	private void restoreChildren(ProjectApiDescription apiDesc, Element element, ManifestNode parentNode, Map childrenMap) throws CoreException {
-		NodeList children = element.getChildNodes();
-		for (int i = 0; i < children.getLength(); i++) {
-			Node child = children.item(i);
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				restoreNode(apiDesc, (Element) child, parentNode, childrenMap);
-			}
-		}
-	}
-	
-	private void restoreNode(ProjectApiDescription apiDesc, Element element, ManifestNode parentNode, Map childrenMap) throws CoreException {
-		ManifestNode node = null;
-		IElementDescriptor elementDesc = null;
-		if (element.getTagName().equals(IApiXmlConstants.ELEMENT_PACKAGE)) {
-			String handle = element.getAttribute(IApiXmlConstants.ATTR_HANDLE);
-			int vis = getInt(element, IApiXmlConstants.ATTR_VISIBILITY);
-			int res = getInt(element, IApiXmlConstants.ATTR_RESTRICTIONS);
-			IJavaElement je = JavaCore.create(handle);
-			if (je.getElementType() != IJavaElement.PACKAGE_FRAGMENT) {
-				abort(ScannerMessages.ApiDescriptionManager_2 + handle, null);
-			}
-			IPackageFragment fragment = (IPackageFragment) je;
-			elementDesc = Factory.packageDescriptor(fragment.getElementName());
-			node = apiDesc.newPackageNode(fragment, parentNode, elementDesc, vis, res);
-		} else if (element.getTagName().equals(IApiXmlConstants.ELEMENT_TYPE)) {
-			String handle = element.getAttribute(IApiXmlConstants.ATTR_HANDLE);
-			int vis = getInt(element, IApiXmlConstants.ATTR_VISIBILITY);
-			int res = getInt(element, IApiXmlConstants.ATTR_RESTRICTIONS);
-			IJavaElement je = JavaCore.create(handle);
-			if (je.getElementType() != IJavaElement.TYPE) {
-				abort(ScannerMessages.ApiDescriptionManager_3 + handle, null);
-			}
-			IType type = (IType) je;
-			elementDesc = Factory.typeDescriptor(type.getFullyQualifiedName('$'));
-			TypeNode tn = apiDesc.newTypeNode(type, parentNode, elementDesc, vis, res);
-			node = tn;
-			tn.fTimeStamp = getLong(element, IApiXmlConstants.ATTR_MODIFICATION_STAMP);
-		} else if (element.getTagName().equals(IApiXmlConstants.ELEMENT_FIELD)) {
-			IReferenceTypeDescriptor type = (IReferenceTypeDescriptor) parentNode.getElement();
-			int vis = getInt(element, IApiXmlConstants.ATTR_VISIBILITY);
-			int res = getInt(element, IApiXmlConstants.ATTR_RESTRICTIONS);
-			String name = element.getAttribute(IApiXmlConstants.ATTR_NAME);
-			elementDesc = type.getField(name);
-			node = apiDesc.newNode(parentNode, elementDesc, vis, res);
-		} else if (element.getTagName().equals(IApiXmlConstants.ELEMENT_METHOD)) {
-			IReferenceTypeDescriptor type = (IReferenceTypeDescriptor) parentNode.getElement();
-			int vis = getInt(element, IApiXmlConstants.ATTR_VISIBILITY);
-			int res = getInt(element, IApiXmlConstants.ATTR_RESTRICTIONS);
-			String name = element.getAttribute(IApiXmlConstants.ATTR_NAME);
-			String sig = element.getAttribute(IApiXmlConstants.ATTR_SIGNATURE);
-			elementDesc = type.getMethod(name,sig,0);
-			node = apiDesc.newNode(parentNode, elementDesc, vis, res);
-		}
-		if (node == null) {
-			abort(ScannerMessages.ApiDescriptionManager_4, null);
-		}
-		String component = element.getAttribute(IApiXmlConstants.ATTR_CONTEXT);
-		if (component == null || component.length() == 0) {
-			childrenMap.put(elementDesc, node);
-		} else {
-			ManifestNode baseNode = (ManifestNode) childrenMap.get(elementDesc);
-			if (baseNode == null) {
-				abort(ScannerMessages.ApiDescriptionManager_5 + elementDesc.toString(), null);
-			}
-			baseNode.overrides.put(component, node);
-		}
-		restoreChildren(apiDesc, element, node, node.children);
-	}
-	
-	/**
-	 * Returns an integer attribute.
-	 * 
-	 * @param element element with the integer
-	 * @param attr attribute name
-	 * @return attribute value as an integer
-	 * @throws CoreException
-	 */
-	private int getInt(Element element, String attr) throws CoreException {
-		String attribute = element.getAttribute(attr);
-		if (attribute != null) {
-			try {
-				return Integer.parseInt(attribute);
-			} catch (NumberFormatException e) {
-				abort(ScannerMessages.ApiDescriptionManager_6 + attribute, e);
-			}
-		}
-		abort(ScannerMessages.ApiDescriptionManager_7 + attr, null);
-		return -1;
-	}
-	
-	/**
-	 * Returns a long attribute.
-	 * 
-	 * @param element element with the long
-	 * @param attr attribute name
-	 * @return attribute value as an long
-	 * @throws CoreException
-	 */
-	private long getLong(Element element, String attr) throws CoreException {
-		String attribute = element.getAttribute(attr);
-		if (attribute != null) {
-			try {
-				return Long.parseLong(attribute);
-			} catch (NumberFormatException e) {
-				abort(ScannerMessages.ApiDescriptionManager_8 + attribute, e);
-			}
-		}
-		abort(ScannerMessages.ApiDescriptionManager_9 + attr, null);
-		return -1L;
-	}	
-	
-	/**
-	 * Throws an exception with the given message and underlying exception.
-	 * 
-	 * @param message error message
-	 * @param exception underlying exception, or <code>null</code>
-	 * @throws CoreException
-	 */
-	private static void abort(String message, Throwable exception) throws CoreException {
-		IStatus status = new Status(IStatus.ERROR, ApiPlugin.getPluginIdentifier(), message, exception);
-		throw new CoreException(status);
-	}	
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiFilterStore.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiFilterStore.java
deleted file mode 100644
index bdb9bf8..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiFilterStore.java
+++ /dev/null
@@ -1,540 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.resources.WorkspaceJob;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.pde.api.tools.internal.problems.ApiProblemFactory;
-import org.eclipse.pde.api.tools.internal.problems.ApiProblemFilter;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemFilter;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-/**
- * Base implementation of a filter store for Api components
- * 
- * @since 1.0.0
- */
-public class ApiFilterStore implements IApiFilterStore, IResourceChangeListener {
-	
-	/**
-	 * Constant used for controlling tracing in the plug-in workspace component
-	 */
-	private static boolean DEBUG = Util.DEBUG;
-	
-	/**
-	 * Method used for initializing tracing in the plug-in workspace component
-	 */
-	public static void setDebug(boolean debugValue) {
-		DEBUG = debugValue || Util.DEBUG;
-	}
-	
-	/**
-	 * The mapping of filters for this store.
-	 * <pre>
-	 * HashMap<IResource, HashSet<IApiProblemFilter>>
-	 * </pre>
-	 */
-	private HashMap fFilterMap = null;
-	
-	/**
-	 * The backing {@link IJavaProject}
-	 */
-	private IJavaProject fProject = null;
-	
-	private boolean fNeedsSaving = false;
-	private boolean fTriggeredChange = false;
-	
-	/**
-	 * Constructor
-	 * @param owningComponent the id of the component that owns this filter store
-	 */
-	public ApiFilterStore(IJavaProject project) {
-		Assert.isNotNull(project);
-		fProject = project;
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
-	}
-	
-	/**
-	 * Saves the .api_filters file for the component
-	 * @throws IOException 
-	 */
-	private void persistApiFilters() {
-		if(!fNeedsSaving) {
-			return;
-		}
-		WorkspaceJob job = new WorkspaceJob("") { //$NON-NLS-1$
-			public IStatus runInWorkspace(IProgressMonitor monitor)	throws CoreException {
-				if(DEBUG) {
-					System.out.println("persisting api filters for plugin project component ["+fProject.getElementName()+"]"); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-				try {
-					IProject project = fProject.getProject();
-					if(!project.isAccessible()) {
-						if(DEBUG) {
-							System.out.println("project ["+fProject.getElementName()+"] is not accessible, saving termainated"); //$NON-NLS-1$ //$NON-NLS-2$
-						}
-						return Status.CANCEL_STATUS;
-					}
-					String xml = getStoreAsXml();
-					IFile file = project.getFile(new Path(".settings").append(IApiCoreConstants.API_FILTERS_XML_NAME)); //$NON-NLS-1$
-					if(xml == null) {
-						// no filters - delete the file if it exists
-						if (file.isAccessible()) {
-							file.delete(true, new NullProgressMonitor());
-							fTriggeredChange = true;
-						}
-						return Status.OK_STATUS;
-					}
-					InputStream xstream = Util.getInputStreamFromString(xml);
-					if(xstream == null) {
-						return Status.CANCEL_STATUS;
-					}
-					if(!file.exists()) {
-						file.create(xstream, true, new NullProgressMonitor());
-					}
-					else {
-						file.setContents(xstream, true, false, new NullProgressMonitor());
-					}
-					fTriggeredChange = true;
-					fNeedsSaving = false;
-				}
-				catch(CoreException ce) {
-					ApiPlugin.log(ce);
-				}
-				return Status.OK_STATUS;
-			}
-		};
-		job.setSystem(true);
-		job.schedule();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore#addFilters(org.eclipse.pde.api.tools.internal.provisional.IApiProblemFilter[])
-	 */
-	public synchronized void addFilters(IApiProblemFilter[] filters) {
-		if(filters == null) {
-			if(DEBUG) {
-				System.out.println("null filters array, not adding filters"); //$NON-NLS-1$
-			}
-			return;
-		}
-		initializeApiFilters();
-		HashSet pfilters = null;
-		IResource resource = null;
-		for(int i = 0; i < filters.length; i++) {
-			resource = fProject.getProject().findMember(new Path(filters[i].getUnderlyingProblem().getResourcePath()));
-			if(resource == null) {
-				continue;
-			}
-			pfilters = (HashSet) fFilterMap.get(resource);
-			if(pfilters == null) {
-				pfilters = new HashSet();
-				fFilterMap.put(resource, pfilters);
-			}
-			fNeedsSaving |= pfilters.add(filters[i]);
-		}
-		persistApiFilters();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore#addFilters(org.eclipse.pde.api.tools.internal.provisional.IApiProblem[])
-	 */
-	public synchronized void addFilters(IApiProblem[] problems) {
-		internalAddFilters(problems, true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore#getFilters(org.eclipse.core.resources.IResource)
-	 */
-	public synchronized IApiProblemFilter[] getFilters(IResource resource) {
-		initializeApiFilters();
-		HashSet filters = (HashSet) fFilterMap.get(resource);
-		if(filters == null) {
-			return new IApiProblemFilter[0];
-		}
-		return (IApiProblemFilter[]) filters.toArray(new IApiProblemFilter[filters.size()]);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore#isFiltered(org.eclipse.pde.api.tools.internal.provisional.IApiProblem)
-	 */
-	public synchronized boolean isFiltered(IApiProblem problem) {
-		initializeApiFilters();
-		IResource resource = fProject.getProject().findMember(new Path(problem.getResourcePath()));
-		if(resource == null) {
-			return false;
-		}
-		HashSet filters = (HashSet) fFilterMap.get(resource);
-		if(filters == null) {
-			if(DEBUG) {
-				System.out.println("no filters defined for ["+problem.getResourcePath()+"] return not filtered"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			return false;
-		}
-		IApiProblemFilter filter = null;
-		for(Iterator iter = filters.iterator(); iter.hasNext();) {
-			filter = (IApiProblemFilter) iter.next();
-			if(filter.getUnderlyingProblem().equals(problem)) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore#dispose()
-	 */
-	public void dispose() {
-		if(fFilterMap != null) {
-			fFilterMap.clear();
-			fFilterMap = null;
-		}
- 		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore#getResources()
-	 */
-	public synchronized IResource[] getResources() {
-		initializeApiFilters();
-		Collection resources = fFilterMap.keySet();
-		return (IResource[]) resources.toArray(new IResource[resources.size()]);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore#removeFilters(org.eclipse.pde.api.tools.internal.provisional.IApiProblemFilter[])
-	 */
-	public synchronized boolean removeFilters(IApiProblemFilter[] filters) {
-		if(filters == null) {
-			if(DEBUG) {
-				System.out.println("null filters array, not removing"); //$NON-NLS-1$
-			}
-			return false;
-		}
-		if(fFilterMap == null) {
-			if(DEBUG) {
-				System.out.println("null filter map, not removing"); //$NON-NLS-1$
-			}
-			return false;
-		}
-		boolean success = true;
-		HashSet pfilters = null;
-		IResource resource = null;
-		for(int i = 0; i < filters.length; i++) {
-			resource = fProject.getProject().findMember(new Path(filters[i].getUnderlyingProblem().getResourcePath()));
-			if(resource == null) {
-				continue;
-			}
-			pfilters = (HashSet) fFilterMap.get(resource);
-			if(pfilters != null && pfilters.remove(filters[i])) {
-				if(DEBUG) {
-					System.out.println("removed filter: ["+filters[i]+"]"); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-				fNeedsSaving |= true;
-				success &= true;
-				if(pfilters.isEmpty()) {
-					success &= fFilterMap.remove(resource) != null;
-				}
-			}
-			else {
-				success &= false;
-			}
-		}
-		persistApiFilters();
-		return success;
-	}
-	
-	/**
-	 * Converts the information contained in this filter store to an xml string
-	 * @return an xml string representation of this filter store
-	 * @throws CoreException
-	 */
-	private String getStoreAsXml() throws CoreException {
-		if(fFilterMap == null) {
-			return null;
-		}
-		if(fFilterMap.isEmpty()) {
-			return null;
-		}
-		Document document = Util.newDocument();
-		Element root = document.createElement(IApiXmlConstants.ELEMENT_COMPONENT);
-		document.appendChild(root);
-		root.setAttribute(IApiXmlConstants.ATTR_ID, fProject.getElementName());
-		root.setAttribute(IApiXmlConstants.ATTR_VERSION, IApiXmlConstants.API_FILTER_STORE_CURRENT_VERSION);
-		HashSet filters = null;
-		IResource resource = null;
-		IApiProblem problem = null;
-		Element relement = null, felement = null;
-		for(Iterator iter = fFilterMap.keySet().iterator(); iter.hasNext();) {
-			resource = (IResource) iter.next();
-			relement = document.createElement(IApiXmlConstants.ELEMENT_RESOURCE);
-			relement.setAttribute(IApiXmlConstants.ATTR_PATH, resource.getProjectRelativePath().toPortableString());
-			root.appendChild(relement);
-			filters = (HashSet) fFilterMap.get(resource);
-			if(filters.isEmpty()) {
-				continue;
-			}
-			for(Iterator iter2 = filters.iterator(); iter2.hasNext();) {
-				problem = ((IApiProblemFilter) iter2.next()).getUnderlyingProblem();
-				felement = document.createElement(IApiXmlConstants.ELEMENT_FILTER);
-				felement.setAttribute(IApiXmlConstants.ATTR_ID, Integer.toString(problem.getId()));
-				if(problem.getMessageArguments().length > 0) {
-					felement.setAttribute(IApiXmlConstants.ATTR_MESSAGE_ARGUMENTS, createArgAttribute(problem.getMessageArguments()));
-				}
-				relement.appendChild(felement);
-			}
-		}
-		return Util.serializeDocument(document);
-	}
-
-	/**
-	 * Creates a single string attribute from an array of strings. Uses the '#' char as 
-	 * a delimiter
-	 * @param args
-	 * @return a single string attribute from an array or arguments
-	 */
-	private String createArgAttribute(String[] args) {
-		StringBuffer buff = new StringBuffer();
-		for(int i = 0; i < args.length; i++) {
-			buff.append(args[i]);
-			if(i < args.length-1) {
-				buff.append("#"); //$NON-NLS-1$
-			}
-		}
-		return buff.toString();
-	}
-	
-	/**
-	 * Initializes the backing filter map for this store from the .aip_filters file. Does nothing if the filter store has already been
-	 * initialized.
-	 */
-	private void initializeApiFilters() {
-		if(fFilterMap != null) {
-			return;
-		}
-		if(DEBUG) {
-			System.out.println("null filter map, creating a new one"); //$NON-NLS-1$
-		}
-		fFilterMap = new HashMap();
-		IPath filepath = getFilterFilePath();
-		IResource file = ResourcesPlugin.getWorkspace().getRoot().findMember(filepath);
-		if(file == null) {
-			return;
-		}
-		String xml = null;
-		try {
-			xml = new String(Util.getInputStreamAsCharArray(((IFile)file).getContents(), -1, IApiCoreConstants.UTF_8));
-		}
-		catch(CoreException ce) {}
-		catch(IOException ioe) {}
-		if(xml == null) {
-			return;
-		}
-		Element root = null;
-		try {
-			root = Util.parseDocument(xml);
-		}
-		catch(CoreException ce) {
-			ApiPlugin.log(ce);
-		}
-		if (!root.getNodeName().equals(IApiXmlConstants.ELEMENT_COMPONENT)) {
-			return;
-		}
-		String component = root.getAttribute(IApiXmlConstants.ATTR_ID);
-		if(component.length() == 0) {
-			return;
-		}
-		NodeList resources = root.getElementsByTagName(IApiXmlConstants.ELEMENT_RESOURCE);
-		Element element = null;
-		String path = null;
-		NodeList filters = null;
-		int id = 0;
-		String[] messageargs = null;
-		IResource resource = null;
-		ArrayList newfilters = new ArrayList();
-		for(int i = 0; i < resources.getLength(); i++) {
-			element = (Element) resources.item(i);
-			path = element.getAttribute(IApiXmlConstants.ATTR_PATH);
-			if(path.length() == 0) {
-				continue;
-			}
-			IProject project = (IProject) ResourcesPlugin.getWorkspace().getRoot().findMember(component);
-			if(project == null) {
-				continue;
-			}
-			resource = project.findMember(new Path(path));
-			if(resource == null) {
-				continue;
-			}
-			filters = element.getElementsByTagName(IApiXmlConstants.ELEMENT_FILTER);
-			for(int j = 0; j < filters.getLength(); j++) {
-				element = (Element) filters.item(j);
-				id = loadIntegerAttribute(element, IApiXmlConstants.ATTR_ID);
-				if(id <= 0) {
-					continue;
-				}
-				messageargs = element.getAttribute(IApiXmlConstants.ATTR_MESSAGE_ARGUMENTS).split("#"); //$NON-NLS-1$
-				newfilters.add(ApiProblemFactory.newApiProblem(resource.getProjectRelativePath().toPortableString(), 
-						messageargs, null, null, -1, -1, -1, id));
-			}
-		}
-		internalAddFilters((IApiProblem[]) newfilters.toArray(new IApiProblem[newfilters.size()]), false);
-		newfilters.clear();
-	}
-	
-	/**
-	 * Internal use method that allows auto-persisting of the filter file to be turned on or off
-	 * @param problems the problems to add the the store
-	 * @param persist if the filters should be auto-persisted after they are added
-	 */
-	private void internalAddFilters(IApiProblem[] problems, boolean persist) {
-		if(problems == null) {
-			if(DEBUG) {
-				System.out.println("null problems array not addding filters"); //$NON-NLS-1$
-			}
-			return;
-		}
-		initializeApiFilters();
-		IApiProblemFilter filter = null;
-		IResource resource = null;
-		HashSet filters = null;
-		for(int i = 0; i < problems.length; i++) {
-			filter = new ApiProblemFilter(fProject.getElementName(), problems[i]);
-			resource = fProject.getProject().findMember(new Path(problems[i].getResourcePath()));
-			if(resource == null) {
-				continue;
-			}
-			filters = (HashSet) fFilterMap.get(resource);
-			if(filters == null) {
-				filters = new HashSet();
-				fFilterMap.put(resource, filters);
-			}
-			fNeedsSaving |= filters.add(filter);
-		}
-		if(persist) {
-			persistApiFilters();
-		}
-	}
-	
-	/**
-	 * Loads the specified integer attribute from the given xml element
-	 * @param element
-	 * @param name
-	 * @return
-	 */
-	private static int loadIntegerAttribute(Element element, String name) {
-		String value = element.getAttribute(name);
-		if(value.length() == 0) {
-			return -1;
-		}
-		try {
-			int number = Integer.parseInt(value);
-			return number;
-		}
-		catch(NumberFormatException nfe) {}
-		return -1;
-	}
-	
-	/**
-	 * @return the {@link IPath} to the filters file
-	 */
-	private IPath getFilterFilePath() {
-		IPath path = fProject.getPath();
-		path = path.append(".settings").append(IApiCoreConstants.API_FILTERS_XML_NAME); //$NON-NLS-1$
-		return path;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return "Api filter store for component: "+fProject.getElementName(); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		if(fTriggeredChange) {
-			//eat the event if the deletion / addition / change occurred because we persisted the file
-			//via the persistApiFilters(..) method
-			//see https://bugs.eclipse.org/bugs/show_bug.cgi?id=222442
-			fTriggeredChange = false;
-			return;
-		}
-		if(event.getType() == IResourceChangeEvent.POST_CHANGE) {
-			if(event.getType() == IResourceChangeEvent.POST_CHANGE) {
-				IPath path = getFilterFilePath();
-				IResourceDelta leafdelta = event.getDelta().findMember(path);
-				if(leafdelta == null) {
-					return;
-				}
-				boolean needsbuild = false;
-				if(leafdelta.getKind() == IResourceDelta.REMOVED) {
-					if(fFilterMap != null) {
-						fFilterMap.clear();
-						needsbuild = true;
-					}
-				}
-				else if(leafdelta.getKind() == IResourceDelta.ADDED || 
-						(leafdelta.getFlags() & IResourceDelta.CONTENT) != 0 || 
-						(leafdelta.getFlags() & IResourceDelta.REPLACED) != 0) {
-					IResource resource = leafdelta.getResource();
-					if(resource != null && resource.getType() == IResource.FILE) {
-						IFile file = (IFile) resource;
-						if(file.isAccessible()) {
-							try {
-								fFilterMap.clear();
-								fFilterMap = null; 
-								initializeApiFilters();
-							}
-							finally {
-								needsbuild = true;
-							}
-						}
-					}
-				}
-				if(needsbuild) {
-					Util.getBuildJob(new IProject[] {fProject.getProject()}).schedule();
-				}
-			}
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiJavadocTag.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiJavadocTag.java
deleted file mode 100644
index 85979f3..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiJavadocTag.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.pde.api.tools.internal.provisional.IApiJavadocTag;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-
-/**
- * Base implementation of an {@link IApiJavadocTag}. Acts as a delegate
- * to a contributed doc tag (via plugins.xml)
- * 
- * @since 1.0.0
- */
-public class ApiJavadocTag implements IApiJavadocTag {
-
-	/**
-	 * Array of element specific comments, or <code>null</code> if not applicable.
-	 * Indexed by type and member constants in {@link IApiJavadocTag}.
-	 */
-	private String[][] comments = null;
-
-	/**
-	 * The id of the tag
-	 */
-	private String fId = null;
-	/**
-	 * The name of the tag (immediately proceeding the '@' symbol
-	 */
-	private String fName = null;
-	/**
-	 * collection of elements this tag applies to
-	 */
-	private int[] fElements = null;
-	/**
-	 * matching collection of comments for the elements
-	 */
-	private String[] fComments = null;
-	/**
-	 * restriction modifier for the tag
-	 */
-	private int fRModifier = RestrictionModifiers.NO_RESTRICTIONS;
-
-	/**
-	 * Lazily computed tag label, cached once it has been computed
-	 */
-	private String taglabel = null;
-	
-	/**
-	 * Constructor
-	 * @param id the id of the tag
-	 * @param name the name of the tag (not including the '@' symbol)
-	 * @param rmodifier 
-	 * @param elements
-	 * @param comments
-	 */
-	public ApiJavadocTag(String id, String name, int rmodifier, int[] elements, String[] comments) {
-		Assert.isNotNull(id);
-		fId = id;
-		Assert.isNotNull(name);
-		fName = name;
-		Assert.isNotNull(elements);
-		fElements = elements;
-		fComments = comments;
-		fRModifier = rmodifier;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.IApiJavadocTag#getTagId()
-	 */
-	public String getTagId() {
-		return fId;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.IApiJavadocTag#getRestrictionModifier()
-	 */
-	public int getRestrictionModifier() {
-		return fRModifier;
-	}
-
-	/**
-	 * Returns the comment for the given type ad member
-	 * @param type
-	 * @param member
-	 * @return the comment for the tag
-	 */
-	protected String getTagComment(int type, int member) {
-		initializeElements();
-		int i1 = 0;
-		if(type == IApiJavadocTag.TYPE_INTERFACE) {
-			i1 = 1;
-		}
-		int i2 = 2;
-		if(member == IApiJavadocTag.MEMBER_FIELD) {
-			i2 = 1;
-		}
-		else if(member == IApiJavadocTag.MEMBER_METHOD) {
-			i2 = 0;
-		}
-		return comments[i1][i2];
-	}
-	
-	/**
-	 * Initializes the cache of java element this tag applies to
-	 */
-	private void initializeElements() {
-		if(comments == null) {
-			comments = new String[2][3];
-			for(int i = 0; i < fElements.length; i++) {
-				boolean clazz = (IApiJavadocTag.TYPE_CLASS & fElements[i]) != 0;
-				boolean inter = (IApiJavadocTag.TYPE_INTERFACE & fElements[i]) != 0;
-				boolean method = (IApiJavadocTag.MEMBER_METHOD & fElements[i]) != 0;
-				boolean field = (IApiJavadocTag.MEMBER_FIELD & fElements[i]) != 0;
-				if(clazz) {
-					if (method) {
-						comments[0][0] = fComments[i];
-					}
-					if (field) {
-						comments[0][1] = fComments[i];
-					}
-					if(!field & !method) {
-						comments[0][2] = fComments[i];
-					}
-				}
-				if(inter) {
-					if (method) {
-						comments[1][0] = fComments[i];
-					}
-					if (field) {
-						comments[1][1] = fComments[i];
-					}
-					if(!field & !method) {
-						comments[1][2] = fComments[i];
-					}
-				}
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.IApiJavadocTag#getTagLabel()
-	 */
-	public String getTagLabel() {
-		if(taglabel == null) {
-			StringBuffer tag = new StringBuffer();
-			tag.append("@"); //$NON-NLS-1$
-			tag.append(fName);
-			taglabel = tag.toString();
-		}
-		return taglabel;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return getTagLabel();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.IApiJavadocTag#getCompleteTag(int, int)
-	 */
-	public String getCompleteTag(int type, int member) {
-		StringBuffer tag = new StringBuffer();
-		tag.append("@"); //$NON-NLS-1$
-		tag.append(fName);
-		tag.append(" "); //$NON-NLS-1$
-		tag.append(getTagComment(type, member));
-		return tag.toString();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.IApiJavadocTag#isApplicable(int, int)
-	 */
-	public boolean isApplicable(int type, int member) {
-		initializeElements();
-		return getTagComment(type, member) != null;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiPluginPreferenceInitializer.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiPluginPreferenceInitializer.java
deleted file mode 100644
index 260bd18..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiPluginPreferenceInitializer.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemTypes;
-
-/**
- * Initializes all of the core preferences for the {@link ApiPlugin}
- * 
- * @since 1.0.0
- */
-public class ApiPluginPreferenceInitializer extends AbstractPreferenceInitializer {
-	/**
-	 * Constructor
-	 */
-	public ApiPluginPreferenceInitializer() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		Preferences prefs = ApiPlugin.getDefault().getPluginPreferences();
-		
-		//restrictions
-		prefs.setDefault(IApiProblemTypes.ILLEGAL_EXTEND, ApiPlugin.VALUE_WARNING);
-		prefs.setDefault(IApiProblemTypes.ILLEGAL_IMPLEMENT, ApiPlugin.VALUE_WARNING);
-		prefs.setDefault(IApiProblemTypes.ILLEGAL_INSTANTIATE, ApiPlugin.VALUE_WARNING);
-		prefs.setDefault(IApiProblemTypes.ILLEGAL_REFERENCE, ApiPlugin.VALUE_WARNING);
-		prefs.setDefault(IApiProblemTypes.ILLEGAL_OVERRIDE, ApiPlugin.VALUE_WARNING);
-		prefs.setDefault(IApiProblemTypes.API_LEAK, ApiPlugin.VALUE_WARNING);
-		
-		//binary compatibilities
-		for (int i = 0, max = ApiPlugin.AllBinaryCompatibilityKeys.length; i < max; i++) {
-			prefs.setDefault(ApiPlugin.AllBinaryCompatibilityKeys[i], ApiPlugin.VALUE_ERROR);
-		}
-
-		// version management
-		prefs.setDefault(IApiProblemTypes.MISSING_SINCE_TAG, ApiPlugin.VALUE_ERROR);
-		prefs.setDefault(IApiProblemTypes.MALFORMED_SINCE_TAG, ApiPlugin.VALUE_ERROR);
-		prefs.setDefault(IApiProblemTypes.INVALID_SINCE_TAG_VERSION, ApiPlugin.VALUE_ERROR);
-		prefs.setDefault(IApiProblemTypes.INCOMPATIBLE_API_COMPONENT_VERSION, ApiPlugin.VALUE_ERROR);
-		
-		prefs.setDefault(IApiProblemTypes.MISSING_DEFAULT_API_PROFILE, ApiPlugin.VALUE_WARNING);
-	}
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiProfile.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiProfile.java
deleted file mode 100644
index bd27e9d..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiProfile.java
+++ /dev/null
@@ -1,1034 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.Dictionary;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.Map.Entry;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.internal.launching.EEVMType;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallChangedListener;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.PropertyChangeEvent;
-import org.eclipse.jdt.launching.VMStandin;
-import org.eclipse.jdt.launching.environments.IExecutionEnvironment;
-import org.eclipse.jdt.launching.environments.IExecutionEnvironmentsManager;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.ResolverError;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateHelper;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.Constants;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Implementation of an API profile.
- * 
- * @since 1.0
- */
-public class ApiProfile implements IApiProfile, IVMInstallChangedListener {
-	/**
-	 * Constant used for controlling tracing in the example class
-	 */
-	private static boolean DEBUG = Util.DEBUG;
-	
-	/**
-	 * Method used for initializing tracing in the example class
-	 */
-	public static void setDebug(boolean debugValue) {
-		DEBUG = debugValue || Util.DEBUG;
-	}
-
-	public static IWorkspaceRoot ROOT;
-	public static IPath ROOT_LOCATION_PATH;
-
-	static {
-		try {
-			ROOT = ResourcesPlugin.getWorkspace().getRoot();
-			ROOT_LOCATION_PATH = ROOT.getLocation();
-		} catch(IllegalStateException e) {
-			// ignore
-		}
-	}
-	private IApiComponent[] EMPTY_COMPONENTS = new IApiComponent[0];
-	
-	/**
-	 * profile name
-	 */
-	private String fName;
-	
-	/**
-	 * OSGi bundle state
-	 */
-	private State fState;
-	
-	/**
-	 * Maps bundle descriptions to components 
-	 */
-	private Map fComponents = new HashMap();
-	
-	/**
-	 * Maps component id's to components
-	 */
-	private Map fComponentsById = new HashMap();
-	
-	/**
-	 * Next available bundle id
-	 */
-	private long fNextId = 0L; 
-	
-	/**
-	 * Execution environment identifier
-	 */
-	private String fExecutionEnvironment;
-	
-	/**
-	 * Component representing the system library
-	 */
-	private IApiComponent fSystemLibraryComponent;
-	
-	/**
-	 * Whether an execution environment should be automatically resolved 
-	 * as API components are added.
-	 */
-	private boolean fAutoResolve = false;
-	
-	/**
-	 * Execution environment status
-	 */
-	private IStatus fEEStatus = null;
-
-	/**
-	 * Constant to match any value for ws, os, arch.
-	 */
-	private AnyValue ANY_VALUE = new AnyValue("*"); //$NON-NLS-1$
-	
-	/**
-	 * Cache of resolved packages. Map of <packageName> -> <Map of <componentName> -> <IApiComponent[]>>.
-	 * For each package the cache contains a map of API components that provide that package,
-	 * by source component name (including the <code>null</code> component name).
-	 */
-	private HashMap fComponentsCache = new HashMap();
-	
-	/**
-	 * Cache of system package names
-	 */
-	private Set fSystemPackageNames = null;
-	
-	/**
-	 * The VM install this profile is bound to for system libraries or <code>null</code>.
-	 * Only used in the IDE when OSGi is running.
-	 */
-	private IVMInstall fVMBinding = null;
-
-	/**
-	 * Constructs a new API profile with the given name.
-	 * 
-	 * @param name profile name
-	 */
-	public ApiProfile(String name) {
-		fName = name;
-		fAutoResolve = true;
-		fEEStatus = new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, CoreMessages.ApiProfile_0);
-		fState = StateObjectFactory.defaultFactory.createState(true);
-	}	
-		
-	/**
-	 * Constructs a new API profile with the given attributes.
-	 * 
-	 * @param name profile name
-	 * @param eeDescriptoin execution environment description file
-	 * @throws CoreException if unable to create a profile with the given attributes
-	 */
-	public ApiProfile(String name, File eeDescription) throws CoreException {
-		this(name);
-		fAutoResolve = false;
-		EEVMType.clearProperties(eeDescription);
-		String profile = EEVMType.getProperty(EEVMType.PROP_CLASS_LIB_LEVEL, eeDescription);
-		initialize(profile, eeDescription);
-		fEEStatus = new Status(IStatus.OK, ApiPlugin.PLUGIN_ID,
-				MessageFormat.format(CoreMessages.ApiProfile_1, new String[]{profile}));
-	}
-	
-	/**
-	 * Initializes this profile to resolve in the execution environment
-	 * associated with the given symbolic name.
-	 * 
-	 * @param environmentId execution environment symbolic name
-	 * @param eeFile execution environment description file
-	 * @throws CoreException if unable to initialize based on the given id
-	 */
-	private void initialize(String environmentId, File eeFile) throws CoreException {
-		Properties properties = null;
-		if (ApiPlugin.isRunningInFramework()) {
-			properties = getJavaProfileProperties(environmentId);
-		} else {
-			properties = Util.getEEProfile(eeFile);
-		}
-		if (properties == null) {
-			abort("Unknown execution environment: " + environmentId, null); //$NON-NLS-1$
-		} else {
-			initialize(properties, eeFile);
-		}
-	}
-	
-	/**
-	 * Throws a core exception with the given message and underlying exception,
-	 * if any.
-	 * 
-	 * @param message error message
-	 * @param e underlying exception or <code>null</code>
-	 * @throws CoreException
-	 */
-	private static void abort(String message, Throwable e) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, message, e));
-	}	
-	
-	/**
-	 * Returns the property file for the given environment or <code>null</code>.
-	 * 
-	 * @param ee execution environment symbolic name
-	 * @return properties file or <code>null</code> if none
-	 */
-	public static Properties getJavaProfileProperties(String ee) throws CoreException {
-		Bundle osgiBundle = Platform.getBundle("org.eclipse.osgi"); //$NON-NLS-1$
-		if (osgiBundle == null) 
-			return null;
-		URL profileURL = osgiBundle.getEntry(ee.replace('/', '_') + ".profile"); //$NON-NLS-1$
-		if (profileURL != null) {
-			InputStream is = null;
-			try {
-				profileURL = FileLocator.resolve(profileURL);
-				URLConnection openConnection = profileURL.openConnection();
-				openConnection.setUseCaches(false);
-				is = openConnection.getInputStream();
-				if (is != null) {
-					Properties profile = new Properties();
-					profile.load(is);
-					return profile;
-				}
-			} catch (IOException e) {
-				abort("Unable to read profile: " + ee, e); //$NON-NLS-1$
-			} finally {
-				try {
-					if (is != null) {
-						is.close();
-					}
-				} catch (IOException e) {
-					ApiPlugin.log(e);
-				}
-			}
-		}
-		return null;
-	}		
-	
-	/**
-	 * Initializes this profile from the given properties.
-	 * 
-	 * @param profile OGSi profile properties
-	 * @param description execution environment description file
-	 * @throws CoreException if unable to initialize
-	 */
-	private void initialize(Properties profile, File description) throws CoreException {
-		String value = profile.getProperty(Constants.FRAMEWORK_SYSTEMPACKAGES);
-		Dictionary dictionary = new Hashtable();
-		String[] systemPackages = null;
-		if (value != null) {
-			systemPackages = value.split(","); //$NON-NLS-1$
-			dictionary.put(Constants.FRAMEWORK_SYSTEMPACKAGES, value);
-		}
-		value = profile.getProperty(Constants.FRAMEWORK_EXECUTIONENVIRONMENT);
-		if (value != null) {
-			dictionary.put(Constants.FRAMEWORK_EXECUTIONENVIRONMENT, value);
-		}
-		fExecutionEnvironment = profile.getProperty("osgi.java.profile.name"); //$NON-NLS-1$
-		if (fExecutionEnvironment == null) {
-			abort("Profile file missing 'osgi.java.profile.name'" , null); //$NON-NLS-1$
-		}
-		dictionary.put("osgi.os", ANY_VALUE); //$NON-NLS-1$
-		dictionary.put("osgi.arch", ANY_VALUE); //$NON-NLS-1$
-		dictionary.put("osgi.ws", ANY_VALUE); //$NON-NLS-1$
-		dictionary.put("osgi.nl", ANY_VALUE); //$NON-NLS-1$
-		fState.setPlatformProperties(dictionary);
-		// clean up previous system library
-		if (fSystemLibraryComponent != null) {
-			fComponentsById.remove(fSystemLibraryComponent.getId());
-		}
-		fSystemPackageNames = null;
-		fComponentsCache.clear();
-		// set new system library
-		fSystemLibraryComponent = new SystemLibraryApiComponent(this, description, systemPackages);
-		fComponentsById.put(fSystemLibraryComponent.getId(), fSystemLibraryComponent);
-	}
-
-	/* (non-Javadoc)
-	 * @see IApiProfile#addApiComponents(org.eclipse.pde.api.tools.model.component.IApiComponent[], boolean)
-	 */
-	public void addApiComponents(IApiComponent[] components) {
-		HashSet ees = new HashSet();
-		for (int i = 0; i < components.length; i++) {
-			BundleApiComponent component = (BundleApiComponent) components[i];
-			if (component.isSourceComponent()) {
-				continue;
-			}
-			BundleDescription description = component.getBundleDescription();
-			fState.addBundle(description);
-			this.storeBundleDescription(description, component);
-			fComponentsById.put(component.getId(), component);
-			ees.addAll(Arrays.asList(component.getExecutionEnvironments()));
-		}
-		resolveSystemLibrary(ees);
-		fState.resolve();
-		if (DEBUG) {
-			ResolverError[] errors = getErrors();
-			int length = errors.length;
-			if (length != 0) {
-				System.out.println("Errors found during state resolution"); //$NON-NLS-1$
-				for (int i = 0; i < length; i++) {
-					ResolverError resolverError = errors[i];
-					System.err.println(resolverError);
-				}
-				System.out.println("All components added to the state"); //$NON-NLS-1$
-				BundleDescription[] bundles = fState.getBundles();
-				Arrays.sort(bundles, new Comparator() {
-					public int compare(Object o1, Object o2) {
-						BundleDescription bundleDescription1 = (BundleDescription) o1;
-						BundleDescription bundleDescription2 = (BundleDescription) o2;
-						return bundleDescription1.getSymbolicName().compareTo(bundleDescription2.getSymbolicName());
-					}
-				});
-				for (int i = 0, max = bundles.length; i < max; i++) {
-					BundleDescription bundleDescription = bundles[i];
-					System.out.println("bundle descriptions added to the state[" + i + "] : " + bundleDescription.getSymbolicName()); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-				System.out.println("All available components"); //$NON-NLS-1$
-				Arrays.sort(components, new Comparator() {
-					public int compare(Object o1, Object o2) {
-						IApiComponent component1 = (IApiComponent) o1;
-						IApiComponent component2 = (IApiComponent) o2;
-						return component1.getId().compareTo(component2.getId());
-					}
-				});
-				for (int i = 0, max = components.length; i < max; i++) {
-					IApiComponent component = components[i];
-					if (component instanceof PluginProjectApiComponent) {
-						System.out.println("workspace component[" + i + "] : " + component); //$NON-NLS-1$ //$NON-NLS-2$
-					} else {
-						System.out.println("Binary component   [" + i + "] : " + component); //$NON-NLS-1$ //$NON-NLS-2$
-					}
-				}
-			} else {
-				System.out.println("No errors found during state resolution"); //$NON-NLS-1$
-			}
-		}
-	}
-
-	/**
-	 * Resolves and initializes the system library to use based on API component requirements.
-	 * Only works when running in the framework. Has no effect if not running in the framework.
-	 */
-	private void resolveSystemLibrary(HashSet ees) {
-		if (ApiPlugin.isRunningInFramework() && fAutoResolve) {
-			IStatus error = null;
-			IExecutionEnvironmentsManager manager = JavaRuntime.getExecutionEnvironmentsManager();
-			Iterator iterator = ees.iterator();
-			Map VMsToEEs = new HashMap();
-			while (iterator.hasNext()) {
-				String ee = (String) iterator.next();
-				IExecutionEnvironment environment = manager.getEnvironment(ee);
-				if (environment != null) {
-					IVMInstall[] compatibleVMs = environment.getCompatibleVMs();
-					for (int i = 0; i < compatibleVMs.length; i++) {
-						IVMInstall vm = compatibleVMs[i];
-						Set EEs = (Set) VMsToEEs.get(vm);
-						if (EEs == null) {
-							EEs = new HashSet();
-							VMsToEEs.put(vm, EEs);
-						}
-						EEs.add(ee);
-					}
-				}
-			}
-			// select VM that is compatible with most required environments
-			iterator = VMsToEEs.entrySet().iterator();
-			IVMInstall bestFit = null;
-			int bestCount = 0;
-			while (iterator.hasNext()) {
-				Entry entry = (Entry) iterator.next();
-				Set EEs = (Set)entry.getValue();
-				if (EEs.size() > bestCount) {
-					bestCount = EEs.size();
-					bestFit = (IVMInstall)entry.getKey();
-				}
-			}
-			String systemEE = null;
-			if (bestFit != null) {
-				// find the EE this VM is strictly compatible with
-				IExecutionEnvironment[] environments = manager.getExecutionEnvironments();
-				for (int i = 0; i < environments.length; i++) {
-					IExecutionEnvironment environment = environments[i];
-					if (environment.isStrictlyCompatible(bestFit)) {
-						systemEE = environment.getId();
-						break;
-					}
-				}
-				if (systemEE != null) {
-					// only update if different from current or missing VM binding
-					if (!systemEE.equals(getExecutionEnvironment()) || fVMBinding == null) {
-						try {
-							File file = Util.createEEFile(bestFit, systemEE);
-							JavaRuntime.addVMInstallChangedListener(this);
-							fVMBinding = bestFit;
-							initialize(systemEE, file);
-						} catch (CoreException e) {
-							error = new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, CoreMessages.ApiProfile_2, e);
-						} catch (IOException e) {
-							error = new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, CoreMessages.ApiProfile_2, e);
-						}
-					}
-				} else {
-					// VM is not strictly compatible with any EE
-					error = new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, CoreMessages.ApiProfile_4);
-				}
-			} else {
-				// no VMs match any required EE
-				error = new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, CoreMessages.ApiProfile_4);
-			}
-			if (error == null) {
-				// build status for unbound required EE's
-				Set missing = new HashSet(ees);
-				Set covered = new HashSet((Set)VMsToEEs.get(bestFit));
-				missing.removeAll(covered);
-				if (missing.isEmpty()) {
-					fEEStatus = new Status(IStatus.OK, ApiPlugin.PLUGIN_ID,
-							MessageFormat.format(CoreMessages.ApiProfile_1, new String[]{systemEE}));
-				} else {
-					iterator = missing.iterator();
-					MultiStatus multi = new MultiStatus(ApiPlugin.PLUGIN_ID, 0, CoreMessages.ApiProfile_7, null);
-					while (iterator.hasNext()) {
-						String id = (String) iterator.next();
-						multi.add(new Status(IStatus.WARNING, ApiPlugin.PLUGIN_ID,
-								MessageFormat.format(CoreMessages.ApiProfile_8, new String[]{id})));
-					}
-					fEEStatus = multi;
-				}
-			} else {
-				fEEStatus = error;
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see IApiProfile#getApiComponents()
-	 */
-	public IApiComponent[] getApiComponents() {
-		Collection values = fComponentsById.values();
-		return (IApiComponent[]) values.toArray(new IApiComponent[values.size()]);
-	}
-	
-	/* (non-Javadoc)
-	 * @see IApiProfile#getName()
-	 */
-	public String getName() {
-		return fName;
-	}
-	
-	/* (non-Javadoc)
-	 * @see IApiProfile#removeApiComponents(org.eclipse.pde.api.tools.model.IApiComponent[])
-	 */
-	public void removeApiComponents(IApiComponent[] components) {
-		for (int i = 0; i < components.length; i++) {
-			BundleApiComponent component = (BundleApiComponent) components[i];
-			fState.removeBundle(component.getBundleDescription());
-			fComponents.remove(component);
-			fComponentsById.remove(component.getId());
-		}
-		fState.resolve();
-	}
-
-	/* (non-Javadoc)
-	 * @see IApiProfile#resolvePackage(org.eclipse.pde.api.tools.model.IApiComponent, java.lang.String)
-	 */
-	public synchronized IApiComponent[] resolvePackage(IApiComponent sourceComponent, String packageName) throws CoreException {
-		HashMap componentsForPackage = (HashMap) this.fComponentsCache.get(packageName);
-		IApiComponent[] cachedComponents = null;
-		if (componentsForPackage != null) {
-			cachedComponents = (IApiComponent[]) componentsForPackage.get(sourceComponent);
-			if (cachedComponents != null) {
-				return cachedComponents;
-			}
-		} else {
-			componentsForPackage = new HashMap();
-			this.fComponentsCache.put(packageName, componentsForPackage);
-		}
-		// check system packages first
-		if (isSystemPackage(packageName)) {
-			if (fSystemLibraryComponent != null) {
-				cachedComponents = new IApiComponent[] { fSystemLibraryComponent };
-			} else {
-				return EMPTY_COMPONENTS;
-			}
-		} else {
-			if (sourceComponent != null) {
-				List componentsList = new ArrayList();
-				resolvePackage0(sourceComponent, packageName, componentsList);
-				if (componentsList.size() != 0) {
-					cachedComponents = new IApiComponent[componentsList.size()];
-					componentsList.toArray(cachedComponents);
-				}
-			}
-		}
-		if (cachedComponents == null) {
-			cachedComponents = EMPTY_COMPONENTS;
-		}
-		componentsForPackage.put(sourceComponent, cachedComponents);
-		return cachedComponents;
-	}
-
-	private void resolvePackage0(IApiComponent component, String packageName, List componentsList) throws CoreException {
-		BundleDescription bundle = ((BundleApiComponent)component).getBundleDescription();
-		if (bundle != null) {
-			StateHelper helper = fState.getStateHelper();
-			ExportPackageDescription[] visiblePackages = helper.getVisiblePackages(bundle);
-			for (int i = 0; i < visiblePackages.length; i++) {
-				ExportPackageDescription pkg = visiblePackages[i];
-				if (packageName.equals(pkg.getName())) {
-					BundleDescription bundleDescription = pkg.getExporter();
-					IApiComponent exporter = this.getBundleDescription(bundleDescription);
-					if (exporter != null) {
-						if (pkg.isRoot()) {
-							componentsList.add(exporter);
-						} else {
-							resolvePackage0(exporter, packageName, componentsList);
-						}
-					}
-				}
-			}
-			// check for package within the source component
-			String[] packageNames = component.getPackageNames();
-			// TODO: would be more efficient to have containsPackage(...) or something
-			for (int i = 0; i < packageNames.length; i++) {
-				if (packageName.equals(packageNames[i])) {
-					componentsList.add(component);
-				}
-			}
-		}
-	}
-	/**
-	 * Returns whether the specified package is supplied by the system
-	 * library.
-	 * 
-	 * @param packageName package name
-	 * @return whether the specified package is supplied by the system
-	 * 	library 
-	 */
-	private boolean isSystemPackage(String packageName) {
-		if (packageName.startsWith("java.")) { //$NON-NLS-1$
-			return true;
-		}
-		if (fSystemPackageNames == null) {
-			ExportPackageDescription[] systemPackages = fState.getSystemPackages();
-			fSystemPackageNames = new HashSet(systemPackages.length);
-			for (int i = 0; i < systemPackages.length; i++) {
-				fSystemPackageNames.add(systemPackages[i].getName());
-			}
-		}
-		return fSystemPackageNames.contains(packageName);
-	}
-
-	
-	/* (non-Javadoc)
-	 * @see IApiProfile#newApiComponent(java.lang.String)
-	 */
-	public IApiComponent newApiComponent(String location) throws CoreException {
-		BundleApiComponent component = new BundleApiComponent(this, location);
-		if(component.isValidBundle()) {
-			component.init(fState, nextId());
-			return component;
-		}
-		return null;
-	}
-
-	
-	/* (non-Javadoc)
-	 * @see IApiProfile#newApiComponent(IPluginModelBase)
-	 */
-	public IApiComponent newApiComponent(IPluginModelBase model) throws CoreException {
-		BundleDescription bundleDescription = model.getBundleDescription();
-		if (bundleDescription == null) {
-			return null;
-		}
-		String location = bundleDescription.getLocation();
-		if (location == null) {
-			return null;
-		}
-		IPath pathForLocation = new Path(location);
-		BundleApiComponent component = null;
-		if (ROOT_LOCATION_PATH != null && ROOT_LOCATION_PATH.isPrefixOf(pathForLocation)) {
-			if(isValidProject(location)) {
-				component = new PluginProjectApiComponent(this, location, model);
-			}
-		} else {
-			component = new BundleApiComponent(this, location);
-		}
-		if(component != null && component.isValidBundle()) {
-			component.init(fState, nextId());
-			return component;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns if the specified location is a valid API project or not.
-	 * <p>
-	 * We accept projects that are plug-ins even if not API enabled (i.e.
-	 * with API nature), as we still need them to make a complete
-	 * API profile without resolution errors.
-	 * </p> 
-	 * @param location
-	 * @return true if the location is valid, false otherwise
-	 * @throws CoreException
-	 */
-	private boolean isValidProject(String location) throws CoreException {
-		IPath path = new Path(location);
-		IProject project = ApiProfile.ROOT.getProject(path.lastSegment());
-		return project != null && project.exists();
-	}
-	
-	/**
-	 * Returns the next available bundle identifier.
-	 * 
-	 * @return next available bundle identifier
-	 */
-	private long nextId() {
-		return ++fNextId;
-	}
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IApiState#getApiComponent(java.lang.String)
-	 */
-	public IApiComponent getApiComponent(String id) {
-		return (IApiComponent) fComponentsById.get(id);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IApiState#getExecutionEnvironment()
-	 */
-	public String getExecutionEnvironment() {
-		return fExecutionEnvironment;
-	}
-	
-	/**
-	 * Returns all errors in the state.
-	 * 
-	 * @return state errors
-	 */
-	public ResolverError[] getErrors() {
-		List errs = new ArrayList();
-		BundleDescription[] bundles = fState.getBundles();
-		for (int i = 0; i < bundles.length; i++) {
-			ResolverError[] errors = fState.getResolverErrors(bundles[i]);
-			for (int j = 0; j < errors.length; j++) {
-				errs.add(errors[j]);
-			}
-		}
-		return (ResolverError[]) errs.toArray(new ResolverError[errs.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see IApiProfile#setName(java.lang.String)
-	 */
-	public void setName(String name) {
-		if(name != null) {
-			fName = name;
-		}
-	}
-
-	/**
-	 * Returns a file to the root of the specified bundle or <code>null</code>
-	 * if none. Searches for plug-ins based on the "requiredBundles" system
-	 * property.
-	 * 
-	 * @param bundleName symbolic name
-	 * @return bundle root or <code>null</code>
-	 */
-	static File getBundle(String bundleName) {
-		String root = System.getProperty("requiredBundles"); //$NON-NLS-1$
-		if (root != null) {
-			File bundlesRoot = new File(root);
-			if (bundlesRoot.exists() && bundlesRoot.isDirectory()) {
-				File[] bundles = bundlesRoot.listFiles();
-				if (bundles != null) {
-					StringBuffer buffer = new StringBuffer(bundleName);
-					buffer.append('_');
-					String key = String.valueOf(buffer);
-					for (int i = 0; i < bundles.length; i++) {
-						File file = bundles[i];
-						if (file.getName().startsWith(key)) {
-							return file;
-						}
-					}
-				}
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Retrieve the properties from the OSGi bundle (jar)
-	 * 
-	 * @param location the location to look
-	 * @param ee the id of the execution environment
-	 * @return the ee properties file or <code>null</code> if it could not be created 
-	 * @throws CoreException
-	 */
-	static Properties getEEProfile(File location, String ee) throws CoreException {
-		String filename = ee + ".profile"; //$NON-NLS-1$
-		InputStream is = null;
-		ZipFile zipFile = null;
-		try {
-			// find the input stream to the profile properties file
-			if (location.isDirectory()) {
-				File file = new File(location, filename);
-				if (file.exists())
-					is = new FileInputStream(file);
-			} else {
-				try {
-					zipFile = new ZipFile(location, ZipFile.OPEN_READ);
-					ZipEntry entry = zipFile.getEntry(filename);
-					if (entry != null)
-						is = zipFile.getInputStream(entry);
-				} catch (IOException e) {
-					// nothing to do
-				}
-			}
-			if (is != null) {
-				Properties profile = new Properties();
-				profile.load(is);
-				return profile;
-			}
-		} catch (IOException e) {
-			// nothing to do
-		} finally {
-			if (is != null)
-				try {
-					is.close();
-				} catch (IOException e) {
-					ApiPlugin.log(e);
-				}
-			if (zipFile != null)
-				try {
-					zipFile.close();
-				} catch (IOException e) {
-					ApiPlugin.log(e);
-				}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see IApiProfile#dispose()
-	 */
-	public void dispose() {
-		if (ApiPlugin.isRunningInFramework()) {
-			JavaRuntime.removeVMInstallChangedListener(this);
-		}
-		IApiComponent[] components = getApiComponents();
-		for (int i = 0; i < components.length; i++) {
-			components[i].dispose();
-		}
-		fComponents.clear();
-		fComponentsById.clear();
-		fComponentsCache.clear();
-		if (fSystemPackageNames != null) fSystemPackageNames.clear();
-		fSystemLibraryComponent = null;
-		fState = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.IApiProfile#writeProfileDescription(java.io.OutputStream)
-	 */
-	public void writeProfileDescription(OutputStream stream) throws CoreException {
-		String xml = getProfileXML(this);
-		try {
-			stream.write(xml.getBytes(IApiCoreConstants.UTF_8));
-		} catch (UnsupportedEncodingException e) {
-			abort("Error writing pofile descrition", e); //$NON-NLS-1$
-		} catch (IOException e) {
-			abort("Error writing pofile descrition", e); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Returns an XML description of the given profile.
-	 * 
-	 * @param profile API profile
-	 * @return XML
-	 * @throws CoreException
-	 */
-	private String getProfileXML(IApiProfile profile) throws CoreException {
-		// pool bundles by location
-		Map pools = new HashMap();
-		List unRooted = new ArrayList();
-		IApiComponent[] components = profile.getApiComponents();
-		for(int i = 0; i < components.length; i++) {
-			if(!components[i].isSystemComponent()) {
-				String location = components[i].getLocation();
-				File file = new File(location);
-				if (file.exists()) {
-					File dir = file.getParentFile();
-					if (dir != null) {
-						List pool = (List) pools.get(dir);
-						if (pool == null) {
-							pool = new ArrayList();
-							pools.put(dir, pool);
-						}
-						pool.add(components[i]);
-					} else {
-						unRooted.add(components[i]);
-					}
-				}
-				
-			}
-		}
-		Document document = Util.newDocument();
-		Element root = document.createElement(IApiXmlConstants.ELEMENT_APIPROFILE);
-		document.appendChild(root);
-		root.setAttribute(IApiXmlConstants.ATTR_NAME, profile.getName());
-		root.setAttribute(IApiXmlConstants.ATTR_VERSION, IApiXmlConstants.API_PROFILE_CURRENT_VERSION);
-		// dump component pools
-		Element subroot = null;
-		File dir = null;
-		List comps = null;
-		IApiComponent comp = null;
-		Element celement = null;
-		for(Iterator iter = pools.keySet().iterator(); iter.hasNext();) {
-			dir = (File) iter.next();
-			subroot = document.createElement(IApiXmlConstants.ELEMENT_POOL);
-			root.appendChild(subroot);
-			subroot.setAttribute(IApiXmlConstants.ATTR_LOCATION, new Path(dir.getAbsolutePath()).toPortableString());
-			comps = (List) pools.get(dir);
-			for(Iterator iter2 = comps.iterator(); iter2.hasNext();) {
-				comp = (IApiComponent) iter2.next();
-				celement = document.createElement(IApiXmlConstants.ELEMENT_APICOMPONENT);
-				celement.setAttribute(IApiXmlConstants.ATTR_ID, comp.getId());
-				celement.setAttribute(IApiXmlConstants.ATTR_VERSION, comp.getVersion());
-				subroot.appendChild(celement);
-			}
-		}
-		// dump un-pooled components
-		for(Iterator iter = unRooted.iterator(); iter.hasNext();) {
-			comp = (IApiComponent) iter.next();
-			celement = document.createElement(IApiXmlConstants.ELEMENT_APICOMPONENT);
-			celement.setAttribute(IApiXmlConstants.ATTR_ID, comp.getId());
-			celement.setAttribute(IApiXmlConstants.ATTR_VERSION, comp.getVersion());
-			celement.setAttribute(IApiXmlConstants.ATTR_LOCATION, new Path(comp.getLocation()).toPortableString());
-			root.appendChild(celement);
-		}
-		return Util.serializeDocument(document);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.IApiProfile#getDependentComponents(org.eclipse.pde.api.tools.IApiComponent[])
-	 */
-	public IApiComponent[] getDependentComponents(IApiComponent[] components) {
-		ArrayList bundles = getBundleDescriptions(components);
-		BundleDescription[] bundleDescriptions = fState.getStateHelper().getDependentBundles((BundleDescription[]) bundles.toArray(new BundleDescription[bundles.size()]));
-		return getApiComponents(bundleDescriptions);
-	}
-
-	/**
-	 * Returns an array of API components corresponding to the given bundle descriptions.
-	 * 
-	 * @param bundles bundle descriptions
-	 * @return corresponding API components
-	 */
-	private IApiComponent[] getApiComponents(BundleDescription[] bundles) {
-		ArrayList dependents = new ArrayList(bundles.length);
-		for (int i = 0; i < bundles.length; i++) {
-			BundleDescription bundle = bundles[i];
-			IApiComponent component = getApiComponent(bundle.getSymbolicName());
-			if (component != null) {
-				dependents.add(component);
-			}
-		}
-		return (IApiComponent[]) dependents.toArray(new IApiComponent[dependents.size()]);
-	}
-
-	/**
-	 * Returns an array of bundle descriptions corresponding to the given API components.
-	 * 
-	 * @param components API components
-	 * @return corresponding bundle descriptions
-	 */
-	private ArrayList getBundleDescriptions(IApiComponent[] components) {
-		ArrayList bundles = new ArrayList(components.length);
-		for (int i = 0; i < components.length; i++) {
-			IApiComponent component = components[i];
-			if (component instanceof BundleApiComponent) {
-				bundles.add(((BundleApiComponent)component).getBundleDescription());
-			}
-		}
-		return bundles;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.IApiProfile#getPrerequisiteComponents(org.eclipse.pde.api.tools.IApiComponent[])
-	 */
-	public IApiComponent[] getPrerequisiteComponents(IApiComponent[] components) {
-		ArrayList bundles = getBundleDescriptions(components);
-		BundleDescription[] bundlesDescriptions = fState.getStateHelper().getPrerequisites((BundleDescription[]) bundles.toArray(new BundleDescription[bundles.size()]));
-		return getApiComponents(bundlesDescriptions);
-	}
-	
-	private IApiComponent getBundleDescription(BundleDescription bundleDescription) {
-		return (IApiComponent) this.fComponents.get(bundleDescription.getSymbolicName() + bundleDescription.getVersion().toString());
-	}
-	
-	private void storeBundleDescription(BundleDescription bundleDescription, IApiComponent component) {
-		this.fComponents.put(bundleDescription.getSymbolicName() + bundleDescription.getVersion().toString(), component);
-	}
-	
-	/**
-	 * Reset the given bundle.
-	 * 
-	 * @param component
-	 * @param description
-	 * @throws CoreException 
-	 */
-	protected synchronized void reset(BundleApiComponent component, BundleDescription description) throws CoreException {
-		fComponentsCache.clear();
-		if (description != null) {
-			fState.removeBundle(description);
-		}
-		component.init(fState, nextId());
-		fState.addBundle(component.getBundleDescription());
-		fState.resolve();
-	}
-	
-	/**
-	 * Clear cached settings for the given package.
-	 * 
-	 * @param packageName
-	 */
-	protected synchronized void clearPackage(String packageName) {
-		fComponents.remove(packageName);
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return getName();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiProfile#getExecutionEnvironmentStatus()
-	 */
-	public IStatus getExecutionEnvironmentStatus() {
-		return fEEStatus;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.launching.IVMInstallChangedListener#defaultVMInstallChanged(org.eclipse.jdt.launching.IVMInstall, org.eclipse.jdt.launching.IVMInstall)
-	 */
-	public void defaultVMInstallChanged(IVMInstall previous, IVMInstall current) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.launching.IVMInstallChangedListener#vmAdded(org.eclipse.jdt.launching.IVMInstall)
-	 */
-	public void vmAdded(IVMInstall vm) {
-		if (!(vm instanceof VMStandin)) {
-			// there may be a better fit for VMs/EEs
-			rebindVM();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.launching.IVMInstallChangedListener#vmChanged(org.eclipse.jdt.launching.PropertyChangeEvent)
-	 */
-	public void vmChanged(PropertyChangeEvent event) {
-		if (!(event.getSource() instanceof VMStandin)) {
-			String property = event.getProperty();
-			if (IVMInstallChangedListener.PROPERTY_INSTALL_LOCATION.equals(property) ||
-					IVMInstallChangedListener.PROPERTY_LIBRARY_LOCATIONS.equals(property)) {
-				rebindVM();
-			}
-		}
-	}
-
-	/**
-	 * Re-binds the VM this profile is bound to.
-	 */
-	private void rebindVM() {
-		fVMBinding = null;
-		IApiComponent[] components = getApiComponents();
-		HashSet ees = new HashSet();
-		for (int i = 0; i < components.length; i++) {
-			ees.addAll(Arrays.asList(components[i].getExecutionEnvironments()));
-		}
-		resolveSystemLibrary(ees);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.launching.IVMInstallChangedListener#vmRemoved(org.eclipse.jdt.launching.IVMInstall)
-	 */
-	public void vmRemoved(IVMInstall vm) {
-		if (vm.equals(fVMBinding)) {
-			rebindVM();
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiProfileManager.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiProfileManager.java
deleted file mode 100644
index f831a34..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiProfileManager.java
+++ /dev/null
@@ -1,680 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.io.File;
-import java.io.FileFilter;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.ISaveContext;
-import org.eclipse.core.resources.ISaveParticipant;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.ElementChangedEvent;
-import org.eclipse.jdt.core.IElementChangedListener;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaElementDelta;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.pde.api.tools.internal.builder.ApiAnalysisBuilder;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfileManager;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.ModelEntry;
-import org.eclipse.pde.core.plugin.PluginRegistry;
-import org.eclipse.pde.internal.core.IPluginModelListener;
-import org.eclipse.pde.internal.core.PDECore;
-import org.eclipse.pde.internal.core.PluginModelDelta;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * This manager is used to maintain (persist, restore, access, update) Api profiles.
- * This manager is lazy, in that caches are built and maintained when requests
- * are made for information, nothing is pre-loaded when the manager is initialized.
- * 
- * @since 1.0.0
- */
-public final class ApiProfileManager implements IApiProfileManager, ISaveParticipant, IElementChangedListener, IPluginModelListener, IResourceChangeListener {
-	
-	/**
-	 * Constant used for controlling tracing in the API tool builder
-	 */
-	private static boolean DEBUG = Util.DEBUG;
-	
-	/**
-	 * Method used for initializing tracing in the API tool builder
-	 */
-	public static void setDebug(boolean debugValue) {
-		DEBUG = debugValue || Util.DEBUG;
-	}
-	
-	/**
-	 * Constant for the default API profile.
-	 * Value is: <code>default_api_profile</code>
-	 */
-	private static final String DEFAULT_PROFILE = "default_api_profile"; //$NON-NLS-1$
-	
-	/**
-	 * The main cache for the manager.
-	 * The form of the cache is: 
-	 * <pre>
-	 * HashMap<String(profileid), ApiProfile>
-	 * </pre>
-	 */
-	private HashMap profilecache = null;
-	
-	/**
-	 * The current default {@link IApiProfile}
-	 */
-	private String defaultprofile = null;
-	
-	/**
-	 * The current workspace profile
-	 */
-	private IApiProfile workspaceprofile = null;
-	
-	/**
-	 * The default save location for persisting the cache from this manager.
-	 */
-	private IPath savelocation = ApiPlugin.getDefault().getStateLocation().append(".api_profiles").addTrailingSeparator(); //$NON-NLS-1$
-	
-	/**
-	 * If the cache of profiles needs to be saved or not.
-	 */
-	private boolean fNeedsSaving = false;
-	
-	/**
-	 * Constructor
-	 */
-	public ApiProfileManager() {
-		ApiPlugin.getDefault().addSaveParticipant(this);
-		JavaCore.addElementChangedListener(this, ElementChangedEvent.POST_CHANGE);
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_BUILD);
-		PDECore.getDefault().getModelManager().addPluginModelListener(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.IApiProfileManager#getApiProfile(java.lang.String)
-	 */
-	public synchronized IApiProfile getApiProfile(String name) {
-		initializeStateCache();
-		return (ApiProfile) profilecache.get(name);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.IApiProfileManager#getApiProfiles()
-	 */
-	public synchronized IApiProfile[] getApiProfiles() {
-		initializeStateCache();
-		return (IApiProfile[]) profilecache.values().toArray(new IApiProfile[profilecache.size()]);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.IApiProfileManager#addApiProfile(org.eclipse.pde.api.tools.model.component.IApiProfile)
-	 */
-	public synchronized void addApiProfile(IApiProfile newprofile) {
-		if(newprofile != null) {
-			initializeStateCache();
-			profilecache.put(newprofile.getName(), newprofile);
-			fNeedsSaving = true;
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.IApiProfileManager#removeApiProfile(java.lang.String)
-	 */
-	public synchronized boolean removeApiProfile(String name) {
-		if(name != null) {
-			initializeStateCache();
-			IApiProfile profile = (IApiProfile) profilecache.remove(name);
-			if(profile != null) {
-				profile.dispose();
-				boolean success = true;
-				//remove from filesystem
-				File file = savelocation.append(name+".profile").toFile(); //$NON-NLS-1$
-				if(file.exists()) {
-					success &= file.delete();
-				}
-				fNeedsSaving = true;
-				return success;
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Initializes the profile cache lazily. Only performs work
-	 * if the current cache has not been created yet
-	 * @throws FactoryConfigurationError 
-	 * @throws ParserConfigurationException 
-	 */
-	private synchronized void initializeStateCache() {
-		long time = System.currentTimeMillis();
-		if(profilecache == null) {
-			profilecache = new HashMap();
-			File[] profiles = savelocation.toFile().listFiles(new FileFilter() {
-				public boolean accept(File pathname) {
-					return pathname.getName().endsWith(".profile"); //$NON-NLS-1$
-				}
-			});
-			if(profiles != null) {
-				InputStream fin = null;
-				IApiProfile newprofile = null;
-				for(int i = 0; i < profiles.length; i++) {
-					File profile = profiles[i];
-					if(profile.exists()) {
-						try {
-							fin = new FileInputStream(profile);
-							newprofile = restoreProfile(fin);
-							profilecache.put(newprofile.getName(), newprofile);
-						}
-						catch (IOException e) {
-							ApiPlugin.log(e);
-						}
-						catch(CoreException e) {
-							ApiPlugin.log(e.getStatus());
-						}
-					}
-				}
-			}
-			String def = ApiPlugin.getDefault().getPluginPreferences().getString(DEFAULT_PROFILE);
-			IApiProfile profile = (IApiProfile) profilecache.get(def);
-			defaultprofile = (profile != null ? def : null);
-			if(DEBUG) {
-				System.out.println("Time to initialize state cache: " + (System.currentTimeMillis() - time) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-	}
-	
-	/**
-	 * Persists all of the cached elements to individual xml files named 
-	 * with the id of the API profile
-	 * @throws IOException 
-	 */
-	private void persistStateCache() throws CoreException, IOException {
-		if(defaultprofile != null) {
-			ApiPlugin.getDefault().getPluginPreferences().setValue(DEFAULT_PROFILE, defaultprofile);
-		}
-		if(profilecache != null) {
-			File dir = new File(savelocation.toOSString());
-			if(!dir.exists()) {
-				dir.mkdirs();
-			}
-			String id = null;
-			File file = null;
-			FileOutputStream fout = null;
-			IApiProfile profile = null;
-			for(Iterator iter = profilecache.keySet().iterator(); iter.hasNext();) {
-				id = (String) iter.next();
-				profile = (IApiProfile) profilecache.get(id);
-				file = savelocation.append(id+".profile").toFile(); //$NON-NLS-1$
-				if(!file.exists()) {
-					file.createNewFile();
-				}
-				try {
-					fout = new FileOutputStream(file);
-					profile.writeProfileDescription(fout);
-					fout.flush();
-				}
-				finally {
-					fout.close();
-				}
-			}
-		}
-	}	
-	
-	/**
-	 * Throws a core exception with the given message and underlying exception,
-	 * if any.
-	 * 
-	 * @param message error message
-	 * @param e underlying exception or <code>null</code>
-	 * @throws CoreException
-	 */
-	private static void abort(String message, Throwable e) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, message, e));
-	}	
-	
-	/**
-	 * Constructs and returns a profile from the given input stream (persisted profile).
-	 * 
-	 * @param stream input stream
-	 * @return API profile
-	 * @throws CoreException if unable to restore the profile
-	 */
-	public static IApiProfile restoreProfile(InputStream stream) throws CoreException {
-		long start = System.currentTimeMillis();
-		DocumentBuilder parser = null;
-		try {
-			parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			parser.setErrorHandler(new DefaultHandler());
-		} catch (ParserConfigurationException e) {
-			abort("Error restoring API profile", e); //$NON-NLS-1$
-		} catch (FactoryConfigurationError e) {
-			abort("Error restoring API profile", e); //$NON-NLS-1$
-		}
-		IApiProfile profile = null;
-		try {
-			Document document = parser.parse(stream);
-			Element root = document.getDocumentElement();
-			if(root.getNodeName().equals(IApiXmlConstants.ELEMENT_APIPROFILE)) {
-				profile = new ApiProfile(root.getAttribute(IApiXmlConstants.ATTR_NAME));
-				// un-pooled components
-				NodeList children = root.getElementsByTagName(IApiXmlConstants.ELEMENT_APICOMPONENT);
-				List components = new ArrayList();
-				for(int j = 0; j < children.getLength(); j++) {
-					Element componentNode = (Element) children.item(j);
-					// this also contains components in pools, so don't process them
-					if (componentNode.getParentNode().equals(root)) {
-						String location = componentNode.getAttribute(IApiXmlConstants.ATTR_LOCATION);
-						IApiComponent component = profile.newApiComponent(Path.fromPortableString(location).toOSString());
-						if(component != null) {
-							components.add(component);
-						}
-					}
-				}
-				// pooled components
-				children = root.getElementsByTagName(IApiXmlConstants.ELEMENT_POOL);
-				for(int j = 0; j < children.getLength(); j++) {
-					String location = ((Element) children.item(j)).getAttribute(IApiXmlConstants.ATTR_LOCATION);
-					IPath poolPath = Path.fromPortableString(location);
-					NodeList componentNodes = root.getElementsByTagName(IApiXmlConstants.ELEMENT_APICOMPONENT);
-					for (int i = 0; i < componentNodes.getLength(); i++) {
-						Element compElement = (Element) componentNodes.item(i);
-						String id = compElement.getAttribute(IApiXmlConstants.ATTR_ID);
-						String ver = compElement.getAttribute(IApiXmlConstants.ATTR_VERSION);
-						StringBuffer name = new StringBuffer();
-						name.append(id);
-						name.append('_');
-						name.append(ver);
-						File file = poolPath.append(name.toString()).toFile();
-						if (!file.exists()) {
-							name.append(".jar"); //$NON-NLS-1$
-							file = poolPath.append(name.toString()).toFile();
-						}
-						IApiComponent component = profile.newApiComponent(file.getAbsolutePath());
-						if(component != null) {
-							components.add(component);
-						}
-					}
-					
-				}
-				profile.addApiComponents((IApiComponent[]) components.toArray(new IApiComponent[components.size()]));
-			}
-		} catch (IOException e) {
-			abort("Error restoring API profile", e); //$NON-NLS-1$
-		} catch(SAXException e) {
-			abort("Error restoring API profile", e); //$NON-NLS-1$
-		} finally {
-			try {
-				stream.close();
-			} catch (IOException io) {
-				ApiPlugin.log(io);
-			}
-		}
-		if (profile == null) {
-			abort("Invalid profile description", null); //$NON-NLS-1$
-		}
-		if(DEBUG) {
-			System.out.println("Time to restore a persisted profile : " + (System.currentTimeMillis() - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return profile;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.ISaveParticipant#saving(org.eclipse.core.resources.ISaveContext)
-	 */
-	public void saving(ISaveContext context) throws CoreException {
-		if(!fNeedsSaving) {
-			return;
-		}
-		try {
-			persistStateCache();
-			fNeedsSaving = false;
-		} catch (IOException e) {
-			ApiPlugin.log(e);
-		}
-	}
-	
-	/**
-	 * Returns if the given name is an existing profile name
-	 * @param name
-	 * @return true if the given name is an existing profile name, false otherwise
-	 */
-	public boolean isExistingProfileName(String name) {
-		if(profilecache == null) {
-			return false;
-		}
-		return profilecache.keySet().contains(name);
-	}
-	
-	/**
-	 * Cleans up the manager and persists any unsaved API profiles
-	 */
-	public void stop() {
-		try {
-			// we should first dispose all existing profiles
-			for (Iterator iterator = this.profilecache.values().iterator(); iterator.hasNext();) {
-				IApiProfile profile = (IApiProfile) iterator.next();
-				profile.dispose();
-			}
-			this.profilecache.clear();
-			if(this.workspaceprofile != null) {
-				this.workspaceprofile.dispose();
-			}
-		}
-		finally {
-			ApiPlugin.getDefault().removeSaveParticipant(this);
-			JavaCore.removeElementChangedListener(this);
-			PDECore.getDefault().getModelManager().removePluginModelListener(this);
-			ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.ISaveParticipant#doneSaving(org.eclipse.core.resources.ISaveContext)
-	 */
-	public void doneSaving(ISaveContext context) {}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.ISaveParticipant#prepareToSave(org.eclipse.core.resources.ISaveContext)
-	 */
-	public void prepareToSave(ISaveContext context) throws CoreException {	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.ISaveParticipant#rollback(org.eclipse.core.resources.ISaveContext)
-	 */
-	public void rollback(ISaveContext context) {}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.IApiProfileManager#getDefaultApiProfile()
-	 */
-	public synchronized IApiProfile getDefaultApiProfile() {
-		initializeStateCache();
-		return (IApiProfile) profilecache.get(defaultprofile);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.IApiProfileManager#setDefaultApiProfile(java.lang.String)
-	 */
-	public void setDefaultApiProfile(String name) {
-		fNeedsSaving = true;
-		defaultprofile = name;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiProfileManager#getWorkspaceProfile()
-	 */
-	public synchronized IApiProfile getWorkspaceProfile() {
-		if(ApiPlugin.isRunningInFramework()) {
-			if(this.workspaceprofile == null) {
-				this.workspaceprofile = createWorkspaceProfile();
-			}
-			return this.workspaceprofile;
-		}
-		return null;
-	}	
-	
-	/**
-	 * Disposes the workspace profile such that a new one will be created
-	 * on the next request.
-	 */
-	private synchronized void disposeWorkspaceProfile() {
-		if (workspaceprofile != null) {
-			workspaceprofile.dispose();
-			workspaceprofile = null;
-		}
-	}
-		
-	/**
-	 * Creates a workspace {@link IApiProfile}
-	 * @return a new workspace {@link IApiProfile} or <code>null</code>
-	 */
-	private IApiProfile createWorkspaceProfile() {
-		long time = System.currentTimeMillis();
-		IApiProfile profile = null; 
-		try {
-			profile = Factory.newApiProfile(ApiPlugin.WORKSPACE_API_PROFILE_ID);
-			// populate it with only projects that are API aware
-			IPluginModelBase[] models = PluginRegistry.getActiveModels();
-			List componentsList = new ArrayList(models.length);
-			IApiComponent apiComponent = null;
-			for (int i = 0, length = models.length; i < length; i++) {
-				try {
-					apiComponent = profile.newApiComponent(models[i]);
-					if (apiComponent != null) {
-						componentsList.add(apiComponent);
-					}
-				} catch (CoreException e) {
-					ApiPlugin.log(e);
-				}
-			}
-			profile.addApiComponents((IApiComponent[]) componentsList.toArray(new IApiComponent[componentsList.size()]));
-		} finally {
-			if (DEBUG) {
-				System.out.println("Time to create a workspace profile : " + (System.currentTimeMillis() - time) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		return profile;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.IElementChangedListener#elementChanged(org.eclipse.jdt.core.ElementChangedEvent)
-	 */
-	public void elementChanged(ElementChangedEvent event) {
-		Object obj = event.getSource();
-		if(obj instanceof IJavaElementDelta) {
-			processJavaElementDeltas(((IJavaElementDelta)obj).getAffectedChildren(), null);
-		}
-	}
-	
-	/**
-	 * Processes the java element deltas of interest
-	 * @param deltas
-	 */
-	private synchronized void processJavaElementDeltas(IJavaElementDelta[] deltas, IJavaProject project) {
-		try {
-			IJavaElementDelta delta = null;
-			for(int i = 0; i < deltas.length; i++) {
-				delta = deltas[i];
-				switch(delta.getElement().getElementType()) {
-					case IJavaElement.JAVA_PROJECT: {
-						IJavaProject proj = (IJavaProject) delta.getElement();
-						IProject pj = proj.getProject();
-						if (acceptProject(pj)) {
-							switch (delta.getKind()) {
-								//process the project changed only if the project is API aware
-							case IJavaElementDelta.CHANGED:
-								int flags = delta.getFlags();
-								if( (flags & IJavaElementDelta.F_RESOLVED_CLASSPATH_CHANGED) != 0 ||
-									(flags & IJavaElementDelta.F_CLASSPATH_CHANGED) != 0 ||
-									(flags & IJavaElementDelta.F_CLOSED) != 0 ||
-									(flags & IJavaElementDelta.F_OPENED) != 0) {
-										if(DEBUG) {
-											System.out.println("--> processing CLASSPATH CHANGE/CLOSE/OPEN project: ["+proj.getElementName()+"]"); //$NON-NLS-1$ //$NON-NLS-2$
-										}
-										disposeWorkspaceProfile();
-								} else if((flags & IJavaElementDelta.F_CHILDREN) != 0) {
-									if(DEBUG) {
-										System.out.println("--> processing child deltas of project: ["+proj.getElementName()+"]"); //$NON-NLS-1$ //$NON-NLS-2$
-									}
-									processJavaElementDeltas(delta.getAffectedChildren(), proj);
-								}
-								break;
-							}
-						}
-						break;
-					}
-					case IJavaElement.PACKAGE_FRAGMENT_ROOT: {
-						IPackageFragmentRoot root = (IPackageFragmentRoot) delta.getElement();
-						if(DEBUG) {
-							System.out.println("processed package fragment root delta: ["+root.getElementName()+"]"); //$NON-NLS-1$ //$NON-NLS-2$
-						}
-						switch(delta.getKind()) {
-							case IJavaElementDelta.CHANGED: {
-								if(DEBUG) {
-									System.out.println("processed children of CHANGED package fragment root: ["+root.getElementName()+"]"); //$NON-NLS-1$ //$NON-NLS-2$
-								}
-								processJavaElementDeltas(delta.getAffectedChildren(), project);
-								break;
-							}
-						}
-						break;
-					}
-					case IJavaElement.PACKAGE_FRAGMENT: {
-						IPackageFragment fragment = (IPackageFragment) delta.getElement();
-						if(delta.getKind() == IJavaElementDelta.REMOVED) {
-							handlePackageRemoval(project.getProject(), fragment);
-						}
-						break;
-					}
-				}
-			}
-		} catch (CoreException e) {
-			ApiPlugin.log(e);
-		}
-	}
-		
-	/**
-	 * Handles the specified {@link IPackageFragment} being removed.
-	 * When a packaged is removed, we:
-	 * <ol>
-	 * <li>Remove the package from the cache of resolved providers
-	 * 	of that package (in the API profile)</li>
-	 * </ol>
-	 * @param project
-	 * @param fragment
-	 * @throws CoreException
-	 */
-	private void handlePackageRemoval(IProject project, IPackageFragment fragment) throws CoreException {
-		if(DEBUG) {
-			System.out.println("processed package fragment REMOVE delta: ["+fragment.getElementName()+"]"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		((ApiProfile)getWorkspaceProfile()).clearPackage(fragment.getElementName());
-	}
-	
-	/**
-	 * Returns if we should care about the specified project
-	 * @param project
-	 * @return true if the project is an 'API aware' project, false otherwise
-	 */
-	private boolean acceptProject(IProject project) {
-		try {
-			if (!project.isOpen()) {
-				return true;
-			}
-			return project.exists() && project.hasNature(ApiPlugin.NATURE_ID);
-		}
-		catch(CoreException e) {
-			return false;
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * 
-	 * Whenever a bundle definition changes (add/removed/changed), the 
-	 * workspace profile becomes potentially invalid as the bundle description
-	 * may have changed in some way to invalidate our underlying OSGi state.
-	 * 
-	 * @see org.eclipse.pde.internal.core.IPluginModelListener#modelsChanged(org.eclipse.pde.internal.core.PluginModelDelta)
-	 */
-	public void modelsChanged(PluginModelDelta delta) {
-		ModelEntry[] entries = null;
-		switch(delta.getKind()) {
-			case PluginModelDelta.ADDED: {
-				entries = delta.getAddedEntries();
-				break;
-			}
-			case PluginModelDelta.REMOVED: {
-				entries = delta.getRemovedEntries();
-				break;
-			}
-			case PluginModelDelta.CHANGED: {
-				entries = delta.getChangedEntries();
-				break;
-			}
-		}
-		if(entries != null) {
-			IPluginModelBase model = null;
-			for(int i = 0; i < entries.length; i++) {
-				model = entries[i].getModel();
-				if(model != null) {
-					disposeWorkspaceProfile();
-				}
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		// clean all API errors when a project description changes
-		IResourceDelta delta = event.getDelta();
-		if (delta != null) {
-			IResourceDelta[] children = delta.getAffectedChildren(IResourceDelta.CHANGED);
-			for (int i = 0; i < children.length; i++) {
-				IResourceDelta d = children[i];
-				IResource resource = d.getResource();
-				if (resource.getType() == IResource.PROJECT) {
-					if ((d.getFlags() & IResourceDelta.DESCRIPTION) != 0) {
-						IProject project = (IProject)resource;
-						if (project.isAccessible()) {
-							try {
-								if (!project.getDescription().hasNature(ApiPlugin.NATURE_ID)) {
-									IJavaProject jp = JavaCore.create(project);
-									if (jp.exists()) {
-										ApiDescriptionManager.getDefault().clean(jp, true, true);
-										ApiAnalysisBuilder.cleanupMarkers(resource);
-									}
-								}
-							} catch (CoreException e) {
-								ApiPlugin.log(e.getStatus());
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiSettingsXmlVisitor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiSettingsXmlVisitor.java
deleted file mode 100644
index bb7a2d6..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ApiSettingsXmlVisitor.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.util.HashSet;
-import java.util.Set;
-import java.util.Stack;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.provisional.ApiDescriptionVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IFieldDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * API settings visitor that generates XML for the settings.
- *  
- * @since 1.0.0
- */
-public class ApiSettingsXmlVisitor extends ApiDescriptionVisitor {
-	
-	/**
-	 * Visibility attribute values.
-	 */
-	public static final String VALUE_API = "API"; //$NON-NLS-1$
-	public static final String VALUE_FALSE = "false"; //$NON-NLS-1$
-	public static final String VALUE_PRIVATE = "private"; //$NON-NLS-1$
-	public static final String VALUE_PRIVATE_PERMISSABLE= "private_permissable"; //$NON-NLS-1$
-	public static final String VALUE_SPI = "SPI"; //$NON-NLS-1$
-	public static final String VALUE_TRUE = "true"; //$NON-NLS-1$
-	
-	/**
-	 * Component element
-	 */
-	private Element fComponent;
-	
-	/**
-	 * XML doc being generated
-	 */
-	private Document fDoc;
-	
-	/**
-	 * Current package node being created
-	 */
-	private Element fPackage;
-	
-	/**
-	 * Visibility modifiers for package being visited
-	 */
-	private int fPackageVisibility;
-	
-	/**
-	 * The stack of current type node being visited
-	 */
-	private Stack fTypeStack;
-
-	/**
-	 * Set of package names already visited (to avoid re-visiting same package)
-	 */
-	private Set fVisitedPackages;
-	
-	/**
-	 * Constructs a new visitor for the given component.
-	 * 
-	 * @param component API component
-	 * @throws CoreException if unable to construct the visitor
-	 */
-	public ApiSettingsXmlVisitor(IApiComponent component) throws CoreException {
-		this(component.getName(), component.getId());
-	}
-
-	/**
-	 * Constructs a new visitor for the given component.
-	 * 
-	 * @param componentName the given component name
-	 * @param componentId the given component id
-	 * 
-	 * @throws CoreException if unable to construct the visitor
-	 */
-	public ApiSettingsXmlVisitor(String componentName, String componentId) throws CoreException {
-		fDoc = Util.newDocument();	
-		fComponent = fDoc.createElement(IApiXmlConstants.ELEMENT_COMPONENT);
-		fComponent.setAttribute(IApiXmlConstants.ATTR_NAME, componentName);
-		fDoc.appendChild(fComponent);
-		Element plugin = fDoc.createElement(IApiXmlConstants.ELEMENT_PLUGIN);
-		plugin.setAttribute(IApiXmlConstants.ATTR_ID, componentId);
-		fComponent.appendChild(plugin);
-		fVisitedPackages = new HashSet();
-		fTypeStack = new Stack();
-	}
-
-	/**
-	 * Adds visibility attributes to the given element.
-	 * 
-	 * @param element XML element
-	 * @param description API description
-	 */
-	private void addVisibilityAttributes(Element element, IApiAnnotations description) {
-		int modifiers = description.getVisibility();
-		String value = null;
-		switch (modifiers) {
-			case VisibilityModifiers.API: {
-				value = VALUE_API;
-				break;
-			}
-			case VisibilityModifiers.PRIVATE: {
-				value = VALUE_PRIVATE;
-				break;
-			}
-			case VisibilityModifiers.PRIVATE_PERMISSIBLE: {
-				value = VALUE_PRIVATE_PERMISSABLE;
-				break;
-			}
-			case VisibilityModifiers.SPI: {
-				value = VALUE_SPI;
-				break;
-			}
-			default: {
-				break;
-			}
-		}
-		if (value != null) {
-			element.setAttribute(IApiXmlConstants.ATTR_VISIBILITY, value);
-		}
-	}
-	
-	/**
-	 * Annotates the attribute set of the specified {@link Element}
-	 * 
-	 * @param componentContext component context to which the API applies, or <code>null</code>
-	 * @param description the description to annotate from
-	 * @param element the element to annotate
-	 */
-	private void annotateElementAttributes(String componentContext, IApiAnnotations description, Element element) {
-		int restrictions = description.getRestrictions();
-		if (RestrictionModifiers.isImplementRestriction(restrictions)) {
-			element.setAttribute(IApiXmlConstants.ATTR_IMPLEMENT, VALUE_FALSE);
-		}
-		if (RestrictionModifiers.isExtendRestriction(restrictions)) {
-			element.setAttribute(IApiXmlConstants.ATTR_EXTEND, VALUE_FALSE);
-		}
-		if (RestrictionModifiers.isInstantiateRestriction(restrictions)) {
-			element.setAttribute(IApiXmlConstants.ATTR_INSTANTIATE, VALUE_FALSE);
-		}
-		if (RestrictionModifiers.isReferenceRestriction(restrictions)) {
-			element.setAttribute(IApiXmlConstants.ATTR_REFERENCE, VALUE_FALSE);
-		}
-		if (componentContext != null) {
-			element.setAttribute(IApiXmlConstants.ATTR_CONTEXT, componentContext);
-		}
-		int visibility = description.getVisibility();
-		if (visibility != fPackageVisibility) {
-			addVisibilityAttributes(element, description);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.ApiDescriptionVisitor#endVisitElement(org.eclipse.pde.api.tools.model.component.IElementDescriptor, java.lang.String, org.eclipse.pde.api.tools.model.IApiAnnotations)
-	 */
-	public void endVisitElement(IElementDescriptor element, String componentContext, IApiAnnotations description) {
-		switch(element.getElementType()) {
-			case IElementDescriptor.T_PACKAGE: {
-				// A null package indicates there was an override for the package in a different context.
-				// Package rules are stored in the manifest, not the API description file. 
-				// No need to add empty packages.
-				if (fPackage != null && fPackage.hasChildNodes()) {
-					fComponent.appendChild(fPackage);
-				}
-				fPackage = null;
-				break;
-			}
-			case IElementDescriptor.T_REFERENCE_TYPE: {
-				fTypeStack.pop();
-				break;
-			}
-		}
-	}
-	
-	/**
-	 * Returns the settings as a UTF-8 string containing XML.
-	 * 
-	 * @return XML
-	 * @throws CoreException if something goes wrong 
-	 */
-	public String getXML() throws CoreException {
-		return Util.serializeDocument(fDoc);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.ApiDescriptionVisitor#visitElement(org.eclipse.pde.api.tools.model.component.IElementDescriptor, java.lang.String, org.eclipse.pde.api.tools.model.IApiAnnotations)
-	 */
-	public boolean visitElement(IElementDescriptor element, String componentContext, IApiAnnotations description) {
-		switch(element.getElementType()) {
-			case IElementDescriptor.T_PACKAGE: {
-				IPackageDescriptor pkg = (IPackageDescriptor) element;
-				String pkgName = pkg.getName();
-				if (fVisitedPackages.add(pkgName)) {
-					fPackage = fDoc.createElement(IApiXmlConstants.ELEMENT_PACKAGE);
-					fPackage.setAttribute(IApiXmlConstants.ATTR_NAME, pkgName);
-					// package visibility settings are stored in MANIFEST.MF, so omit them here.
-					// still keep track of the visibility to know if children should override
-					fPackageVisibility = description.getVisibility();
-					fVisitedPackages.add(pkgName);
-				}
-				break;
-			}
-			case IElementDescriptor.T_REFERENCE_TYPE: {
-				IReferenceTypeDescriptor typeDesc = (IReferenceTypeDescriptor) element;
-				fTypeStack.push(fDoc.createElement(IApiXmlConstants.ELEMENT_TYPE));
-				Element type = (Element) fTypeStack.peek();
-				annotateElementAttributes(componentContext, description, type);
-				fPackage.appendChild(type);
-				type.setAttribute(IApiXmlConstants.ATTR_NAME, Util.getTypeName(typeDesc.getQualifiedName()));
-				break;
-			}
-			case IElementDescriptor.T_METHOD: {
-				IMethodDescriptor desc = (IMethodDescriptor) element;
-				Element method = fDoc.createElement(IApiXmlConstants.ELEMENT_METHOD);
-				Element type = (Element) fTypeStack.peek();
-				//add standard attributes
-				annotateElementAttributes(componentContext, description, method);
-				if (method.hasAttributes()) {
-					type.appendChild(method);
-					//add specific method attributes
-					method.setAttribute(IApiXmlConstants.ATTR_SIGNATURE, desc.getSignature());
-					method.setAttribute(IApiXmlConstants.ATTR_NAME, desc.getName());
-				}
-				break;
-			}
-			case IElementDescriptor.T_FIELD: {
-				IFieldDescriptor desc = (IFieldDescriptor) element;
-				Element field = fDoc.createElement(IApiXmlConstants.ELEMENT_FIELD);
-				Element type = (Element) fTypeStack.peek();
-				annotateElementAttributes(componentContext, description, field);
-				if (field.hasAttributes()) {
-					type.appendChild(field);
-					//add standard attributes
-					//add specific field attributes
-					field.setAttribute(IApiXmlConstants.ATTR_NAME, desc.getName());
-				}
-				break;
-			}
-		}
-		return true;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ArchiveClassFileContainer.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ArchiveClassFileContainer.java
deleted file mode 100644
index 323a02f..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ArchiveClassFileContainer.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * Class file container for an archive (jar or zip) file.
- * 
- * @since 1.0.0
- */
-public class ArchiveClassFileContainer implements IClassFileContainer {
-		
-	/**
-	 * Location of the archive in the local file system.
-	 */
-	private String fLocation;
-	
-	/**
-	 * Origin of this class file container
-	 */
-	private String fOrigin;
-	
-	/**
-	 * Cache of package names to class file paths in that package,
-	 * or <code>null</code> if not yet initialized.
-	 */
-	private Map fPackages;
-	
-	/**
-	 * Cache of package names in this archive.
-	 */
-	private String[] fPackageNames;
-	
-	/**
-	 * Open zip file, or <code>null</code> if file is currently closed.
-	 */
-	private ZipFile fZipFile = null;
-	
-	class ArchiveClassFile extends AbstractClassFile implements Comparable {
-		
-		private ArchiveClassFileContainer fArchive;
-		private String fEntryName;
-		private String fTypeName;
-		
-		/**
-		 * Constructs a new handle to a class file in the archive.
-		 * 
-		 * @param container archive
-		 * @param entryName zip entry name
-		 */
-		public ArchiveClassFile(ArchiveClassFileContainer container, String entryName) {
-			fArchive = container;
-			fEntryName = entryName;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.pde.api.tools.manifest.IClassFile#getTypeName()
-		 */
-		public String getTypeName() {
-			if (fTypeName == null) {
-				fTypeName = fEntryName.replace('/', '.').substring(0, fEntryName.length() - Util.DOT_CLASS_SUFFIX.length()); 
-			}
-			return fTypeName; 
-		}
-
-		/* (non-Javadoc)
-		 * @see java.lang.Comparable#compareTo(java.lang.Object)
-		 */
-		public int compareTo(Object o) {
-			return getTypeName().compareTo(((ArchiveClassFile)o).getTypeName());
-		}
-		
-
-		public boolean equals(Object obj) {
-			if (obj instanceof ArchiveClassFile) {
-				ArchiveClassFile classFile = (ArchiveClassFile) obj;
-				return this.fEntryName.equals(classFile.fEntryName);
-			}
-			return false;
-		}
-		
-		public int hashCode() {
-			return fEntryName.hashCode();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.pde.api.tools.model.component.IClassFile#getInputStream()
-		 */
-		public InputStream getInputStream() throws CoreException {
-			ZipFile zipFile = fArchive.open();
-			ZipEntry entry = zipFile.getEntry(fEntryName);
-			if (entry != null) {
-				try {
-					return zipFile.getInputStream(entry);
-				} catch (IOException e) {
-					abort("Failed to open class file: " + getTypeName() + " in archive: " + fArchive.fLocation, e); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-			abort("Class file not found: " + getTypeName() + " in archive: " + fArchive.fLocation, null); //$NON-NLS-1$ //$NON-NLS-2$
-			return null;
-		}
-	}
-
-	/**
-	 * Constructs a class file container for the given jar or zip file
-	 * at the specified location.
-	 * 
-	 * @param path location of the file in the local file system
-	 */
-	public ArchiveClassFileContainer(String path, String origin) {
-		this.fLocation = path;
-		this.fOrigin = origin;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.manifest.IClassFileContainer#accept(org.eclipse.pde.api.tools.manifest.ClassFileContainerVisitor)
-	 */
-	public void accept(ClassFileContainerVisitor visitor) throws CoreException {
-		init();
-		List packages = new ArrayList(fPackages.keySet());
-		Collections.sort(packages);
-		Iterator iterator = packages.iterator();
-		while (iterator.hasNext()) {
-			String pkg = (String) iterator.next();
-			if (visitor.visitPackage(pkg)) {
-				List types = new ArrayList((Set) fPackages.get(pkg));
-				Iterator cfIterator = types.iterator();
-				List classFiles = new ArrayList(types.size());
-				while (cfIterator.hasNext()) {
-					String entryName = (String) cfIterator.next();
-					classFiles.add(new ArchiveClassFile(this, entryName));
-				}
-				Collections.sort(classFiles);
-				cfIterator = classFiles.iterator();
-				while (cfIterator.hasNext()) {
-					ArchiveClassFile classFile = (ArchiveClassFile) cfIterator.next();
-					visitor.visit(pkg, classFile);
-					visitor.end(pkg, classFile);
-				}				
-			}
-			visitor.endVisitPackage(pkg);
-		}			
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.manifest.IClassFileContainer#close()
-	 */
-	public synchronized void close() throws CoreException {
-		if (fZipFile != null) {
-			try {
-				fZipFile.close();
-				fZipFile = null;
-			} catch (IOException e) {
-				abort("Failed to close class file archive", e); //$NON-NLS-1$
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.manifest.IClassFileContainer#findClassFile(java.lang.String)
-	 */
-	public IClassFile findClassFile(String qualifiedName) throws CoreException {
-		init();
-		int index = qualifiedName.lastIndexOf('.');
-		String packageName = Util.DEFAULT_PACKAGE_NAME;
-		if (index >= 0) {
-			packageName = qualifiedName.substring(0, index);
-		}
-		Set classFileNames = (Set) fPackages.get(packageName);
-		if (classFileNames != null) {
-			String fileName = qualifiedName.replace('.', '/') + Util.DOT_CLASS_SUFFIX;
-			if (classFileNames.contains(fileName)) {
-				return new ArchiveClassFile(this, fileName);
-			}
-		}
-		return null;
-	}
-
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.manifest.IClassFileContainer#getPackageNames()
-	 */
-	public String[] getPackageNames() throws CoreException {
-		init();
-		synchronized (this) {
-			if (fPackageNames == null) {
-				Set names = fPackages.keySet();
-				fPackageNames = (String[])names.toArray(new String[names.size()]);
-			}
-			return fPackageNames;
-		}
-	}
-	
-	/**
-	 * Initializes cache of packages and types.
-	 * 
-	 * @throws CoreException
-	 */
-	private synchronized void init() throws CoreException {
-		if (fPackages == null) {
-			fPackages = new HashMap();
-			ZipFile zipFile = open();
-			Enumeration entries = zipFile.entries();
-			while (entries.hasMoreElements()) {
-				ZipEntry entry = (ZipEntry) entries.nextElement();
-				String name = entry.getName();
-				if (name.endsWith(Util.DOT_CLASS_SUFFIX)) {
-					String pkg = Util.DEFAULT_PACKAGE_NAME;
-					int index = name.lastIndexOf('/');
-					if (index >= 0) {
-						pkg = name.substring(0, index).replace('/', '.');
-					}
-					Set fileNames = (Set) fPackages.get(pkg);
-					if (fileNames == null) {
-						fileNames = new HashSet();
-						fPackages.put(pkg, fileNames);
-					}
-					fileNames.add(name);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Returns an open zip file for this archive.
-	 * 
-	 * @return zip file
-	 * @throws IOException if unable to open the archive
-	 */
-	private synchronized ZipFile open() throws CoreException {
-		if (fZipFile == null) {
-			try {
-				fZipFile = new ZipFile(fLocation);
-			} catch (IOException e) {
-				abort("Failed to open archive: " + fLocation, e); //$NON-NLS-1$
-			}
-		}
-		return fZipFile;
-	}
-
-	/**
-	 * Throws a core exception.
-	 * 
-	 * @param message message
-	 * @param e underlying exception or <code>null</code>
-	 * @throws CoreException
-	 */
-	private void abort(String message, Throwable e) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR,
-				ApiPlugin.PLUGIN_ID, message, e));
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof ArchiveClassFileContainer) {
-			return this.fLocation.equals(((ArchiveClassFileContainer) obj).fLocation);
-		}
-		return false;
-	}
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return this.fLocation.hashCode();
-	}
-	
-	public IClassFile findClassFile(String qualifiedName, String id) throws CoreException {
-		return findClassFile(qualifiedName);
-	}
-	
-	public String getOrigin() {
-		return this.fOrigin;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/BundleApiComponent.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/BundleApiComponent.java
deleted file mode 100644
index 3dbac63..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/BundleApiComponent.java
+++ /dev/null
@@ -1,1084 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.io.BufferedOutputStream;
-import java.io.BufferedReader;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringReader;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.ArrayList;
-import java.util.Dictionary;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.Map.Entry;
-import java.util.jar.JarFile;
-import java.util.jar.JarOutputStream;
-import java.util.jar.Manifest;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import java.util.zip.ZipOutputStream;
-
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.osgi.service.resolver.BundleSpecification;
-import org.eclipse.osgi.service.resolver.ExportPackageDescription;
-import org.eclipse.osgi.service.resolver.HostSpecification;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.osgi.service.resolver.StateObjectFactory;
-import org.eclipse.osgi.util.ManifestElement;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
-import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer;
-import org.eclipse.pde.api.tools.internal.provisional.IRequiredComponentDescription;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.scanner.ApiDescriptionProcessor;
-import org.eclipse.pde.api.tools.internal.util.SourceDefaultHandler;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * Implementation of an API component based on a bundle in the file system.
- * 
- * @since 1.0.0
- */
-public class BundleApiComponent extends AbstractApiComponent {
-	
-	/**
-	 * Dictionary parsed from MANIFEST.MF
-	 */
-	private Dictionary fManifest;
-	
-	/**
-	 * Root location of component in the file system
-	 */
-	private String fLocation;
-	
-	/**
-	 * Underlying bundle description (OSGi model of a bundle)
-	 */
-	private BundleDescription fBundleDescription;
-	
-	/**
-	 * Maps class file container to bundle it originated from.
-	 * Used for exporting. 
-	 */
-	private Map fContainerToBundle;
-	
-	/**
-	 * Maps class file container to its relative path in its bundle.
-	 */
-	private Map fContainerToPath;
-
-	/**
-	 * Constructs a new API component from the specified location in the file system
-	 * in the given profile.
-	 * 
-	 * @param profile owning profile
-	 * @param location directory or jar file
-	 * @exception CoreException if unable to create a component from the specified location
-	 */
-	public BundleApiComponent(IApiProfile profile, String location) throws CoreException {
-		super(profile);
-		fLocation = location;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.descriptors.AbstractApiComponent#dispose()
-	 */
-	public void dispose() {
-		try {
-			super.dispose();
-		} finally {
-			if (fContainerToBundle != null) {
-				fContainerToBundle.clear();
-			}
-			if (fContainerToPath != null) {
-				fContainerToPath.clear();
-			}
-			fManifest = null;
-			fBundleDescription = null;
-		}
-	}
-	
-	/**
-	 * Returns this bundle's manifest as a dictionary.
-	 * 
-	 * @return manifest dictionary
-	 * @exception CoreException if something goes terribly wrong
-	 */
-	protected synchronized Dictionary getManifest() throws CoreException {
-		if(fManifest == null) {
-			try {
-				fManifest = (Dictionary) loadManifest(new File(fLocation));
-			} catch (IOException e) {
-				abort("Unable to load manifest due to IO error", e); //$NON-NLS-1$
-			}
-		}
-		return fManifest;
-	}
-
-	/**
-	 * Returns if the bundle at the specified location is a valid bundle or not.
-	 * Validity is determined via the existence of a readable manifest file
-	 * @param location
-	 * @return true if the bundle at the given location is valid false otherwise
-	 * @throws IOException
-	 */
-	public boolean isValidBundle() throws CoreException {
-		Dictionary manifest = getManifest();
-		return manifest != null && (manifest.get(Constants.BUNDLE_NAME) != null && manifest.get(Constants.BUNDLE_VERSION) != null);
-	}
-	
-	/**
-	 * Initializes component state from the underlying bundle for the given
-	 * state.
-	 * 
-	 * @param state PDE state
-	 * @throws CoreException on failure
-	 */
-	protected void init(State state, long bundleId) throws CoreException {
-		try {
-			Dictionary manifest = getManifest();
-			StateObjectFactory factory = StateObjectFactory.defaultFactory;
-			fBundleDescription = factory.createBundleDescription(state, manifest, fLocation, bundleId);
-		} catch (BundleException e) {
-			abort("Unable to create API component from specified location: " + fLocation, e); //$NON-NLS-1$
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.AbstractApiComponent#createApiDescription()
-	 */
-	protected IApiDescription createApiDescription() throws CoreException {
-		BundleDescription[] fragments = getBundleDescription().getFragments();
-		if (fragments.length == 0) {
-			return createLocalApiDescription();
-		}
-		// build a composite description
-		IApiDescription[] descriptions = new IApiDescription[fragments.length + 1];
-		for (int i = 0; i < fragments.length; i++) {
-			BundleDescription fragment = fragments[i];
-			BundleApiComponent component = (BundleApiComponent) getProfile().getApiComponent(fragment.getSymbolicName());
-			descriptions[i + 1] = component.getApiDescription();
-		}
-		descriptions[0] = createLocalApiDescription();
-		return new CompositeApiDescription(descriptions);
-	}
-
-	/**
-	 * Creates and returns this component's API description based on packages
-	 * supplied by this component, exported packages, and associated directives.
-	 * 
-	 * @return API description
-	 * @throws CoreException if unable to initialize 
-	 */
-	protected IApiDescription createLocalApiDescription() throws CoreException {
-		IApiDescription apiDesc = new ApiDescription(getId());
-		// first mark all packages as internal
-		initializeApiDescription(apiDesc, getBundleDescription(), getLocalPackageNames());
-		try {
-			String xml = loadApiDescription(new File(fLocation));
-			if (xml != null) {
-				ApiDescriptionProcessor.annotateApiSettings(null, apiDesc, xml);
-			}
-		} catch (IOException e) {
-			abort("Unable to load component.xml", e); //$NON-NLS-1$
-		}
-		return apiDesc;
-	}
-	
-	/**
-	 * Returns the names of all packages that originate from this bundle.
-	 * Does not include packages that originate from fragments or a host.
-	 * 
-	 * @return local package names
-	 * @throws CoreException
-	 */
-	protected Set getLocalPackageNames() throws CoreException {
-		Set names = new HashSet();
-		IClassFileContainer[] containers = getClassFileContainers();
-		for (int i = 0; i < containers.length; i++) {
-			if (containers[i].getOrigin().equals(getId())) {
-				String[] packageNames = containers[i].getPackageNames();
-				for (int j = 0; j < packageNames.length; j++) {
-					names.add(packageNames[j]);
-				}
-			}
-		}
-		return names;
-	}	
-	
-
-	/**
-	 * Initializes the given API description based on package exports in the manifest.
-	 * The API description for a bundle only contains packages that originate from
-	 * this bundle (so a host will not contain API descriptions for packages that
-	 * originate from fragments). However, a host's API description will be represented
-	 * by a proxy that delegates to the host and all of its fragments to provide
-	 * a complete description of the host.
-	 * 
-	 * @param apiDesc API description to initialize
-	 * @param bundle the bundle to load from
-	 * @param packages the complete set of packages names originating from the backing
-	 * 		component
-	 * @throws CoreException if an error occurs
-	 */
-	protected static void initializeApiDescription(IApiDescription apiDesc, BundleDescription bundle, Set packages) throws CoreException {
-		Iterator iterator = packages.iterator();
-		while (iterator.hasNext()) {
-			String name = (String) iterator.next();
-			apiDesc.setVisibility(null, Factory.packageDescriptor(name), VisibilityModifiers.PRIVATE);
-		}
-		// then process exported packages that originate from this bundle
-		// considering host and fragment package exports
-		List supplied = new ArrayList();
-		ExportPackageDescription[] exportPackages = bundle.getExportPackages();
-		addSuppliedPackages(packages, supplied, exportPackages);
-		HostSpecification host = bundle.getHost();
-		if (host != null) {
-			BundleDescription[] hosts = host.getHosts();
-			for (int i = 0; i < hosts.length; i++) {
-				addSuppliedPackages(packages, supplied, hosts[i].getExportPackages());
-			}
-		}
-		BundleDescription[] fragments = bundle.getFragments();
-		for (int i = 0; i < fragments.length; i++) {
-			addSuppliedPackages(packages, supplied, fragments[i].getExportPackages());
-		}
-		
-		annotateExportedPackages(apiDesc, (ExportPackageDescription[]) supplied.toArray(new ExportPackageDescription[supplied.size()]));
-	}
-
-	/**
-	 * Adds package exports to the given list if the associated package originates
-	 * from this bundle.
-	 *   
-	 * @param packages names of packages supplied by this bundle
-	 * @param supplied list to append package exports to
-	 * @param exportPackages package exports to consider
-	 */
-	protected static void addSuppliedPackages(Set packages, List supplied, ExportPackageDescription[] exportPackages) {
-		for (int i = 0; i < exportPackages.length; i++) {
-			ExportPackageDescription pkg = exportPackages[i];
-			String name = pkg.getName();
-			if (name.equals(".")) { //$NON-NLS-1$
-				// translate . to default package
-				name = Util.DEFAULT_PACKAGE_NAME;
-			}
-			if (packages.contains(name)) {
-				supplied.add(pkg);
-			}
-		}
-	}
-	
-	/**
-	 * Annotates the API description with exported packages.
-	 * 
-	 * @param apiDesc description to annotate
-	 * @param exportedPackages packages that are exported
-	 */
-	protected static void annotateExportedPackages(IApiDescription apiDesc, ExportPackageDescription[] exportedPackages) {
-		for(int i = 0; i < exportedPackages.length; i++) {
-			ExportPackageDescription pkg = exportedPackages[i];
-			//TODO remove this? all pkg exports are roots according to the doc
-			if (pkg.isRoot()) {
-				boolean internal = ((Boolean) pkg.getDirective("x-internal")).booleanValue(); //$NON-NLS-1$
-				String[] friends = (String[]) pkg.getDirective("x-friends"); //$NON-NLS-1$
-				String pkgName = pkg.getName();
-				if (pkgName.equals(".")) { //$NON-NLS-1$
-					// default package
-					pkgName = ""; //$NON-NLS-1$
-				}
-				IPackageDescriptor pkgDesc = Factory.packageDescriptor(pkgName);
-				if(internal) {
-					apiDesc.setVisibility(null, pkgDesc, VisibilityModifiers.PRIVATE);
-				}
-				if (friends != null) {
-					apiDesc.setVisibility(null, pkgDesc, VisibilityModifiers.PRIVATE);
-					for(int j = 0; j < friends.length; j ++) {
-						apiDesc.setVisibility(friends[j], pkgDesc, VisibilityModifiers.API);
-					}
-				}
-				if (!internal && friends == null) {
-					//there could have been directives that have nothing to do with
-					//visibility, so we need to add the package as API in that case
-					apiDesc.setVisibility(null, pkgDesc, VisibilityModifiers.API);
-				}
-			}				
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.AbstractApiComponent#createApiFilterStore()
-	 */
-	protected IApiFilterStore createApiFilterStore() throws CoreException {
-		//always return a new empty store since we do not support filtering from bundles
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.AbstractClassFileContainer#createClassFileContainers()
-	 */
-	protected List createClassFileContainers() throws CoreException {
-		List containers = new ArrayList();
-		fContainerToBundle = new HashMap();
-		fContainerToPath = new HashMap();
-		try {
-			List all = new ArrayList();
-			// build the classpath from bundle and all fragments
-			all.add(this);
-			BundleDescription[] fragments = fBundleDescription.getFragments();
-			for (int i = 0; i < fragments.length; i++) {
-				BundleDescription fragment = fragments[i];
-				BundleApiComponent component = (BundleApiComponent) getProfile().getApiComponent(fragment.getSymbolicName());
-				if (component != null) {
-					// force initialization of the fragment so we can retrieve its class file containers
-					component.getClassFileContainers();
-					all.add(component);
-				}
-			}
-			Iterator iterator = all.iterator();
-			Set entryNames = new HashSet();
-			while (iterator.hasNext()) {
-				BundleApiComponent component = (BundleApiComponent) iterator.next();
-				String[] paths = getClasspathEntries(component.getManifest());
-				for (int i = 0; i < paths.length; i++) {
-					BundleApiComponent origin = null;
-					String path = paths[i];
-					// don't re-process the same entry twice (except default entries ".")
-					if (!(".".equals(path))) { //$NON-NLS-1$
-						if (entryNames.contains(path)) {
-							continue;
-						}
-					}
-					IClassFileContainer container = component.createClassFileContainer(path);
-					if (container == null) {
-						Iterator others = all.iterator();
-						while (others.hasNext()) {
-							BundleApiComponent other = (BundleApiComponent) others.next();
-							if (other != component) {
-								container = other.createClassFileContainer(path);
-								if (container != null) {
-									origin = other;
-									break;
-								}
-							}
-						}
-					} else {
-						origin = component;
-					}
-					if (container != null) {
-						fContainerToBundle.put(container, origin);
-						containers.add(container);
-						fContainerToPath.put(container, path);
-						if (!(".".equals(path))) { //$NON-NLS-1$
-							entryNames.add(path);
-						}
-					}
-				}
-			}
-		} catch (BundleException e) {
-			abort("Unable to parse bundle classpath", e); //$NON-NLS-1$
-		} catch (IOException e) {
-			abort("Unable to initialize class file containers", e); //$NON-NLS-1$
-		}
-		return containers;
-	}
-	
-	/**
-	 * Returns classpath entries defined in the given manifest.
-	 * 
-	 * @param manifest
-	 * @return classpath entries as bundle relative paths
-	 * @throws BundleException
-	 */
-	protected String[] getClasspathEntries(Dictionary manifest) throws BundleException {
-		ManifestElement[] classpath = ManifestElement.parseHeader(Constants.BUNDLE_CLASSPATH, (String) manifest.get(Constants.BUNDLE_CLASSPATH));
-		String elements[] = null;
-		if (classpath == null) {
-			// default classpath is '.'
-			elements = new String[]{"."}; //$NON-NLS-1$
-		} else {
-			elements = new String[classpath.length];
-			for (int i = 0; i < classpath.length; i++) {
-				elements[i] = classpath[i].getValue();
-			}
-		}
-		return elements;
-	}
-	
-	/**
-	 * Creates and returns a class file container at the specified path in
-	 * this bundle, or <code>null</code> if the class file container does not
-	 * exist. The path is the name (path) of entries specified by the
-	 * <code>Bundle-ClassPath:</code> header.
-	 * 
-	 * @param path relative path to a class file container in this bundle
-	 * @return class file container or <code>null</code>
-	 * @exception IOException
-	 */
-	protected IClassFileContainer createClassFileContainer(String path) throws IOException {
-		File bundle = new File(fLocation);
-		if (bundle.isDirectory()) {
-			// bundle is folder
-			File entry = new File(bundle, path);
-			if (entry.exists()) {
-				if (entry.isFile()) {
-					return new ArchiveClassFileContainer(entry.getCanonicalPath(), this.getId());
-				} else {
-					return new DirectoryClassFileContainer(entry.getCanonicalPath(), this.getId());
-				}
-			}
-		} else {
-			// bundle is jar'd
-			ZipFile zip = null;
-			try {
-				if (path.equals(".")) { //$NON-NLS-1$
-					return new ArchiveClassFileContainer(fLocation, this.getId());
-				} else {
-					// TODO: use temporary space from OSGi if in a framework
-					zip = new ZipFile(fLocation);
-					ZipEntry entry = zip.getEntry(path);
-					if (entry != null) {
-						InputStream inputStream = null;
-						File tempFile;
-						FileOutputStream outputStream = null;
-						try {
-							inputStream = zip.getInputStream(entry);
-							tempFile = File.createTempFile("api", "tmp"); //$NON-NLS-1$ //$NON-NLS-2$
-							tempFile.deleteOnExit();
-							outputStream = new FileOutputStream(tempFile);
-							byte[] bytes = new byte[8096];
-							while (inputStream.available() > 0) {
-								int read = inputStream.read(bytes);
-								if (read > 0) {
-									outputStream.write(bytes, 0, read);
-								}
-							}
-						} finally {
-							if (inputStream != null) {
-								try {
-									inputStream.close();
-								} catch(IOException e) {
-									ApiPlugin.log(e);
-								}
-							}
-							if (outputStream != null) {
-								try {
-									outputStream.close();
-								} catch(IOException e) {
-									ApiPlugin.log(e);
-								}
-							}
-						}
-						return new ArchiveClassFileContainer(tempFile.getCanonicalPath(), this.getId());
-					}
-				}
-			} finally {
-				if (zip != null) {
-					zip.close();
-				}
-			}
-		}
-		return null;
-	}
-		
-	/**
-	 * Parses a bunlde's manifest into a dictionary. The bundle may be in a jar
-	 * or in a directory at the specified location.
-	 * 
-	 * @param bundleLocation root location of the bundle
-	 * @return bundle manifest dictionary or <code>null</code> if none
-	 * @throws IOException if unable to parse
-	 */
-	protected Map loadManifest(File bundleLocation) throws IOException {
-		ZipFile jarFile = null;
-		InputStream manifestStream = null;
-		String extension = new Path(bundleLocation.getName()).getFileExtension();
-		try {
-			if (extension != null && extension.equals("jar") && bundleLocation.isFile()) { //$NON-NLS-1$
-				jarFile = new ZipFile(bundleLocation, ZipFile.OPEN_READ);
-				ZipEntry manifestEntry = jarFile.getEntry(JarFile.MANIFEST_NAME);
-				if (manifestEntry != null) {
-					manifestStream = jarFile.getInputStream(manifestEntry);
-				}
-			} else {
-				File file = new File(bundleLocation, JarFile.MANIFEST_NAME);
-				if (file.exists())
-					manifestStream = new FileInputStream(file);
-			}
-			if (manifestStream == null) {
-				return null;
-			}
-			return ManifestElement.parseBundleManifest(manifestStream, new Hashtable(10));
-		} catch (BundleException e) {
-			ApiPlugin.log(e);
-		} finally {
-			closingZipFileAndStream(manifestStream, jarFile);
-		}
-		return null;
-	}
-	
-	/**
-	 * Reads and returns this bunlde's manifest in a Manifest object.
-	 * The bundle may be in a jar or in a directory at the specified location.
-	 * 
-	 * @param bundleLocation root location of the bundle
-	 * @return manifest or <code>null</code> if not present
-	 * @throws IOException if unable to parse
-	 */
-	protected Manifest readManifest(File bundleLocation) throws IOException {
-		ZipFile jarFile = null;
-		InputStream manifestStream = null;
-		try {
-			String extension = new Path(bundleLocation.getName()).getFileExtension();
-			if (extension != null && extension.equals("jar") && bundleLocation.isFile()) { //$NON-NLS-1$
-				jarFile = new ZipFile(bundleLocation, ZipFile.OPEN_READ);
-				ZipEntry manifestEntry = jarFile.getEntry(JarFile.MANIFEST_NAME);
-				if (manifestEntry != null) {
-					manifestStream = jarFile.getInputStream(manifestEntry);
-				}
-			} else {
-				File file = new File(bundleLocation, JarFile.MANIFEST_NAME);
-				if (file.exists())
-					manifestStream = new FileInputStream(file);
-			}
-			if (manifestStream == null) {
-				return null;
-			}
-			return new Manifest(manifestStream);
-		} finally {
-			closingZipFileAndStream(manifestStream, jarFile);
-		}
-	}
-
-	void closingZipFileAndStream(InputStream stream, ZipFile jarFile) {
-		try {
-			if (stream != null) {
-				stream.close();
-			}
-		} catch (IOException e) {
-			ApiPlugin.log(e);
-		}
-		try {
-			if (jarFile != null) {
-				jarFile.close();
-			}
-		} catch (IOException e) {
-			ApiPlugin.log(e);
-		}
-	}
-	
-	/**
-	 * Reads and returns the file contents corresponding to the given file name.
-	 * The bundle may be in a jar or in a directory at the specified location.
-	 * 
-	 * @param xmlFileName the given file name
-	 * @param bundleLocation the root location of the bundle
-	 * @return the file contents or <code>null</code> if not present
-	 */
-	protected String readFileContents(String xmlFileName, File bundleLocation) {
-		ZipFile jarFile = null;
-		InputStream stream = null;
-		try {
-			String extension = new Path(bundleLocation.getName()).getFileExtension();
-			if (extension != null && extension.equals("jar") && bundleLocation.isFile()) { //$NON-NLS-1$
-				jarFile = new ZipFile(bundleLocation, ZipFile.OPEN_READ);
-				ZipEntry manifestEntry = jarFile.getEntry(xmlFileName);
-				if (manifestEntry != null) {
-					stream = jarFile.getInputStream(manifestEntry);
-				}
-			} else {
-				File file = new File(bundleLocation, xmlFileName);
-				if (file.exists()) {
-					stream = new FileInputStream(file);
-				}
-			}
-			if (stream == null) {
-				return null;
-			}
-			return new String(Util.getInputStreamAsCharArray(stream, -1, IApiCoreConstants.UTF_8));
-		} catch(IOException e) {
-			ApiPlugin.log(e);
-		} finally {
-			closingZipFileAndStream(stream, jarFile);
-		}
-		return null;
-	}
-
-	/**
-	 * Parses a bundle's component XML into a string. The file may be in a jar
-	 * or in a directory at the specified location.
-	 * 
-	 * @param bundleLocation root location of the bundle
-	 * @return component XML as a string or <code>null</code> if none
-	 * @throws IOException if unable to parse
-	 */
-	protected String loadApiDescription(File bundleLocation) throws IOException {
-		ZipFile jarFile = null;
-		InputStream stream = null;
-		boolean supportNewFormat = false;
-		boolean isJar = false;
-		String contents = null;
-		try {
-			String extension = new Path(bundleLocation.getName()).getFileExtension();
-			if (extension != null && extension.equals("jar") && bundleLocation.isFile()) { //$NON-NLS-1$
-				isJar = true;
-				jarFile = new ZipFile(bundleLocation, ZipFile.OPEN_READ);
-				ZipEntry manifestEntry = jarFile.getEntry(IApiCoreConstants.API_DESCRIPTION_XML_NAME);
-				if (manifestEntry != null) {
-					// new file is present
-					stream = jarFile.getInputStream(manifestEntry);
-					supportNewFormat = true;
-				} else {
-					// fall back to old name
-					manifestEntry = jarFile.getEntry(IApiCoreConstants.COMPONENT_XML_NAME);
-					if (manifestEntry != null) {
-						stream = jarFile.getInputStream(manifestEntry);
-					}
-				}
-			} else {
-				File file = new File(bundleLocation, IApiCoreConstants.API_DESCRIPTION_XML_NAME);
-				if (file.exists()) {
-					// use new file
-					stream = new FileInputStream(file);
-					supportNewFormat = true;
-				} else {
-					file = new File(bundleLocation, IApiCoreConstants.COMPONENT_XML_NAME);
-					if (file.exists()) {
-						// fall back to old name
-						stream = new FileInputStream(file);
-					}
-				}
-			}
-			if (stream == null) {
-				return null;
-			}
-			char[] charArray = Util.getInputStreamAsCharArray(stream, -1, IApiCoreConstants.UTF_8);
-			contents = new String(charArray);
-		} finally {
-			closingZipFileAndStream(stream, jarFile);
-		}
-		if (!supportNewFormat && !isJar) {
-			// delete the old file and create the new file
-			File file = new File(bundleLocation, IApiCoreConstants.COMPONENT_XML_NAME);
-			if (file.delete()) {
-				if (!bundleLocation.exists()) {
-					bundleLocation.mkdirs();
-				}
-				Util.saveFile(new File(bundleLocation, IApiCoreConstants.API_DESCRIPTION_XML_NAME), contents);
-			}
-		}
-		return contents;
-	}
-	
-	
-	/**
-	 * Returns a URL describing a file inside a bundle.
-	 * 
-	 * @param bundleLocation root location of the bundle. May be a
-	 *  directory or a file (jar)
-	 * @param filePath bundle relative path to desired file
-	 * @return URL to the file
-	 * @throws MalformedURLException 
-	 */
-	protected URL getFileInBundle(File bundleLocation, String filePath) throws MalformedURLException {
-		String extension = new Path(bundleLocation.getName()).getFileExtension();
-		StringBuffer urlSt = new StringBuffer();
-		if (extension != null && extension.equals("jar") && bundleLocation.isFile()) { //$NON-NLS-1$
-			urlSt.append("jar:file:"); //$NON-NLS-1$
-			urlSt.append(bundleLocation.getAbsolutePath());
-			urlSt.append("!/"); //$NON-NLS-1$
-			urlSt.append(filePath);
-		} else {
-			urlSt.append("file:"); //$NON-NLS-1$
-			urlSt.append(bundleLocation.getAbsolutePath());
-			urlSt.append(File.separatorChar);
-			urlSt.append(filePath);
-		}	
-		return new URL(urlSt.toString());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.manifest.IApiComponent#getExecutionEnvironments()
-	 */
-	public String[] getExecutionEnvironments() {
-		return fBundleDescription.getExecutionEnvironments();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.manifest.IApiComponent#getId()
-	 */
-	public String getId() {
-		return fBundleDescription.getSymbolicName();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.manifest.IApiComponent#getName()
-	 */
-	public String getName() throws CoreException {
-		return (String)getManifest().get(Constants.BUNDLE_NAME);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.manifest.IApiComponent#getRequiredComponents()
-	 */
-	public IRequiredComponentDescription[] getRequiredComponents() {
-		BundleSpecification[] requiredBundles = fBundleDescription.getRequiredBundles();
-		IRequiredComponentDescription[] req = new IRequiredComponentDescription[requiredBundles.length];
-		for (int i = 0; i < requiredBundles.length; i++) {
-			BundleSpecification bundle = requiredBundles[i];
-			req[i] = new RequiredComponentDescription(bundle.getName(), new BundleVersionRange(bundle.getVersionRange()), bundle.isOptional());
-		}
-		return req;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.manifest.IApiComponent#getVersion()
-	 */
-	public String getVersion() {
-		return fBundleDescription.getVersion().toString();
-	}
-	
-	/**
-	 * Returns this component's bundle description.
-	 * 
-	 * @return bundle description
-	 */
-	protected BundleDescription getBundleDescription() {
-		return fBundleDescription;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		if (fBundleDescription != null) {
-			return fBundleDescription.toString();
-		}
-		return super.toString();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IApiComponent#getLocation()
-	 */
-	public String getLocation() {
-		return fLocation;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IApiComponent#isSystemComponent()
-	 */
-	public boolean isSystemComponent() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IApiComponent#export(java.util.Map, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void export(Map options, IProgressMonitor monitor) throws CoreException {
-		String dirName = (String) options.get(EXPORT_DIRECTORY);
-		if (dirName == null) {
-			abort("Export directory unspecified.", null); //$NON-NLS-1$
-		}
-		File dir = new File(dirName);
-		if (!dir.exists()) {
-			abort("Export directory does not exist: " + dirName, null); //$NON-NLS-1$
-		}
-		if (!dir.isDirectory()) {
-			abort("Export directory is not a directory: " + dirName, null); //$NON-NLS-1$
-		}
-		StringBuffer buf = new StringBuffer();
-		buf.append(getId());
-		buf.append("_api_"); //$NON-NLS-1$
-		buf.append(getVersion());
-		buf.append(".jar"); //$NON-NLS-1$
-		String jarName = buf.toString();
-		File jar = new File(dir, jarName);
-		if (jar.exists()) {
-			abort("Export failed - API component already exists: " + jarName, null); //$NON-NLS-1$
-		}
-		boolean compress = getBooleanOption(options, IApiComponent.EXPORT_COMPRESS, false);
-		boolean stubs = getBooleanOption(options, IApiComponent.EXPORT_CLASS_FILE_STUBS, false);
-		FileOutputStream jarStream = null;
-		JarOutputStream outputStream = null;
-		try {
-			// create the jar with manifest
-			Manifest manifest = readManifest(new File(getLocation()));
-			// clear the file signing entries
-			manifest.getEntries().clear();
-			jarStream = new FileOutputStream(jar);
-			outputStream = new JarOutputStream(jarStream, manifest);
-			
-			// add class file containers
-			Set exported = new HashSet();
-			IClassFileContainer[] containers = getClassFileContainers();
-			for (int i = 0; i < containers.length; i++) {
-				IClassFileContainer container = containers[i];
-				IApiComponent origin = (IApiComponent) fContainerToBundle.get(container);
-				if (this.equals(origin)) {
-					// if origin is a fragment, don't export jar
-					String entryName = (String) fContainerToPath.get(container);
-					exportClassFileContainer(compress, stubs, outputStream, container, entryName);
-					exported.add(entryName);
-				}
-			}
-			
-			// add class file container from host that were defined by me (if I am a fragment
-			// and I did not already export them). This is because a fragment can support classes
-			// in a jar or folder and have them on a classpath entry in the manifest. The host
-			// can just refer to them
-			HostSpecification specification = fBundleDescription.getHost();
-			if (specification != null) {
-				BundleApiComponent host = (BundleApiComponent) getProfile().getApiComponent(specification.getName());
-				if (host != null) {
-					host.getClassFileContainers(); // ensure initialized
-					Iterator entries = host.fContainerToBundle.entrySet().iterator();
-					while (entries.hasNext()) {
-						Entry entry = (Entry) entries.next();
-						if (this.equals(entry.getValue())) {
-							IClassFileContainer container = (IClassFileContainer) entry.getKey();
-							String path = (String) host.fContainerToPath.get(container);
-							if (!exported.contains(path)) {
-								exportClassFileContainer(compress, stubs, outputStream, container, path);
-							}
-						}
-					}
-				}
-			}
-			
-			// add component.xml
-			String xml = Util.getApiDescriptionXML(this);
-			writeZipFileEntry(outputStream, IApiCoreConstants.COMPONENT_XML_NAME, xml.getBytes(IApiCoreConstants.UTF_8), compress);
-			
-			// add required files:
-			exportFileFromBundle(outputStream, IApiCoreConstants.PLUGIN_XML_NAME, compress, true);
-			exportFileFromBundle(outputStream, "plugin.properties", compress, true); //$NON-NLS-1$
-			exportFileFromBundle(outputStream, "about.html", compress, true); //$NON-NLS-1$
-			// TODO: about_files
-			// TODO: add extension point schemas
-		} catch (IOException e) {
-			ApiPlugin.log(e);
-			abort("Export failed", e); //$NON-NLS-1$
-		} finally {
-			// make sure that the jar is closed
-			if (outputStream != null) {
-				try {
-					outputStream.close();
-				} catch (IOException e) {
-					// ignore
-				}
-			} else if (jarStream != null) {
-				try {
-					jarStream.close();
-				} catch (IOException e) {
-					// ignore
-				}
-			}
-		}
-	}
-
-	/**
-	 * Add the given class file container to the jar being exported.
-	 *  
-	 * @param compress whether to compress 
-	 * @param stubs whether to generate class file stubs
-	 * @param outputStream the jar to write to
-	 * @param container the container to export
-	 * @param entryName the name of the container
-	 * @throws CoreException
-	 * @throws IOException
-	 */
-	private void exportClassFileContainer(boolean compress, boolean stubs, JarOutputStream outputStream, IClassFileContainer container, String entryName) throws CoreException, IOException {
-		if (Util.isArchive(entryName)) {
-			// add as nested jar
-			ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
-			ZipOutputStream zipOutputStream2 = new ZipOutputStream(new BufferedOutputStream(byteArrayOutputStream));
-			writeContainer(container, zipOutputStream2, compress, stubs);
-			zipOutputStream2.flush();
-			zipOutputStream2.close();
-			byte[] bytes = byteArrayOutputStream.toByteArray();
-			writeZipFileEntry(outputStream, entryName, bytes, compress);
-		} else {
-			// add to root of jar as individual files
-			writeContainer(container, outputStream, compress, stubs);
-		}
-	}
-	
-	/**
-	 * Returns a boolean option from the map or the default value if not present.
-	 * 
-	 * @param options option map
-	 * @param optionName option name
-	 * @param defaultValue default value for option if not present
-	 * @return boolean value
-	 */
-	protected boolean getBooleanOption(Map options, String optionName, boolean defaultValue) {
-		Boolean optionB = (Boolean)options.get(optionName);
-		if (optionB != null) {
-			return optionB.booleanValue();
-		}
-		return defaultValue;
-	}
-
-	/**
-	 * Copies a file from this component's bundle to the given jar.
-	 * 
-	 * @param outputStream jar being exported
-	 * @param filePath bundle relative path to file to export
-	 * @param compress whether to compress
-	 * @param optional whether the file may not exist
-	 * @throws MalformedURLException 
-	 * @throws IOException
-	 */
-	private void exportFileFromBundle(JarOutputStream outputStream, String filePath, boolean compress, boolean optional) throws MalformedURLException, IOException {
-		URL fileInBundle = getFileInBundle(new File(fLocation), filePath);
-		InputStream stream = null;
-		try {
-			URLConnection connection = fileInBundle.openConnection();
-			connection.setUseCaches(false);
-			stream = connection.getInputStream();
-			byte[] byteArray = Util.getInputStreamAsByteArray(stream, -1);
-			writeZipFileEntry(outputStream, filePath, byteArray, compress);
-		} catch (FileNotFoundException e) {
-			if (!optional) {
-				throw e;
-			}
-		} finally {
-			try {
-				if (stream != null) {
-					stream.close();
-				}
-			} catch(IOException e) {
-				ApiPlugin.log(e);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see IApiComponent#isSourceComponent()
-	 */
-	public boolean isSourceComponent() {
-		ManifestElement[] sourceBundle = null;
-		try {
-			sourceBundle = ManifestElement.parseHeader(IApiCoreConstants.ECLIPSE_SOURCE_BUNDLE, (String) fManifest.get(IApiCoreConstants.ECLIPSE_SOURCE_BUNDLE));
-		} catch (BundleException e) {
-			// ignore
-		}
-		if (sourceBundle != null) {
-			// this is a source bundle with the new format
-			return true;
-		}
-		// check for the old format
-		String pluginXMLContents = readFileContents(IApiCoreConstants.PLUGIN_XML_NAME,new File(getLocation()));
-		if (pluginXMLContents != null) {
-			if (containsSourceExtensionPoint(pluginXMLContents)) {
-				return true;
-			}
-		}
-		// check if it contains a fragment.xml with the appropriate extension point
-		pluginXMLContents = readFileContents(IApiCoreConstants.FRAGMENT_XML_NAME,new File(getLocation()));
-		if (pluginXMLContents != null) {
-			if (containsSourceExtensionPoint(pluginXMLContents)) {
-				return true;
-			}
-		}
-		// parse XML contents to find extension points
-		return false;
-	}
-
-	/**
-	 * Check if the given source contains an source extension point.
-	 * 
-	 * @param pluginXMLContents the given file contents
-	 * @return true if it contains a source extension point, false otherwise
-	 */
-	private boolean containsSourceExtensionPoint(String pluginXMLContents) {
-		SAXParserFactory factory = null;
-		try {
-			factory = SAXParserFactory.newInstance();
-		} catch (FactoryConfigurationError e) {
-			return false;
-		}
-		SAXParser saxParser = null;
-		try {
-			saxParser = factory.newSAXParser();
-		} catch (ParserConfigurationException e) {
-			// ignore
-		} catch (SAXException e) {
-			// ignore
-		}
-
-		if (saxParser == null) {
-			return false;
-		}
-
-		// Parse
-		InputSource inputSource = new InputSource(new BufferedReader(new StringReader(pluginXMLContents)));
-		try {
-			SourceDefaultHandler defaultHandler = new SourceDefaultHandler();
-			saxParser.parse(inputSource, defaultHandler);
-			return defaultHandler.isSource();
-		} catch (SAXException e) {
-			// ignore
-		} catch (IOException e) {
-			// ignore
-		}
-		return false;
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.IApiComponent#isFragment()
-	 */
-	public boolean isFragment() {
-		return fBundleDescription.getHost() != null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.IApiComponent#hasFragments()
-	 */
-	public boolean hasFragments() {
-		return fBundleDescription.getFragments().length != 0;
-	}
-	
-	public String getOrigin() {
-		return this.getId();
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/BundleVersionRange.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/BundleVersionRange.java
deleted file mode 100644
index 276ac2d..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/BundleVersionRange.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import org.eclipse.osgi.service.resolver.VersionRange;
-import org.eclipse.pde.api.tools.internal.provisional.IVersionRange;
-import org.osgi.framework.Version;
-
-/**
- * Implementation of a required component description based on
- * OSGi bundles.
- * 
- * @since 1.0.0
- */
-public class BundleVersionRange implements IVersionRange {
-	
-	private VersionRange fRange;
-	
-	
-	/**
-	 * Constructs a new version range based on the given
-	 * required bundle version interval. 
-	 * 
-	 * @param versionInterval string representing mathematical interval
-	 *  describing range of compatible versions
-	 */
-	public BundleVersionRange(String versionInterval) {
-		fRange = new VersionRange(versionInterval);
-	}
-	
-	/**
-	 * Constructs a new version range based on the given range.
-	 * 
-	 * @param range version range
-	 */	
-	public BundleVersionRange(VersionRange range) {
-		fRange = range;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.manifest.IRequiredComponentDescription#getMaximumVersion()
-	 */
-	public String getMaximumVersion() {
-		return fRange.getMaximum().toString();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.manifest.IRequiredComponentDescription#getMinimumVersion()
-	 */
-	public String getMinimumVersion() {
-		return fRange.getMinimum().toString();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.manifest.IRequiredComponentDescription#isIncludeMaximum()
-	 */
-	public boolean isIncludeMaximum() {
-		return fRange.getIncludeMaximum();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.manifest.IRequiredComponentDescription#isIncludeMinimum()
-	 */
-	public boolean isIncludeMinimum() {
-		return fRange.getIncludeMinimum();
-	}
-
-	public boolean equals(Object obj) {
-		if (obj instanceof BundleVersionRange) {
-			BundleVersionRange range = (BundleVersionRange) obj;
-			return fRange.equals(range.fRange);
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return fRange.hashCode();
-	}
-
-	public String toString() {
-		return fRange.toString();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.manifest.IVersionRange#isIncluded(java.lang.String)
-	 */
-	public boolean isIncluded(String version) {
-		return fRange.isIncluded(new Version(version));
-	}
-	
-	
-	
-	
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/CompilationUnit.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/CompilationUnit.java
deleted file mode 100644
index a6115e8..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/CompilationUnit.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.ICompilationUnit;
-
-/**
- * A compilation unit in the API context acts as a proxy to the stream of file contents. It holds 
- * meta-data about the underlying file, but does not hold on to the actual contents of the file.
- * 
- * @since 1.0.0
- */
-public class CompilationUnit {
-
-	private String name = null;
-	private String filepath = null;
-	private ICompilationUnit unit = null;
-	
-	/**
-	 * The full path to the file
-	 * Constructor
-	 * @param filepath the absolute path to the file. If the path points to a file that does
-	 * not exist an {@link IllegalArgumentException} is thrown
-	 */
-	public CompilationUnit(String filepath) {
-		File file = new File(filepath);
-		if(!file.exists()) {
-			throw new IllegalArgumentException("The specified path is not an existing file"); //$NON-NLS-1$
-		}
-		this.filepath = filepath;
-		name = file.getName();
-	}
-	
-	public CompilationUnit(ICompilationUnit compilationUnit) {
-		unit = compilationUnit;
-		name = compilationUnit.getElementName();
-	}
-	
-	/**
-	 * @return the name of the file
-	 */
-	public String getName() {
-		return name;
-	}
-	
-	/**
-	 * Returns the input stream of the file
-	 * @return the input stream of the files' contents
-	 * @throws FileNotFoundException if the input stream could not connect
-	 * to the actual file
-	 */
-	public InputStream getInputStream() throws FileNotFoundException {
-		if (unit != null) {
-			try {
-				return ((IFile)(unit.getCorrespondingResource())).getContents();
-			} catch (CoreException e) {
-				// TODO: should throw CoreException
-				throw new FileNotFoundException(e.getStatus().getMessage());
-			}
-		}
-		return new FileInputStream(new File(filepath));
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ComponentManifest.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ComponentManifest.java
deleted file mode 100644
index 5193d6c..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ComponentManifest.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.util.ManifestElement;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IRequiredComponentDescription;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.Constants;
-
-/**
- * Reads headers from an API component's manifest file.
- * 
- * @since 1.0.0
- */
-public class ComponentManifest {
-	
-	private String fId;
-	private String fName;
-	private String fVersion;
-	private String fEnvironment;
-	private IRequiredComponentDescription[] fRequired;
-		
-	/**
-	 * Constructs a new component manifest.
-	 */
-	ComponentManifest() {
-	}
-	
-	/**
-	 * Constructs and returns new component manifest on the given input stream
-	 * that represents a bundle manifest file ("MANIFEST.MF").
-	 * 
-	 * @param inputStream manifest file input stream
-	 * @throws CoreException 
-	 * @throws CoreException if unable to build the component from the file
-	 */	
-	public static ComponentManifest fromBundleManifest(InputStream stream) throws CoreException {
-		ComponentManifest manifest = new ComponentManifest();
-		manifest.initFromBundleManifest(stream);
-		return manifest;
-	}
-
-	/**
-	 * Initializes this component manifest from the given manifest file.
-	 * 
-	 * @param manifest input stream to manifest file
-	 * @throws CoreException if unable to read the file or missing required headers
-	 */
-	private void initFromBundleManifest(InputStream manifest) throws CoreException {
-		try {
-			Map headers = ManifestElement.parseBundleManifest(manifest, null);
-			fId = getValue(Constants.BUNDLE_SYMBOLICNAME, headers);
-			fName = getValue(Constants.BUNDLE_NAME, headers);
-			fVersion = getValue(Constants.BUNDLE_VERSION, headers);
-			fEnvironment = getValue(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, headers);
-			
-			String value = (String) headers.get(Constants.REQUIRE_BUNDLE);
-			if (value == null) {
-				fRequired = new IRequiredComponentDescription[0];
-			} else {
-				ManifestElement[] elements = ManifestElement.parseHeader(Constants.REQUIRE_BUNDLE, value);
-				fRequired = new IRequiredComponentDescription[elements.length];
-				for (int i = 0; i < elements.length; i++) {
-					ManifestElement element = elements[i];
-					fRequired[i] = new RequiredComponentDescription(
-							element.getValue(),
-							new BundleVersionRange(element.getAttribute(Constants.BUNDLE_VERSION_ATTRIBUTE)),
-							isOptional(element));
-				}
-			}
-
-		} catch (IOException e) {
-			abort("Invalid API component manifest", e); //$NON-NLS-1$
-		} catch (BundleException e) {
-			abort("Invalid API component manifest", e); //$NON-NLS-1$
-		}
-	}
-
-	private boolean isOptional(ManifestElement element) {
-		return Constants.RESOLUTION_OPTIONAL.equals(element.getDirective(Constants.RESOLUTION_DIRECTIVE))
-		|| "true".equals(element.getAttribute(Constants.RESOLUTION_OPTIONAL)); //$NON-NLS-1$
-	}
-
-	/**
-	 * Throws a core exception with the given message and underlying exception,
-	 * if any.
-	 * 
-	 * @param message error message
-	 * @param e underlying exception or <code>null</code>
-	 * @throws CoreException
-	 */
-	private void abort(String message, Throwable e) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, message, e));
-	}
-	
-	/**
-	 * Returns a manifest element value for the specified header in the given map
-	 * of raw header values.
-	 * 
-	 * @param header header name
-	 * @param headers map of header values
-	 * @return manifest element
-	 * @exception BundleException, CoreException if missing or invalid
-	 */
-	private String getValue(String header, Map headers) throws BundleException, CoreException {
-		String value = (String) headers.get(header);
-		if (value != null) {
-			ManifestElement[] elements = ManifestElement.parseHeader(header, value);
-			if (elements == null) {
-				abort("Manifest missing required header: " + header, null); //$NON-NLS-1$
-			} else if (elements.length == 1) {
-				return elements[0].getValue();
-			} else {
-				abort("Manifest has invalid header: " + header, null); //$NON-NLS-1$
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns a human readable name for this component.
-	 * 
-	 * @return component name
-	 */
-	public String getName() {
-		return fName;
-	}
-	
-	/**
-	 * Returns this component's unique identifier.
-	 * 
-	 * @return unique component identifier
-	 */
-	public String getId() {
-		return fId;
-	}
-	
-	/**
-	 * Returns this component's version identifier.
-	 * 
-	 * @return component version
-	 */
-	public String getVersion() {
-		return fVersion;
-	}
-	
-	/**
-	 * Returns the execution environment required by this component for building
-	 * and running. An execution environment is represented by a unique identifier
-	 * as defined by OSGi - for example "J2SE-1.4" or "CDC-1.0/Foundation-1.0".
-	 * 
-	 * @return execution environment identifier
-	 */
-	public String getExecutionEnvironment() {
-		return fEnvironment;
-	}
-	
-	/**
-	 * Returns a collection of descriptions of components required by this
-	 * component, or an empty collection if none.
-	 * 
-	 * @return required component descriptions, possibly empty
-	 */
-	public IRequiredComponentDescription[] getRequiredComponents() {
-		return fRequired;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/CompositeApiDescription.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/CompositeApiDescription.java
deleted file mode 100644
index 23d96e7..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/CompositeApiDescription.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.pde.api.tools.internal.provisional.ApiDescriptionVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
-import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-
-/**
- * A host API description combines descriptions of a host and all its
- * fragments.
- * 
- * @since 1.0
- */
-public class CompositeApiDescription implements IApiDescription {
-	
-	private IApiDescription[] fDescriptions;
-	
-	/**
-	 * Constructs a composite API description out of the given descriptions.
-	 * 
-	 * @param descriptions
-	 */
-	public CompositeApiDescription(IApiDescription[] descriptions) {
-		fDescriptions = descriptions;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiDescription#accept(org.eclipse.pde.api.tools.internal.provisional.ApiDescriptionVisitor)
-	 */
-	public void accept(ApiDescriptionVisitor visitor) {
-		for (int i = 0; i < fDescriptions.length; i++) {
-			fDescriptions[i].accept(visitor);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiDescription#removeElement(org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor)
-	 */
-	public boolean removeElement(IElementDescriptor element) {
-		for (int i = 0; i < fDescriptions.length; i++) {
-			if (fDescriptions[i].removeElement(element)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiDescription#resolveAnnotations(java.lang.String, org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor)
-	 */
-	public IApiAnnotations resolveAnnotations(String component, IElementDescriptor element) {
-		for (int i = 0; i < fDescriptions.length; i++) {
-			IApiAnnotations ann = fDescriptions[i].resolveAnnotations(component, element);
-			if (ann != null) {
-				return ann;
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiDescription#setRestrictions(java.lang.String, org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor, int)
-	 */
-	public IStatus setRestrictions(String component, IElementDescriptor element, int restrictions) {
-		for (int i = 0; i < fDescriptions.length; i++) {
-			IStatus status = fDescriptions[i].setRestrictions(component, element, restrictions);
-			if (status.isOK() || i == (fDescriptions.length - 1)) {
-				return status;
-			}
-		}
-		return Status.CANCEL_STATUS;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiDescription#setVisibility(java.lang.String, org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor, int)
-	 */
-	public IStatus setVisibility(String component, IElementDescriptor element, int visibility) {
-		for (int i = 0; i < fDescriptions.length; i++) {
-			IStatus status = fDescriptions[i].setVisibility(component, element, visibility);
-			if (status.isOK() || i == (fDescriptions.length - 1)) {
-				return status;
-			}
-		}
-		return Status.CANCEL_STATUS;
-	}
-
-	/**
-	 * Disconnects an underlying API description from the given bundle.
-	 * 
-	 * @param bundle
-	 */
-	void disconnect(BundleDescription bundle) {
-		for (int i = 0; i < fDescriptions.length; i++) {
-			IApiDescription description = fDescriptions[i];
-			if (description instanceof ProjectApiDescription) {
-				ProjectApiDescription pad = (ProjectApiDescription) description;
-				if (bundle.equals(pad.getConnection())) {
-					pad.disconnect(bundle);
-					return;
-				}
-			}
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/CompositeClassFileContainer.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/CompositeClassFileContainer.java
deleted file mode 100644
index b945144..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/CompositeClassFileContainer.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A collection of class file containers.
- * 
- * @since 1.0
- */
-public class CompositeClassFileContainer extends AbstractClassFileContainer {
-	
-	private List fContainers;
-	
-	private String fOrigin;
-	/**
-	 * Constructs a composite container on the given list of containers.
-	 * 
-	 * @param containers list of containers
-	 */
-	public CompositeClassFileContainer(List containers, String origin) {
-		this.fContainers = containers;
-		this.fOrigin = origin;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.AbstractClassFileContainer#createClassFileContainers()
-	 */
-	protected List createClassFileContainers() throws CoreException {
-		return fContainers;
-	}
-	
-	public String getOrigin() {
-		return this.fOrigin;
-	}
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/CoreMessages.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/CoreMessages.java
deleted file mode 100644
index eb1e34f..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/CoreMessages.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * 
- */
-public class CoreMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.pde.api.tools.internal.coremessages"; //$NON-NLS-1$
-	public static String ApiProfile_0;
-	public static String ApiProfile_1;
-	public static String ApiProfile_2;
-	public static String ApiProfile_4;
-	public static String ApiProfile_7;
-	public static String ApiProfile_8;
-	public static String JavadocTagManager_class;
-	public static String JavadocTagManager_extended;
-	public static String JavadocTagManager_field;
-	public static String JavadocTagManager_implemented;
-	public static String JavadocTagManager_instantiated;
-	public static String JavadocTagManager_interface;
-	public static String JavadocTagManager_method;
-	public static String JavadocTagManager_not_intended_to_be;
-	public static String JavadocTagManager_referenced;
-	public static String JavadocTagManager_subclassed;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, CoreMessages.class);
-	}
-
-	private CoreMessages() {
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/DirectoryClassFileContainer.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/DirectoryClassFileContainer.java
deleted file mode 100644
index fd6d606..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/DirectoryClassFileContainer.java
+++ /dev/null
@@ -1,292 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.io.File;
-import java.io.FileFilter;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * A class file container rooted at a directory in the file system.
- * 
- * @since 1.0.0
- */
-public class DirectoryClassFileContainer implements IClassFileContainer {
-	
-	/**
-	 * Root directory of the class file container
-	 */
-	private File fRoot;
-	
-	/**
-	 * Origin of this class file container
-	 */
-	private String fOrigin;
-
-	/**
-	 * Map of package names to associated directory (file)
-	 */
-	private Map fPackages;
-	
-	/**
-	 * Cache of package names
-	 */
-	private String[] fPackageNames;
-	
-	/**
-	 * Implementation of a class file in the local file system.
-	 * 
-	 * @since 1.0.0
-	 */
-	class ClassFile extends AbstractClassFile implements Comparable {
-		
-		/**
-		 * Associated file
-		 */
-		private File fFile;
-		
-		/**
-		 * Qualified type name. Package is dot separated and types are $-separated.
-		 */
-		private String fTypeName;
-		
-		/**
-		 * Constructs a class file on the given file
-		 * @param file file
-		 * @param qualified type name
-		 */
-		public ClassFile(File file, String typeName) {
-			fFile = file;
-			fTypeName = typeName;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.pde.api.tools.model.component.IClassFile#getTypeName()
-		 */
-		public String getTypeName() {
-			return fTypeName;
-		}
-
-		/* (non-Javadoc)
-		 * @see java.lang.Comparable#compareTo(java.lang.Object)
-		 */
-		public int compareTo(Object o) {
-			return fTypeName.compareTo(((ClassFile)o).fTypeName);
-		}
-
-		/* (non-Javadoc)
-		 * @see java.lang.Object#equals(java.lang.Object)
-		 */
-		public boolean equals(Object obj) {
-			if (obj instanceof ClassFile) {
-				return ((ClassFile) obj).fTypeName.equals(this.fTypeName);
-			}
-			return false;
-		}
-		
-		/* (non-Javadoc)
-		 * @see java.lang.Object#hashCode()
-		 */
-		public int hashCode() {
-			return this.fTypeName.hashCode();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.pde.api.tools.model.component.IClassFile#getInputStream()
-		 */
-		public InputStream getInputStream() throws CoreException {
-			try {
-				return new FileInputStream(fFile);
-			} catch (FileNotFoundException e) {
-				abort("File not found", e); //$NON-NLS-1$
-			}
-			return null; // never reaches here
-		}
-	}	
-	
-	/**
-	 * Constructs a class file container rooted at the specified path.
-	 * 
-	 * @param location absolute path in the local file system
-	 * @param origin id of the component that creates this class file container
-	 */
-	public DirectoryClassFileContainer(String location, String origin) {
-		this.fRoot = new File(location);
-		this.fOrigin = origin;
-	}
-
-	/**
-	 * Throws a core exception with the given message and underlying exception,
-	 * if any.
-	 * 
-	 * @param message error message
-	 * @param e underlying exception or <code>null</code>
-	 * @throws CoreException
-	 */
-	private void abort(String message, Throwable e) throws CoreException {
-		throw new CoreException(new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, message, e));
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IClassFileContainer#accept(org.eclipse.pde.api.tools.model.component.ClassFileContainerVisitor)
-	 */
-	public void accept(ClassFileContainerVisitor visitor) throws CoreException {
-		init();
-		String[] packageNames = getPackageNames();
-		for (int i = 0; i < packageNames.length; i++) {
-			String pkg = packageNames[i];
-			if (visitor.visitPackage(pkg)) {
-				File dir = (File) fPackages.get(pkg);
-				File[] files = dir.listFiles(new FileFilter() {
-					public boolean accept(File file) {
-						return file.isFile() && file.getName().endsWith(Util.DOT_CLASS_SUFFIX);
-					}
-				});
-				if (files != null) {
-					List classFiles = new ArrayList();
-					for (int j = 0; j < files.length; j++) {
-						File file = files[j];
-						String name = file.getName();
-						String typeName = name.substring(0, name.length() - 6);
-						if (pkg.length() > 0) {
-							typeName = pkg + "." + typeName; //$NON-NLS-1$
-						}
-						classFiles.add(new ClassFile(file, typeName));
-					}
-					Collections.sort(classFiles);
-					Iterator cfIterator = classFiles.iterator();
-					while (cfIterator.hasNext()) {
-						IClassFile classFile = (IClassFile) cfIterator.next();
-						visitor.visit(pkg, classFile);
-						visitor.end(pkg, classFile);
-					}
-				}
-			}
-			visitor.endVisitPackage(pkg);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IClassFileContainer#close()
-	 */
-	public synchronized void close() throws CoreException {
-		fPackages = null;
-		fPackageNames = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IClassFileContainer#findClassFile(java.lang.String)
-	 */
-	public IClassFile findClassFile(String qualifiedName) throws CoreException {
-		init();
-		int index = qualifiedName.lastIndexOf('.');
-		String cfName = qualifiedName;
-		String pkg = Util.DEFAULT_PACKAGE_NAME;
-		if (index > 0) {
-			pkg = qualifiedName.substring(0, index);
-			cfName = qualifiedName.substring(index + 1);
-		}
-		File dir = (File) fPackages.get(pkg);
-		if (dir != null) {
-			File file = new File(dir, cfName + Util.DOT_CLASS_SUFFIX);
-			if (file.exists()) {
-				return new ClassFile(file, qualifiedName);
-			}
-		}
-		return null;
-	}
-
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IClassFileContainer#getPackageNames()
-	 */
-	public String[] getPackageNames() throws CoreException {
-		init();
-		if (fPackageNames == null) {
-			List names = new ArrayList(fPackages.keySet());
-			Collections.sort(names);
-			fPackageNames = (String[]) names.toArray(new String[names.size()]);
-		}
-		return fPackageNames;
-	}
-	
-	/**
-	 * Builds cache of package names to directories
-	 */
-	private synchronized void init() {
-		if (fPackages == null) {
-			fPackages = new HashMap();
-			processDirectory(Util.DEFAULT_PACKAGE_NAME, fRoot);
-		}
-	}
-	
-	/**
-	 * Traverses a directory to determine if it has class files and
-	 * then visits sub-directories.
-	 * 
-	 * @param packageName package name of directory being visited
-	 * @param dir directory being visited
-	 */
-	private void processDirectory(String packageName, File dir) {
-		File[] files = dir.listFiles();
-		if (files != null) {
-			boolean hasClassFiles = false;
-			List dirs = new ArrayList();
-			for (int i = 0; i < files.length; i++) {
-				File file = files[i];
-				if (file.isDirectory()) {
-					dirs.add(file);
-				} else if (!hasClassFiles) {
-					if (file.getName().endsWith(Util.DOT_CLASS_SUFFIX)) {
-						fPackages.put(packageName, dir);
-						hasClassFiles = true;
-					}
-				}
-			}
-			Iterator iterator = dirs.iterator();
-			while (iterator.hasNext()) {
-				File child = (File)iterator.next();
-				String nextName = null;
-				if (packageName.length() == 0) {
-					nextName = child.getName();
-				} else {
-					nextName = packageName + "." + child.getName(); //$NON-NLS-1$
-				}
-				processDirectory(nextName, child);
-			}
-		}
-	}
-
-	public IClassFile findClassFile(String qualifiedName, String id) throws CoreException {
-		return findClassFile(qualifiedName);
-	}
-
-	public String getOrigin() {
-		return this.fOrigin;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/IApiCoreConstants.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/IApiCoreConstants.java
deleted file mode 100644
index 5618189..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/IApiCoreConstants.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-/**
- * Constants used by API tools core plugin
- * 
- * @since 1.0.0
- */
-public interface IApiCoreConstants {
-
-	/**
-	 * Constant representing the name of a component XML file.
-	 * Value is: <code>component.xml</code>
-	 */
-	public static final String COMPONENT_XML_NAME = "component.xml"; //$NON-NLS-1$
-	/**
-	 * Constant representing the value for UTF-8 encoding.
-	 * Value is: <code>UTF-8</code>
-	 */
-	public static final String UTF_8 = "UTF-8"; //$NON-NLS-1$
-	/**
-	 * Constant representing the name of a plugin.xml file.
-	 * Value is: <code>plugin.xml</code>
-	 */
-	public static final String PLUGIN_XML_NAME = "plugin.xml"; //$NON-NLS-1$
-	/**
-	 * Constant representing the name of a fragment.xml file.
-	 * Value is: <code>fragment.xml</code>
-	 */
-	public static final String FRAGMENT_XML_NAME = "fragment.xml"; //$NON-NLS-1$
-	/**
-	 * Constant representing the name of API description XML file.
-	 * Value is <code>.api_description</code>
-	 */
-	public static final String API_DESCRIPTION_XML_NAME = ".api_description"; //$NON-NLS-1$
-	/**
-	 * Constant representing the name of the API filters XML file.
-	 * Value is <code>.api_filters</code>
-	 */
-	public static final String API_FILTERS_XML_NAME = ".api_filters"; //$NON-NLS-1$
-	/**
-	 * Constant representing the name of the source bundle manifest header.
-	 * Value is: <code>Eclipse-SourceBundle</code>
-	 */
-	public static final String ECLIPSE_SOURCE_BUNDLE = "Eclipse-SourceBundle"; //$NON-NLS-1$
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/IApiXmlConstants.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/IApiXmlConstants.java
deleted file mode 100644
index 53c1969..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/IApiXmlConstants.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-
-/**
- * Interface containing all of the constants used in XML documents
- * in API tooling 
- * 
- * @since 1.0.0
- */
-public interface IApiXmlConstants {
-
-	/**
-	 * Constant representing the current version for api description files
-	 */
-	public static final String API_DESCRIPTION_CURRENT_VERSION = "1"; //$NON-NLS-1$
-	/**
-	 * Constant representing the current version for api filter store files
-	 */
-	public static final String API_FILTER_STORE_CURRENT_VERSION = "1"; //$NON-NLS-1$
-	/**
-	 * Constant representing the current version for api profile files
-	 */
-	public static final String API_PROFILE_CURRENT_VERSION = "1"; //$NON-NLS-1$
-	/**
-	 * Constant representing the category attribute of an {@link IApiProblem} in xml.
-	 * Value is: <code>category</code>
-	 */
-	public static final String ATTR_CATEGORY = "category"; //$NON-NLS-1$
-	/**
-	 * Constant representing the context attribute for rules xml nodes specific to a component.
-	 * Value is: <code>context</code>
-	 */
-	public static final String ATTR_CONTEXT = "context"; //$NON-NLS-1$
-	/**
-	 * Constant representing the element kind attribute of an {@link IApiProblem} in xml.
-	 * Value is: <code>elementkind</code>
-	 */
-	public static final String ATTR_ELEMENT_KIND = "elementkind"; //$NON-NLS-1$
-	/**
-	 * Constant representing the extend attribute for a type xml node.
-	 * Value is: <code>extend</code>
-	 */
-	public static final String ATTR_EXTEND = "extend"; //$NON-NLS-1$
-	/**
-	 * Constant representing the flags attribute of an {@link IApiProblem} in xml.
-	 * Value is: <code>flags</code>
-	 */
-	public static final String ATTR_FLAGS = "flags"; //$NON-NLS-1$
-	/**
-	 * Constant representing the java element handle attribute name in xml.
-	 * Value is <code>handle</code>
-	 */
-	public static final String ATTR_HANDLE = "handle"; //$NON-NLS-1$
-	/**
-	 * Constant representing the id attribute for plug-in xml node.
-	 * Value is: <code>id</code>
-	 */
-	public static final String ATTR_ID = "id"; //$NON-NLS-1$
-	/**
-	 * Constant representing the implement attribute for a type xml node.
-	 * Value is: <code>implement</code>
-	 */
-	public static final String ATTR_IMPLEMENT = "implement"; //$NON-NLS-1$
-	/**
-	 * Constant representing the instantiate attribute for a type xml node.
-	 * Value is: <code>instantiate</code>
-	 */
-	public static final String ATTR_INSTANTIATE = "instantiate";	 //$NON-NLS-1$
-	/**
-	 * Constant representing the kind attribute of an {@link IApiProblem} in xml.
-	 * Value is: <code>kind</code>
-	 */
-	public static final String ATTR_KIND = "kind"; //$NON-NLS-1$
-	/**
-	 * Constant representing the location attribute name for an API profile xml file.
-	 * Value is <code>location</code>
-	 */
-	static final String ATTR_LOCATION = "location"; //$NON-NLS-1$
-	/**
-	 * Constant representing the message attribute of an {@link IApiProblem} in xml.
-	 * Value is: <code>message</code>
-	 */
-	public static final String ATTR_MESSAGE = "message"; //$NON-NLS-1$
-	/**
-	 * Constant representing the resource modification stamp attribute name in xml.
-	 * Value is <code>modificationStamp</code>
-	 */
-	public static final String ATTR_MODIFICATION_STAMP = "modificationStamp"; //$NON-NLS-1$
-	/**
-	 * Constant representing the name attribute for component, package, type, method and field xml nodes.
-	 * Value is: <code>name</code>
-	 */
-	public static final String ATTR_NAME = "name"; //$NON-NLS-1$
-	/**
-	 * Constant representing the binary compatibility attribute of a delta in xml report.
-	 * Value is: <code>binary_compatible</code>
-	 */
-	public static final String ATTR_NAME_BINARY_COMPATIBLE = "binary_compatible"; //$NON-NLS-1$
-	/**
-	 * Constant representing the element type attribute of a delta in xml report.
-	 * Value is: <code>element_type</code>
-	 */
-	public static final String ATTR_NAME_ELEMENT_TYPE = "element_type"; //$NON-NLS-1$
-	/**
-	 * Constant representing the char start attribute of an {@link IApiProblem} in xml.
-	 * Value is: <code>charstart</code>
-	 */
-	public static final String ATTR_CHAR_START = "charstart"; //$NON-NLS-1$
-	/**
-	 * Constant representing the charend attribute of an {@link IApiProblem} in xml.
-	 * Value is: <code>charend</code>
-	 */
-	public static final String ATTR_CHAR_END = "charend"; //$NON-NLS-1$
-	/**
-	 * Constant representing the flags attribute of a delta in xml report.
-	 * Value is: <code>flags</code>
-	 */
-	public static final String ATTR_NAME_FLAGS = "flags"; //$NON-NLS-1$
-	/**
-	 * Constant representing the key attribute of a delta in xml report.
-	 * Value is: <code>key</code>
-	 */
-	public static final String ATTR_NAME_KEY = "key"; //$NON-NLS-1$
-	/**
-	 * Constant representing the kind attribute of a delta in xml report.
-	 * Value is: <code>kind</code>
-	 */
-	public static final String ATTR_NAME_KIND = "kind"; //$NON-NLS-1$
-	/**
-	 * Constant representing the modifiers attribute of a delta in xml report.
-	 * Value is: <code>modifiers</code>
-	 */
-	public static final String ATTR_NAME_MODIFIERS = "modifiers"; //$NON-NLS-1$
-	/**
-	 * Constant representing the restrictions attribute of a delta in xml report.
-	 * Value is: <code>restrictions</code>
-	 */
-	public static final String ATTR_NAME_RESTRICTIONS = "restrictions"; //$NON-NLS-1$
-	/**
-	 * Constant representing the type name attribute of a delta in xml report.
-	 * Value is: <code>type_name</code>
-	 */
-	public static final String ATTR_NAME_TYPE_NAME = "type_name"; //$NON-NLS-1$
-	/**
-	 * Constant representing the linenumber attribute of an {@link IApiProblem} in xml.
-	 * Value is: <code>linenumber</code>
-	 */
-	public static final String ATTR_LINE_NUMBER = "linenumber"; //$NON-NLS-1$
-	/**
-	 * Constant representing the message argument attribute of an {@link IApiProblem} in xml.
-	 * Value is: <code>messageargs</code>
-	 */
-	public static final String ATTR_MESSAGE_ARGUMENTS = "messageargs"; //$NON-NLS-1$
-	/**
-	 * Constant representing the path attribute of a resource in xml.
-	 * Value is: <code>path</code>
-	 */
-	public static final String ATTR_PATH = "path"; //$NON-NLS-1$
-	/**
-	 * Constant representing the reference attribute for a type xml node.
-	 * Value is: <code>reference</code>
-	 */
-	public static final String ATTR_REFERENCE = "reference";	 //$NON-NLS-1$
-	/**
-	 * Constant representing the API restrictions mask attribute name in xml.
-	 * Value is <code>restrictions</code>
-	 */
-	public static final String ATTR_RESTRICTIONS = "restrictions"; //$NON-NLS-1$
-	/**
-	 * Constant representing the signature attribute for a method xml node.
-	 * Value is: <code>signature</code> 
-	 */
-	public static final String ATTR_SIGNATURE = "signature"; //$NON-NLS-1$
-	/**
-	 * Constant representing the version attribute name for an API profile xml file.
-	 * Value is <code>version</code>
-	 */
-	static final String ATTR_VERSION = "version"; //$NON-NLS-1$
-	/**
-	 * Constant representing the visibility attribute for component, package, type, method and field xml nodes.
-	 * Will be one of: "API", "private", "private_permissable", or "SPI"
-	 */
-	public static final String ATTR_VISIBILITY = "visibility"; //$NON-NLS-1$
-	/**
-	 * Constant representing the delta element name.
-	 * Value is: <code>delta</code>
-	 */
-	public static final String DELTA_ELEMENT_NAME = "delta"; //$NON-NLS-1$
-	/**
-	 * Constant representing the deltas element name.
-	 * Value is: <code>deltas</code>
-	 */
-	public static final String DELTAS_ELEMENT_NAME = "deltas"; //$NON-NLS-1$
-	/**
-	 * Constant representing the API component node name for an API profile xml file.
-	 * Value is <code>apicomponent</code>
-	 */
-	public static final String ELEMENT_APICOMPONENT = "apicomponent";  //$NON-NLS-1$
-	
-	/**
-	 * Constant representing the API profile node name for an API profile xml file.
-	 * Value is <code>apiprofile</code>
-	 */
-	public static final String ELEMENT_APIPROFILE = "apiprofile";  //$NON-NLS-1$
-
-	/**
-	 * Constant representing a component element node in xml.
-	 * Value is: <code>component</code> 
-	 */
-	public static final String ELEMENT_COMPONENT = "component"; //$NON-NLS-1$
-
-	/**
-	 * Constant representing a field element node in xml.
-	 * Value is: <code>field</code>
-	 */
-	public static final String ELEMENT_FIELD = "field"; //$NON-NLS-1$
-	/**
-	 * Constant representing a api filter element node in xml.
-	 * Value is: <code>filter</code>
-	 */
-	public static final String ELEMENT_FILTER = "filter"; //$NON-NLS-1$
-	/**
-	 * Constant representing a method element node in xml.
-	 * Value is: <code>method</code>
-	 */
-	public static final String ELEMENT_METHOD = "method"; //$NON-NLS-1$
-	/**
-	 * Constant representing a package element node in xml.
-	 * Value is: <code>package</code>
-	 */
-	public static final String ELEMENT_PACKAGE = "package"; //$NON-NLS-1$
-	/**
-	 * Constant representing a plugin element node in xml.
-	 * Value is: <code>plugin</code>
-	 */
-	public static final String ELEMENT_PLUGIN = "plugin"; //$NON-NLS-1$
-	/**
-	 * Constant representing the API component pool node name for an API profile xml file.
-	 * Value is <code>pool</code>
-	 */
-	public static final String ELEMENT_POOL = "pool";  //$NON-NLS-1$	
-	/**
-	 * Constant representing a resource element node in xml.
-	 * Value is: <code>resource</code>
-	 */
-	public static final String ELEMENT_RESOURCE = "resource"; //$NON-NLS-1$
-	/**
-	 * Constant representing a type element node in xml.
-	 * Value is: <code>type</code>
-	 */
-	public static final String ELEMENT_TYPE = "type"; //$NON-NLS-1$
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/JavadocTagManager.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/JavadocTagManager.java
deleted file mode 100644
index 17730a0..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/JavadocTagManager.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import org.eclipse.pde.api.tools.internal.provisional.IApiJavadocTag;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Manages contributed javadoc tags. This manager is lazy, in that
- * nothing is loaded until it is asked for.
- * 
- * @since 1.0.0
- */
-public class JavadocTagManager {
-
-	/**
-	 * Cache for the contributed javadoc tags. 
-	 * Cache form:
-	 * <pre>
-	 * HashMap<String(id), tag>
-	 * </pre>
-	 */
-	private HashMap tagcache = null;
-	
-	/**
-	 * Collection of tag extensions
-	 */
-	private IApiJavadocTag[] tags;
-	
-	/**
-	 * Initializes the cache of contributed javadoc tags.
-	 * If the cache has already been initialized no work is done.
-	 */
-	private void initializeJavadocTags() {
-		if(tagcache == null) {
-			tagcache = new HashMap();
-			List list = new ArrayList(4);
-			
-			//noimplement tag
-			ApiJavadocTag newtag = new ApiJavadocTag("org.eclipse.pde.api.tools.noimplement",  //$NON-NLS-1$
-					"noimplement", //$NON-NLS-1$
-					RestrictionModifiers.NO_IMPLEMENT,
-					new int[] {IApiJavadocTag.TYPE_INTERFACE}, 
-					new String[] {MessageFormat.format(CoreMessages.JavadocTagManager_not_intended_to_be, new String[] {CoreMessages.JavadocTagManager_interface, CoreMessages.JavadocTagManager_implemented})});
-			tagcache.put(newtag.getTagId(), newtag);
-			list.add(newtag);
-			
-			//noextend tag
-			newtag = new ApiJavadocTag("org.eclipse.pde.api.tools.noextend",  //$NON-NLS-1$
-					"noextend", //$NON-NLS-1$
-					RestrictionModifiers.NO_EXTEND,
-					new int[] {IApiJavadocTag.TYPE_CLASS, IApiJavadocTag.TYPE_INTERFACE, IApiJavadocTag.TYPE_CLASS | IApiJavadocTag.MEMBER_METHOD}, 
-					new String[] {MessageFormat.format(CoreMessages.JavadocTagManager_not_intended_to_be, new String[] {CoreMessages.JavadocTagManager_class, CoreMessages.JavadocTagManager_subclassed}),  
-									MessageFormat.format(CoreMessages.JavadocTagManager_not_intended_to_be, new String[] {CoreMessages.JavadocTagManager_interface, CoreMessages.JavadocTagManager_extended}), 
-									MessageFormat.format(CoreMessages.JavadocTagManager_not_intended_to_be, new String[] {CoreMessages.JavadocTagManager_method, CoreMessages.JavadocTagManager_extended})});  
-			tagcache.put(newtag.getTagId(), newtag);
-			list.add(newtag);
-			
-			//noinstantiate tag
-			newtag = new ApiJavadocTag("org.eclipse.pde.api.tools.noinstantiate",  //$NON-NLS-1$
-					"noinstantiate", //$NON-NLS-1$
-					RestrictionModifiers.NO_INSTANTIATE,
-					new int[] {IApiJavadocTag.TYPE_CLASS}, 
-					new String[] {MessageFormat.format(CoreMessages.JavadocTagManager_not_intended_to_be, new String[] {CoreMessages.JavadocTagManager_class, CoreMessages.JavadocTagManager_instantiated})});
-			tagcache.put(newtag.getTagId(), newtag);
-			list.add(newtag);
-			
-			//noreference tag
-			newtag = new ApiJavadocTag("org.eclipse.pde.api.tools.noreference",  //$NON-NLS-1$
-					"noreference", //$NON-NLS-1$
-					RestrictionModifiers.NO_REFERENCE,
-					new int[] {IApiJavadocTag.TYPE_CLASS | IApiJavadocTag.TYPE_INTERFACE | IApiJavadocTag.MEMBER_METHOD,
-								IApiJavadocTag.TYPE_CLASS | IApiJavadocTag.TYPE_INTERFACE | IApiJavadocTag.MEMBER_FIELD}, 
-					new String[] {MessageFormat.format(CoreMessages.JavadocTagManager_not_intended_to_be, new String[] {CoreMessages.JavadocTagManager_method, CoreMessages.JavadocTagManager_referenced}),
-								MessageFormat.format(CoreMessages.JavadocTagManager_not_intended_to_be, new String[] {CoreMessages.JavadocTagManager_field, CoreMessages.JavadocTagManager_referenced})});
-			tagcache.put(newtag.getTagId(), newtag);
-			list.add(newtag);
-			tags = (IApiJavadocTag[]) list.toArray(new IApiJavadocTag[list.size()]);
-		}
-	}
-	
-	/**
-	 * Returns all of the java doc tags for a given kind of type and member. See
-	 * {@link IApiJavadocTag} for a complete listing of tag Java type and member types.
-	 * 
-	 * @param type one of <code>CLASS</code> or <code>INTERFACE</code>
-	 * @param member one of <code>METHOD</code> or <code>FIELD</code> or <code>NONE</code> 
-	 * @return an array of {@link IApiJavadocTag}s that apply to the specified 
-	 * Java type or an empty array, never <code>null</code>
-	 */
-	public synchronized IApiJavadocTag[] getTagsForType(int type, int member) {
-		initializeJavadocTags();
-		List list = new ArrayList();
-		for (int i = 0; i < tags.length; i++) {
-			if (tags[i].isApplicable(type, member)) {
-				list.add(tags[i]);
-			}
-		}
-		return (IApiJavadocTag[]) list.toArray(new IApiJavadocTag[list.size()]);
-	}
-	
-	/**
-	 * Returns the {@link IApiJavadocTag} that has the given id or <code>null</code> if there is 
-	 * no tag with the given id
-	 * @param id the id of the tag to fetch
-	 * @return the {@link IApiJavadocTag} with the given id or <code>null</code>
-	 */
-	public synchronized IApiJavadocTag getTag(String id) {
-		initializeJavadocTags();
-		return (IApiJavadocTag) tagcache.get(id);
-	}
-	
-	/**
-	 * Returns the restriction modifier set on the javadoc tag with the given name.
-	 * If the manager has no entry for the specified tag name <code>-1</code> is returned.
-	 * 
-	 * @param tagname the name of the tag
-	 * @param type one of <code>CLASS</code> or <code>INTERFACE</code>
-	 * @param member one of <code>METHOD</code> or <code>FIELD</code> or <code>NONE</code> 
-	 * @return the restriction modifier for the given tag name or {@link RestrictionModifiers#NO_RESTRICTIONS} if not found
-	 */
-	public synchronized int getRestrictionsForTag(String tagname, int type, int member) {
-		if(tagname == null) {
-			return RestrictionModifiers.NO_RESTRICTIONS;
-		}
-		initializeJavadocTags();
-		for (int i = 0; i < tags.length; i++) {
-			IApiJavadocTag tag = tags[i];
-			if (tag.getTagLabel().equals(tagname) && tag.isApplicable(type, member)) {
-				return tag.getRestrictionModifier();
-			}
-		}
-		return RestrictionModifiers.NO_RESTRICTIONS;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/PluginProjectApiComponent.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/PluginProjectApiComponent.java
deleted file mode 100644
index a713fd4..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/PluginProjectApiComponent.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
-import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer;
-import org.eclipse.pde.api.tools.internal.provisional.scanner.TagScanner;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.eclipse.pde.core.build.IBuild;
-import org.eclipse.pde.core.build.IBuildEntry;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.internal.core.build.WorkspaceBuildModel;
-
-/**
- * An API component for a plug-in project in the workspace.
- * <p>
- * Note: this class requires a running workspace to be instantiated.
- * </p>
- * @since 1.0.0
- */
-public class PluginProjectApiComponent extends BundleApiComponent {
-	
-	/**
-	 * Constant used for controlling tracing in the plug-in workspace component
-	 */
-	private static boolean DEBUG = Util.DEBUG;
-	
-	/**
-	 * Method used for initializing tracing in the plug-in workspace component
-	 */
-	public static void setDebug(boolean debugValue) {
-		DEBUG = debugValue || Util.DEBUG;
-	}
-		
-	/**
-	 * Associated Java project
-	 */
-	private IJavaProject fProject = null;
-
-	/**
-	 * Associated IPluginModelBase object
-	 */
-	private IPluginModelBase fModel = null;
-	
-	/**
-	 * A cache of bundle class path entries to class file containers.
-	 */
-	private Map fPathToOutputContainers = null;
-
-	/**
-	 * Constructs an API component for the given Java project in the specified profile.
-	 * 
-	 * @param profile the owning profile
-	 * @param location the given location of the component
-	 * @param model the given model
-	 * @param project java project
-	 * @throws CoreException if unable to create the API component
-	 */
-	public PluginProjectApiComponent(IApiProfile profile, String location, IPluginModelBase model) throws CoreException {
-		super(profile,location);
-		IPath path = new Path(location);
-		IProject project = ApiProfile.ROOT.getProject(path.lastSegment());
-		this.fProject = JavaCore.create(project);
-		this.fModel = model;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.descriptors.AbstractApiComponent#dispose()
-	 */
-	public void dispose() {
-		try {
-			if (hasApiDescription()) {
-				try {
-					IApiDescription description = getApiDescription();
-					if (description instanceof ProjectApiDescription) {
-						((ProjectApiDescription) description).disconnect(getBundleDescription());
-					} else if (description instanceof CompositeApiDescription) {
-						((CompositeApiDescription) description).disconnect(getBundleDescription());
-					}
-				} catch (CoreException e) {
-					ApiPlugin.log(e.getStatus());
-				}
-			}
-			if(hasApiFilterStore()) {
-				getFilterStore().dispose();
-			}
-		} 
-		catch(CoreException ce) {
-			ApiPlugin.log(ce);
-		}
-		finally {
-			super.dispose();
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.BundleApiComponent#createLocalApiDescription()
-	 */
-	protected IApiDescription createLocalApiDescription() throws CoreException {
-		long time = System.currentTimeMillis();
-		IApiDescription apiDesc = ApiDescriptionManager.getDefault().getApiDescription(getJavaProject(), getBundleDescription());
-		if (DEBUG) {
-			System.out.println("Time to create api description for: ["+fProject.getElementName()+"] " + (System.currentTimeMillis() - time) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		return apiDesc;
-	}
-	
-	/**
-	 * Processes all source tags in this project, annotating the given API description.
-	 * 
-	 * @param apiDescription API description
-	 * @throws CoreException if something goes wrong
-	 */
-	protected void loadSourceTags(IApiDescription apiDescription) throws CoreException {
-		List sourceRoots = new ArrayList();
-		if (fProject.exists() && fProject.getProject().isOpen()) {
-			IClasspathEntry entries[] = fProject.getRawClasspath();
-			for (int i = 0; i < entries.length; i++) {
-				IClasspathEntry classpathEntry = entries[i];
-				if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-					IPackageFragmentRoot[] roots = fProject.findPackageFragmentRoots(classpathEntry);
-					for (int j = 0; j < roots.length; j++) {
-						sourceRoots.add(roots[j]);
-					}
-				}
-			}
-		}
-		TagScanner scanner = TagScanner.newScanner();
-		Iterator iterator = sourceRoots.iterator();
-		while (iterator.hasNext()) {
-			IPackageFragmentRoot root = (IPackageFragmentRoot) iterator.next();
-			IJavaElement[] pkgs = root.getChildren();
-			for (int i = 0; i < pkgs.length; i++) {
-				if (pkgs[i] instanceof IPackageFragment) {
-					IPackageFragment pkg = (IPackageFragment) pkgs[i];
-					ICompilationUnit[] units = pkg.getCompilationUnits();
-					for (int j = 0; j < units.length; j++) {
-						ICompilationUnit unit = units[j];
-						CompilationUnit cu = new CompilationUnit(unit.getResource().getLocation().toOSString());
-						try {
-							scanner.scan(cu, apiDescription, this);
-						} catch (CoreException e) {
-							abort("Unable to initialize from Javadoc tags", e); //$NON-NLS-1$
-						}
-					}
-				}
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.BundleApiComponent#createApiFilterStore()
-	 */
-	protected IApiFilterStore createApiFilterStore() throws CoreException {
-		long time = System.currentTimeMillis();
-		IApiFilterStore store = new ApiFilterStore(getJavaProject());
-		if (DEBUG) {
-			System.out.println("Time to create api filter store for: ["+fProject.getElementName()+"] " + (System.currentTimeMillis() - time) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		return store;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.descriptors.BundleApiComponent#createClassFileContainers()
-	 */
-	protected List createClassFileContainers() throws CoreException {
-		// first populate build.properties cache so we can create class file containers
-		// from bundle classpath entries
-		fPathToOutputContainers = new HashMap();
-		if (fProject.exists() && fProject.getProject().isOpen()) {
-			IFile prop = fProject.getProject().getFile("build.properties"); //$NON-NLS-1$
-			if (prop.exists()) {
-				WorkspaceBuildModel properties = new WorkspaceBuildModel(prop);
-				IBuild build = properties.getBuild();
-				IBuildEntry entry = build.getEntry("custom"); //$NON-NLS-1$
-				if (entry != null) {
-					String[] tokens = entry.getTokens();
-					if (tokens.length == 1 && tokens[0].equals("true")) { //$NON-NLS-1$
-						// hack : add the current output location for each classpath entries
-						IClasspathEntry[] classpathEntries = fProject.getRawClasspath();
-						List containers = new ArrayList();
-						for (int i = 0; i < classpathEntries.length; i++) {
-							IClasspathEntry classpathEntry = classpathEntries[i];
-							switch(classpathEntry.getEntryKind()) {
-								case IClasspathEntry.CPE_SOURCE :
-									String containerPath = classpathEntry.getPath().removeFirstSegments(1).toString();
-									IClassFileContainer container = getSourceFolderContainer(containerPath, this.getId());
-									if (container != null) {
-										containers.add(container);
-									}
-									break;
-								case IClasspathEntry.CPE_VARIABLE :
-									classpathEntry = JavaCore.getResolvedClasspathEntry(classpathEntry);
-								case IClasspathEntry.CPE_LIBRARY :
-									IPath path = classpathEntry.getPath();
-									if (Util.isArchive(path.lastSegment())) {
-										IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(path);
-										if (resource != null) {
-											// jar inside the workspace
-											containers.add(new ArchiveClassFileContainer(resource.getLocation().toOSString(), this.getId()));
-										} else {
-											// external jar
-											containers.add(new ArchiveClassFileContainer(path.toOSString(), this.getId()));
-										}
-									}
-									break;
-							}
-						}
-						if (containers.size() != 0) {
-							fPathToOutputContainers.put(".", new CompositeClassFileContainer(containers, this.getId())); //$NON-NLS-1$
-						}
-					}
-				} else {
-					IBuildEntry[] entries = build.getBuildEntries();
-					int length = entries.length;
-					for (int i = 0; i < length; i++) {
-						IBuildEntry buildEntry = entries[i];
-						if (buildEntry.getName().startsWith(IBuildEntry.JAR_PREFIX)) {
-							String jar = buildEntry.getName().substring(IBuildEntry.JAR_PREFIX.length());
-							String[] tokens = buildEntry.getTokens();
-							if (tokens.length == 1) {
-								IClassFileContainer container = getSourceFolderContainer(tokens[0], this.getId());
-								if (container != null) {
-									fPathToOutputContainers.put(jar, container);
-								}
-							} else {
-								List containers = new ArrayList();
-								for (int j = 0; j < tokens.length; j++) {
-									String currentToken = tokens[j];
-									IClassFileContainer container = getSourceFolderContainer(currentToken, this.getId());
-									if (container != null) {
-										containers.add(container);
-									}
-								}
-								if (!containers.isEmpty()) {
-									fPathToOutputContainers.put(jar, new CompositeClassFileContainer(containers, this.getId()));
-								}
-							}
-						}
-					}
-				}
-			}
-			return super.createClassFileContainers();
-		}
-		return Collections.EMPTY_LIST;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.BundleApiComponent#createClassFileContainer(java.lang.String)
-	 */
-	protected IClassFileContainer createClassFileContainer(String path) throws IOException {
-		IClassFileContainer container = (IClassFileContainer) fPathToOutputContainers.get(path);
-		if (container == null) {
-			// could be a binary jar included in the plug-in, just look for it
-			container = findClassFileContainer(path);
-		}
-		return container;
-	}
-	
-	/** 
-	 * Finds and returns an existing class file container at the specified location
-	 * in this project, or <code>null</code> if none.
-	 * 
-	 * @param location project relative path to the class file container
-	 * @return class file container or null
-	 */
-	private IClassFileContainer findClassFileContainer(String location) {
-		IResource res = fProject.getProject().findMember(new Path(location));
-		if (res != null) {
-			if (res.getType() == IResource.FILE) {
-				return new ArchiveClassFileContainer(res.getLocation().toOSString(), this.getId());
-			} else {
-				return new DirectoryClassFileContainer(res.getLocation().toOSString(), this.getId());
-			}
-		}
-		return null;
-	}
-	
-	/** 
-	 * Finds and returns a class file container for the specified
-	 * source folder, or <code>null</code> if it does not exist.
-	 * 
-	 * @param location project relative path to the source folder
-	 * @return class file container or <code>null</code>
-	 */
-	private IClassFileContainer getSourceFolderContainer(String location, String id) {
-		IResource res = fProject.getProject().findMember(new Path(location));
-		if (res != null) {
-			IPackageFragmentRoot root = fProject.getPackageFragmentRoot(res);
-			if (root.exists()) {
-				return new SourceFolderClassFileContainer(root, id);
-			}
-		}
-		return null;
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IApiComponent#export(java.util.Map, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void export(Map options, IProgressMonitor monitor) throws CoreException {
-		abort("Plug-in project does not yet implement export.", null); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.BundleApiComponent#getName()
-	 */
-	public String getName() throws CoreException {
-		return fModel.getResourceString(super.getName());
-	}
-	
-	/**
-	 * Returns the Java project associated with this component.
-	 * 
-	 * @return associated Java project
-	 */
-	public IJavaProject getJavaProject() {
-		return fProject;
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ProjectApiDescription.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ProjectApiDescription.java
deleted file mode 100644
index f555ad3..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ProjectApiDescription.java
+++ /dev/null
@@ -1,605 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.Map.Entry;
-import java.util.jar.JarFile;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IClassFile;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.pde.api.tools.internal.provisional.ApiDescriptionVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.scanner.TagScanner;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * Implementation of an API description for a Java project.
- * 
- * @since 1.0
- */
-public class ProjectApiDescription extends ApiDescription {
-		
-	/**
-	 * Associated API component.
-	 */
-	private IJavaProject fProject;
-	
-	/**
-	 * Only valid when connected to a bundle. Used to initialize
-	 * package exports.
-	 */
-	private BundleDescription fBundle;
-	
-	/**
-	 * Time stamp at which package information was created
-	 */
-	long fPackageTimeStamp;
-	
-	/** 
-	 * Whether a package refresh is in progress
-	 */
-	private boolean fRefreshingInProgress = false;
-	
-	/**
-	 * Associated manifest file
-	 */
-	IFile fManifestFile;
-	
-	/**
-	 * Class file container cache used for tag scanning.
-	 * Maps package fragment roots to containers.
-	 * 
-	 * TODO: these could become out of date with class path changes.
-	 */
-	private Map fClassFileContainers;
-	
-	/**
-	 * Whether this API description is in synch with its project. Becomes
-	 * false if anything in a project changes. When true, visiting can
-	 * be performed by traversing the cached nodes, rather than traversing
-	 * the java model elements (effectively building the cache).
-	 */
-	private boolean fInSynch = false;
-			
-	/**
-	 * A node for a package.
-	 */
-	class PackageNode extends ManifestNode {
-
-		private IPackageFragment fFragment;
-		/**
-		 * Constructs a new node.
-		 * 
-		 * @param parent
-		 * @param element
-		 * @param visibility
-		 * @param restrictions
-		 */
-		public PackageNode(IPackageFragment pkg, ManifestNode parent, IElementDescriptor element, int visibility, int restrictions) {
-			super(parent, element, visibility, restrictions);
-			fFragment = pkg;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.pde.api.tools.internal.ApiDescription.ManifestNode#refresh()
-		 */
-		protected ManifestNode refresh() {
-			refreshPackages();
-			if (fFragment.exists()) {
-				return this;
-			} else {
-				modified();
-				return null;
-			}
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.pde.api.tools.internal.ApiDescription.ManifestNode#persistXML(org.w3c.dom.Document, org.w3c.dom.Element, java.lang.String)
-		 */
-		void persistXML(Document document, Element parent, String component) {
-			Element pkg = document.createElement(IApiXmlConstants.ELEMENT_PACKAGE);
-			pkg.setAttribute(IApiXmlConstants.ATTR_HANDLE, fFragment.getHandleIdentifier());
-			persistAnnotations(pkg, component);
-			persistChildren(document, pkg, children);
-			parent.appendChild(pkg);
-		}		
-	}
-	
-	/**
-	 * Node for a reference type.
-	 */
-	class TypeNode extends ManifestNode {
-		
-		long fTimeStamp = -1L;
-		
-		private boolean fRefreshing = false;
-		
-		private IType fType;
-
-		/**
-		 * Constructs a node for a reference type.
-		 * 
-		 * @param type
-		 * @param parent
-		 * @param element
-		 * @param visibility
-		 * @param restrictions
-		 */
-		public TypeNode(IType type, ManifestNode parent, IElementDescriptor element, int visibility, int restrictions) {
-			super(parent, element, visibility, restrictions);
-			fType = type;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.pde.api.tools.internal.ApiDescription.ManifestNode#refresh()
-		 */
-		protected synchronized ManifestNode refresh() {
-			if (fRefreshing) {
-				return this;
-			}
-			try {
-				fRefreshing = true;
-				ICompilationUnit unit = fType.getCompilationUnit();
-				if (unit != null) {
-					IResource resource = null;
-					try {
-						resource = unit.getUnderlyingResource();
-					} catch (JavaModelException e) {
-						// exception if the resource does not exist
-						if (!e.getJavaModelStatus().isDoesNotExist()) {
-							ApiPlugin.log(e.getStatus());
-							return this;
-						}
-					}
-					if (resource != null && resource.exists()) {
-						long stamp = resource.getModificationStamp();
-						if (stamp != fTimeStamp) {
-							modified();
-							children.clear();
-							restrictions = RestrictionModifiers.NO_RESTRICTIONS;
-							try {
-								TagScanner.newScanner().scan(new CompilationUnit(unit), ProjectApiDescription.this,
-									getClassFileContainer((IPackageFragmentRoot) fType.getPackageFragment().getParent()));
-								fTimeStamp = resource.getModificationStamp();
-							} catch (CoreException e) {
-								ApiPlugin.log(e.getStatus());
-							}
-						}
-					} else {
-						// element has been removed
-						modified();
-						parent.children.remove(getElement());
-						return null;
-					}
-				} else {
-					// TODO: binary type
-				}
-			} finally {
-				fRefreshing = false;
-			}
-			return this;
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.pde.api.tools.internal.ApiDescription.ManifestNode#persistXML(org.w3c.dom.Document, org.w3c.dom.Element, java.lang.String)
-		 */
-		void persistXML(Document document, Element parent, String component) {
-			Element type = document.createElement(IApiXmlConstants.ELEMENT_TYPE);
-			type.setAttribute(IApiXmlConstants.ATTR_HANDLE, fType.getHandleIdentifier());
-			persistAnnotations(type, component);
-			type.setAttribute(IApiXmlConstants.ATTR_MODIFICATION_STAMP, Long.toString(fTimeStamp));
-			persistChildren(document, type, children);
-			parent.appendChild(type);
-		}		
-	}
-	
-	/**
-	 * Constructs a new API description for the given Java project.
-	 * 
-	 * @param component
-	 */
-	public ProjectApiDescription(IJavaProject project) {
-		super(project.getElementName());
-		fProject = project;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiDescription#accept(org.eclipse.pde.api.tools.internal.provisional.ApiDescriptionVisitor)
-	 */
-	public synchronized void accept(ApiDescriptionVisitor visitor) {
-		boolean completeVisit = true;
-		if (fInSynch) {
-			super.accept(visitor);
-		} else {
-			try {
-				IPackageFragment[] fragments = getLocalPackageFragments();
-				IJavaElement[] children = null;
-				IJavaElement child = null;
-				ICompilationUnit unit = null;
-				for (int j = 0; j < fragments.length; j++) {
-					if (DEBUG) {
-						System.out.println("\t" + fragments[j].getElementName().toString()); //$NON-NLS-1$
-					}
-					IPackageDescriptor packageDescriptor = Factory.packageDescriptor(fragments[j].getElementName());
-					// visit package
-					ManifestNode pkgNode = findNode(null, packageDescriptor, isInsertOnResolve(null, packageDescriptor));
-					if (pkgNode != null) {
-						IApiAnnotations annotations = resolveAnnotations(pkgNode, packageDescriptor);
-						if (visitor.visitElement(packageDescriptor, null, annotations)) {
-							children = fragments[j].getChildren();
-							for (int k = 0; k < children.length; k++) {
-								child = children[k];
-								if (child instanceof ICompilationUnit) {
-									unit = (ICompilationUnit) child;
-									String cuName = unit.getElementName(); 
-									String tName = cuName.substring(0, cuName.length() - ".java".length()); //$NON-NLS-1$
-									visit(visitor, unit.getType(tName));
-								} else if (child instanceof IClassFile) {
-									visit(visitor, ((IClassFile)child).getType());
-								}
-							}
-						} else {
-							completeVisit = false;
-						}
-						visitor.endVisitElement(packageDescriptor, null, annotations);
-						// visit component overrides
-						visitOverrides(visitor, pkgNode);
-					}
-				}
-			} catch (JavaModelException e) {
-				completeVisit = false;
-				ApiPlugin.log(e.getStatus());
-			} finally {
-				if (completeVisit) {
-					fInSynch = true;
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Visits a type.
-	 * 
-	 * @param visitor
-	 * @param owningComponent
-	 * @param type
-	 */
-	private void visit(ApiDescriptionVisitor visitor, IType type) {
-		IElementDescriptor element = getElementDescriptor(type);
-		ManifestNode typeNode = findNode(null, element, isInsertOnResolve(null, element));
-		if (typeNode != null) {
-			IApiAnnotations annotations = resolveAnnotations(typeNode, element);
-			if (visitor.visitElement(element, null, annotations)) {
-				// children
-				if (typeNode.children != null) {
-					visitChildren(visitor, typeNode.children);
-				}
-			}
-			visitor.endVisitElement(element, null, annotations);
-			// component specific overrides
-			visitOverrides(visitor, typeNode);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.ApiDescription#isInsertOnResolve(java.lang.String, org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor)
-	 */
-	protected boolean isInsertOnResolve(String component, IElementDescriptor elementDescriptor) {
-		// only insert for <null> component context, otherwise rules are explicit and should
-		// not be inserted
-		return component == null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.ApiDescription#createNode(org.eclipse.pde.api.tools.internal.ApiDescription.ManifestNode, org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor)
-	 */
-	protected ManifestNode createNode(ManifestNode parentNode, IElementDescriptor element) {
-		switch (element.getElementType()) {
-			case IElementDescriptor.T_PACKAGE:
-				try {
-					IPackageDescriptor pkg = (IPackageDescriptor) element;
-					IPackageFragmentRoot[] roots = getJavaProject().getPackageFragmentRoots();
-					for (int i = 0; i < roots.length; i++) {
-						IPackageFragmentRoot root = roots[i];
-						IClasspathEntry entry = root.getRawClasspathEntry();
-						switch (entry.getEntryKind()) {
-						case IClasspathEntry.CPE_SOURCE:
-						case IClasspathEntry.CPE_LIBRARY:
-							IPackageFragment fragment = root.getPackageFragment(pkg.getName());
-							if (fragment.exists()) {
-								return newPackageNode(fragment, parentNode, element, VisibilityModifiers.PRIVATE, RestrictionModifiers.NO_RESTRICTIONS);
-							}
-						}
-					}
-					return null;
-				} catch (CoreException e) {
-					return null;
-				}
-			case IElementDescriptor.T_REFERENCE_TYPE:
-				IReferenceTypeDescriptor descriptor = (IReferenceTypeDescriptor) element;
-				try {
-					IType type = getJavaProject().findType(descriptor.getQualifiedName().replace('$', '.'));
-					if (type != null && type.getJavaProject().equals(getJavaProject())) {
-						return newTypeNode(type, parentNode, element, VISIBILITY_INHERITED, RestrictionModifiers.NO_RESTRICTIONS);
-					}
-				} catch (CoreException e ) {
-					return null;
-				}
-				return null;
-		}
-		return super.createNode(parentNode, element);
-	}
-
-	/** 
-	 * Constructs and returns a new node for the given package fragment.
-	 * 
-	 * @param fragment
-	 * @param parent
-	 * @param descriptor
-	 * @param vis
-	 * @param res
-	 * @return
-	 */
-	PackageNode newPackageNode(IPackageFragment fragment, ManifestNode parent, IElementDescriptor descriptor, int vis, int res) {
-		return new PackageNode(fragment, parent, descriptor, vis, res);
-	}
-
-	/**
-	 * Constructs and returns a new node for the given type.
-	 * 
-	 * @param type
-	 * @param parent
-	 * @param descriptor
-	 * @param vis
-	 * @param res
-	 * @return
-	 */
-	TypeNode newTypeNode(IType type, ManifestNode parent, IElementDescriptor descriptor, int vis, int res) {
-		return new TypeNode(type, parent, descriptor, vis, res);
-	}
-	
-	/**
-	 * Constructs a new manifiest node.
-	 * 
-	 * @param parent
-	 * @param element
-	 * @param vis
-	 * @param res
-	 * @return
-	 */
-	ManifestNode newNode(ManifestNode parent, IElementDescriptor element, int vis, int res) {
-		return new ManifestNode(parent, element, vis, res);
-	}
-
-	/**
-	 * Refreshes package nodes if required.
-	 */
-	private synchronized void refreshPackages() {
-		if (fRefreshingInProgress) {
-			return;
-		}
-		// check if in synch
-		if (fManifestFile == null || (fManifestFile.getModificationStamp() != fPackageTimeStamp)) {
-			try {
-				modified();
-				fRefreshingInProgress = true;
-				// set all existing packages to PRIVATE (could clear
-				// the map, but it would be less efficient)
-				Iterator iterator = fPackageMap.values().iterator();
-				while (iterator.hasNext()) {
-					PackageNode node = (PackageNode) iterator.next();
-					node.visibility = VisibilityModifiers.PRIVATE;
-				}
-				fManifestFile = getJavaProject().getProject().getFile(JarFile.MANIFEST_NAME);
-				if (fManifestFile.exists()) {
-					try {
-						IPackageFragment[] fragments = getLocalPackageFragments();
-						Set names = new HashSet();
-						for (int i = 0; i < fragments.length; i++) {
-							names.add(fragments[i].getElementName());
-						}
-						BundleApiComponent.initializeApiDescription(this, fBundle, names);
-						fPackageTimeStamp = fManifestFile.getModificationStamp();
-					} catch (CoreException e) {
-						ApiPlugin.log(e.getStatus());
-					}
-				}
-			} finally {
-				fRefreshingInProgress = false;
-			}
-		}
-	}
-
-	private IElementDescriptor getElementDescriptor(IJavaElement element) {
-		switch (element.getElementType()) {
-			case IJavaElement.PACKAGE_FRAGMENT:
-				return Factory.packageDescriptor(element.getElementName());
-			case IJavaElement.TYPE:
-				return Factory.typeDescriptor(((IType)element).getFullyQualifiedName('$'));
-			default:
-				return null;
-		}
-	}
-	
-	/**
-	 * Returns the Java project associated with this component.
-	 * 
-	 * @return associated Java project
-	 */
-	private IJavaProject getJavaProject() {
-		return fProject;
-	}
-
-	/**
-	 * Returns a class file container for the given package fragment root.
-	 * 
-	 * @param root package fragment root
-	 * @return class file container
-	 */
-	private synchronized IClassFileContainer getClassFileContainer(IPackageFragmentRoot root) {
-		if (fClassFileContainers == null) {
-			fClassFileContainers = new HashMap();
-		}
-		IClassFileContainer container = (IClassFileContainer) fClassFileContainers.get(root);
-		if (container == null) {
-			container = new SourceFolderClassFileContainer(root, getJavaProject().getElementName());
-			fClassFileContainers.put(root, container);
-		}
-		return container;
-	}
-	
-	/**
-	 * Returns all package fragments that originate from this project.
-	 * 
-	 * @return all package fragments that originate from this project
-	 */
-	private IPackageFragment[] getLocalPackageFragments() {
-		List local = new ArrayList();
-		try {
-			IPackageFragmentRoot[] roots = getJavaProject().getPackageFragmentRoots();
-			for (int i = 0; i < roots.length; i++) {
-				IPackageFragmentRoot root = roots[i];
-				// only care about roots originating from this project (binary or source)
-				IResource resource = root.getCorrespondingResource();
-				if (resource != null && resource.getProject().equals(getJavaProject().getProject())) {
-					IJavaElement[] children = root.getChildren();
-					for (int j = 0; j < children.length; j++) {
-						local.add(children[j]);
-					}
-				}
-			}
-		} catch (JavaModelException e) {
-			// ignore
-		}
-		return (IPackageFragment[]) local.toArray(new IPackageFragment[local.size()]);
-	}
-	
-	/**
-	 * Connects this API description to the given bundle.
-	 * 
-	 * @param bundle bundle description
-	 */
-	synchronized void connect(BundleDescription bundle) {
-		if (fBundle != null && fBundle != bundle) {
-			throw new IllegalStateException("Already connected to a bundle"); //$NON-NLS-1$
-		}
-		fBundle = bundle;
-	}
-	
-	/**
-	 * Returns the bundle this description is connected to or <code>null</code>
-	 * 
-	 * @return connected bundle or <code>null</code>
-	 */
-	BundleDescription getConnection() {
-		return fBundle;
-	}
-	
-	/**
-	 * Disconnects this API description from the given bundle.
-	 * 
-	 * @param bundle bundle description
-	 */
-	synchronized void disconnect(BundleDescription bundle) {
-		if (bundle.equals(fBundle)) {
-			fBundle = null;
-		} else if (fBundle != null) {
-			throw new IllegalStateException("Not connected to same bundle"); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Returns this API description as XML.
-	 * 
-	 * @throws CoreException
-	 */
-	synchronized String getXML() throws CoreException {
-		Document document = Util.newDocument();	
-		Element component = document.createElement(IApiXmlConstants.ELEMENT_COMPONENT);
-		component.setAttribute(IApiXmlConstants.ATTR_ID, getJavaProject().getElementName());
-		component.setAttribute(IApiXmlConstants.ATTR_MODIFICATION_STAMP, Long.toString(fPackageTimeStamp));
-		component.setAttribute(IApiXmlConstants.ATTR_VERSION, IApiXmlConstants.API_DESCRIPTION_CURRENT_VERSION);
-		document.appendChild(component);
-		persistChildren(document, component, fPackageMap);
-		return Util.serializeDocument(document);
-	}
-
-	/**
-	 * Persists the elements in the given map as XML elements, appended
-	 * to the given xmlElement.
-	 *  
-	 * @param document XML document
-	 * @param xmlElement node to append children no
-	 * @param elementMap elements to persist
-	 */
-	void persistChildren(Document document, Element xmlElement, Map elementMap) {
-		Iterator iterator = elementMap.values().iterator();
-		while (iterator.hasNext()) {
-			ManifestNode node = (ManifestNode) iterator.next();
-			node.persistXML(document, xmlElement, null);
-			if (node.overrides != null && !node.overrides.isEmpty()) {
-				Iterator entries = node.overrides.entrySet().iterator();
-				while (entries.hasNext()) {
-					Entry entry = (Entry) entries.next();
-					String component = (String) entry.getKey();
-					ManifestNode override = (ManifestNode) entry.getValue();
-					override.persistXML(document, xmlElement, component);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Cleans this API description so it will be re-populated with fresh data.
-	 */
-	synchronized void clean() {
-		fPackageMap.clear();
-		fPackageTimeStamp = -1L;
-		fInSynch = false;
-		modified();
-	}
-	
-	/**
-	 * Notes that the underlying project has changed in some way and that the
-	 * description cache is no longer in synch with the project.
-	 */
-	synchronized void projectChanged() {
-		fInSynch = false;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/RequiredComponentDescription.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/RequiredComponentDescription.java
deleted file mode 100644
index fb9a0c0..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/RequiredComponentDescription.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import org.eclipse.pde.api.tools.internal.provisional.IRequiredComponentDescription;
-import org.eclipse.pde.api.tools.internal.provisional.IVersionRange;
-
-/**
- * Implementation of a required component description based on
- * OSGi bundles.
- * 
- * @since 1.0.0
- */
-public class RequiredComponentDescription implements IRequiredComponentDescription {
-	
-	private String fId;
-	private boolean fIsOptional;
-	private IVersionRange fRange;
-	
-	
-	/**
-	 * Constructs a new required component description based on the given
-	 * required component id and version range. The required component description is
-	 * mandatory. 
-	 * 
-	 * @param id component's symbolic name
-	 * @param range version range
-	 */
-	public RequiredComponentDescription(String id, IVersionRange range) {
-		this(id, range, false);
-	}
-	
-	/**
-	 * Constructs a new required component description based on the given
-	 * required component id and version range. 
-	 * 
-	 * @param id component's symbolic name
-	 * @param range version range
-	 * @param isOptional the optinal flag of the required component
-	 */
-	public RequiredComponentDescription(String id, IVersionRange range, boolean isOptional) {
-		fId = id;
-		fRange = range;
-		fIsOptional = isOptional;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof RequiredComponentDescription) {
-			RequiredComponentDescription desc = (RequiredComponentDescription) obj;
-			return fId.equals(desc.fId) && fRange.equals(desc.fRange);
-		}
-		return super.equals(obj);
-	}
-
-	/* (non-Javadoc)
-	 * @see IRequiredComponentDescription#getId()
-	 */
-	public String getId() {
-		return fId;
-	}
-
-	/** (non-Javadoc)
-	 * @see IRequiredComponentDescription#getVersionRange()
-	 */
-	public IVersionRange getVersionRange() {
-		return fRange;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return fId.hashCode() + fRange.hashCode();
-	}
-
-	/* (non-Javadoc)
-	 * @see IRequiredComponentDescription#isOptional()
-	 */
-	public boolean isOptional() {
-		return this.fIsOptional;
-	}
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buf = new StringBuffer();
-		buf.append(fId);
-		buf.append(' ');
-		buf.append(fRange.toString());
-		return buf.toString();
-	}
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ResourceClassFile.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ResourceClassFile.java
deleted file mode 100644
index c417f78..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/ResourceClassFile.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A class file corresponding to a resource in the workspace.
- * 
- * @since 1.0
- */
-public class ResourceClassFile extends AbstractClassFile {
-	
-	/**
-	 * Corresponding file
-	 */
-	private IFile fFile;
-	
-	/**
-	 * Fully qualified type name
-	 */
-	private String fTypeName;
-
-	/**
-	 * Constructs a class file on the underlying file.
-	 * 
-	 * @param file underlying resource
-	 */
-	public ResourceClassFile(IFile file, String typeName) {
-		fFile = file;
-		fTypeName = typeName;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IClassFile#getInputStream()
-	 */
-	public InputStream getInputStream() throws CoreException {
-		return fFile.getContents();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IClassFile#getTypeName()
-	 */
-	public String getTypeName() {
-		return fTypeName;
-	}
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/SourceFolderClassFileContainer.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/SourceFolderClassFileContainer.java
deleted file mode 100644
index 584b4a8..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/SourceFolderClassFileContainer.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * A class file container corresponding to a source folder
- * (package fragment root) in a project.
- * 
- * @since 1.0
- */
-public class SourceFolderClassFileContainer implements IClassFileContainer {
-	
-	/**
-	 * Associated package fragment root
-	 */
-	private IPackageFragmentRoot fRoot;
-	
-	/**
-	 * Output location, or <code>null</code> if does not exist
-	 */
-	private IContainer fOutputLocation;
-	
-	private String fOrigin;
-
-	/**
-	 * Constructs a new class file container on the given package
-	 * fragment root.
-	 * 
-	 * @param root package fragment root
-	 * @param origin id of the component that creates this class file container
-	 */
-	public SourceFolderClassFileContainer(IPackageFragmentRoot root, String origin) {
-		fRoot = root;
-		fOrigin = origin;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer#accept(org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor)
-	 */
-	public void accept(ClassFileContainerVisitor visitor) throws CoreException {
-		IContainer outputLocation = getOutputLocation();
-		if (outputLocation != null) {
-			IJavaElement[] children = fRoot.getChildren();
-			for (int i = 0; i < children.length; i++) {
-				IPackageFragment fragment = (IPackageFragment) children[i];
-				String pkg = fragment.getElementName();
-				IResource folder = null;
-				if (pkg.length() > 0) {
-					folder = outputLocation.findMember(fragment.getElementName().replace('.', IPath.SEPARATOR));
-				} else {
-					folder = outputLocation;
-				}
-				if (folder instanceof IContainer) {
-					IContainer container = (IContainer) folder;
-					IResource[] members = container.members();
-					if (members.length > 0) {
-						if (visitor.visitPackage(pkg)) {
-							for (int j = 0; j < members.length; j++) {
-								IResource res = members[j];
-								if (res.getType() == IResource.FILE) {
-									IFile file = (IFile) res;
-									if (Util.isClassFile(file.getName())) {
-										StringBuffer typeName = new StringBuffer();
-										if(pkg.length() != 0) {
-											typeName.append(pkg);
-											typeName.append('.');
-										}
-										String fileName = file.getName();
-										String className = fileName.substring(0, fileName.length() - Util.DOT_CLASS_SUFFIX.length());
-										typeName.append(className);
-										IClassFile cf = new ResourceClassFile(file, typeName.toString());
-										visitor.visit(pkg, cf);
-										visitor.end(pkg, cf);
-									}
-								}
-							}
-						}
-						visitor.endVisitPackage(pkg);
-					}
-				}
-			}			
-		}		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer#close()
-	 */
-	public synchronized void close() throws CoreException {
-		fOutputLocation = null;
-	}
-	
-	/**
-	 * Returns the output location for this source folder as a
-	 * container, or <code>null</code> if none.
-	 * 
-	 * @return output location or <code>null</code>
-	 */
-	private synchronized IContainer getOutputLocation() {
-		if (this.fOutputLocation == null) {
-			try {
-				switch(fRoot.getKind()) {
-					case IPackageFragmentRoot.K_SOURCE :
-						IPath location = fRoot.getRawClasspathEntry().getOutputLocation();
-						if (location == null) {
-							location = fRoot.getJavaProject().getOutputLocation();
-						}
-						this.fOutputLocation = ResourcesPlugin.getWorkspace().getRoot().getFolder(location);
-						if (!fOutputLocation.exists()) {
-							fOutputLocation = null;
-						}
-						break;
-					case IPackageFragmentRoot.K_BINARY :
-						IResource resource = fRoot.getUnderlyingResource();
-						if (resource != null) {
-							switch(resource.getType()) {
-								case IResource.PROJECT :
-									this.fOutputLocation = (IProject) resource;
-									break;
-								case IResource.FOLDER :
-									this.fOutputLocation = (IFolder) resource;
-									break;
-							}
-						}
-				}
-			} catch (JavaModelException e) {
-			}
-		}
-		return this.fOutputLocation;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer#findClassFile(java.lang.String)
-	 */
-	public IClassFile findClassFile(String qualifiedName) throws CoreException {
-		IContainer outputLocation = getOutputLocation();
-		if (outputLocation != null) {
-			int index = qualifiedName.lastIndexOf('.');
-			String pkg = ""; //$NON-NLS-1$
-			if (index > 0) {
-				pkg = qualifiedName.substring(0, index);
-			}
-			IPackageFragment fragment = fRoot.getPackageFragment(pkg);
-			if (fragment.exists()) {
-				StringBuffer name = new StringBuffer();
-				name.append(qualifiedName.replace('.', IPath.SEPARATOR));
-				name.append(Util.DOT_CLASS_SUFFIX);
-				IResource member = outputLocation.findMember(name.toString());
-				if (member != null && member.getType() == IResource.FILE) {
-					return new ResourceClassFile((IFile) member, qualifiedName);
-				}
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer#getPackageNames()
-	 */
-	public String[] getPackageNames() throws CoreException {
-		IJavaElement[] elements = fRoot.getChildren();
-		List names = new ArrayList();
-		for (int i = 0; i < elements.length; i++) {
-			IPackageFragment fragment = (IPackageFragment)elements[i];
-			if (fragment.hasChildren()) {
-				names.add(fragment.getElementName());
-			}
-		}
-		return (String[]) names.toArray(new String[names.size()]);
-	}
-
-	public String getOrigin() {
-		return this.fOrigin;
-	}
-	
-	public IClassFile findClassFile(String qualifiedName, String id) throws CoreException {
-		return findClassFile(qualifiedName);
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/SystemLibraryApiComponent.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/SystemLibraryApiComponent.java
deleted file mode 100644
index 0be463f..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/SystemLibraryApiComponent.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jdt.internal.launching.EEVMType;
-import org.eclipse.jdt.launching.LibraryLocation;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
-import org.eclipse.pde.api.tools.internal.provisional.IApiFilterStore;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.IRequiredComponentDescription;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor;
-
-/**
- * An API component for a system library.
- * 
- * @since 1.0.0
- */
-public class SystemLibraryApiComponent extends AbstractApiComponent {
-	
-	/**
-	 * Execution environment profile symbolic name.
-	 */
-	private String[] fExecEnv;
-	
-	/**
-	 * Associated library locations.
-	 */
-	private LibraryLocation[] fLibraries;
-	
-	/**
-	 * Home directory
-	 */
-	private String fLocation;
-	
-	/**
-	 * List of exported system packages
-	 */
-	private String[] fSystemPackages;
-	
-	/**
-	 * Language level - i.e. 1.4, 1.5, etc.
-	 */
-	private String fVersion;
-	
-	/**
-	 * Constructs a system library from the given execution environment description file.
-	 * 
-	 * @param profile owning profile
-	 * @param description EE file
-	 * @param systemPackages exported system packages
-	 */
-	public SystemLibraryApiComponent(IApiProfile profile, File description, String[] systemPackages) {
-		super(profile);
-		init(description);
-		fSystemPackages = systemPackages;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.descriptors.AbstractApiComponent#createApiDescription()
-	 */
-	protected IApiDescription createApiDescription() throws CoreException {
-		IApiDescription api = new ApiDescription(getId());
-		for (int i = 0; i < fSystemPackages.length; i++) {
-			IPackageDescriptor pkg  = Factory.packageDescriptor(fSystemPackages[i]);
-			api.setVisibility(null, pkg, VisibilityModifiers.API);
-		}
-		// have to fill in java.* as well
-		String[] packageNames = getPackageNames();
-		for (int i = 0; i < packageNames.length; i++) {
-			if (packageNames[i].startsWith("java.")) { //$NON-NLS-1$
-				IPackageDescriptor pkg  = Factory.packageDescriptor(packageNames[i]);
-				api.setVisibility(null, pkg, VisibilityModifiers.API);
-			}
-		}
-		return api;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.AbstractApiComponent#createApiFilterStore()
-	 */
-	protected IApiFilterStore createApiFilterStore() {
-		//TODO
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.descriptors.AbstractApiComponent#createClassFileContainers()
-	 */
-	protected List createClassFileContainers() throws CoreException {
-		List libs = new ArrayList(fLibraries.length);
-		for (int i = 0; i < fLibraries.length; i++) {
-			LibraryLocation lib = fLibraries[i];
-			libs.add(new ArchiveClassFileContainer(lib.getSystemLibraryPath().toOSString(), null));
-		}
-		return libs;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IApiComponent#export(java.util.Map, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void export(Map options, IProgressMonitor monitor) throws CoreException {
-		abort("System library does not support export.", null); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IApiComponent#getExecutionEnvironments()
-	 */
-	public String[] getExecutionEnvironments() {
-		return fExecEnv;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IApiComponent#getId()
-	 */
-	public String getId() {
-		return fExecEnv[0];
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IApiComponent#getLocation()
-	 */
-	public String getLocation() {
-		return fLocation;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IApiComponent#getName()
-	 */
-	public String getName() {
-		return fExecEnv[0];
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IApiComponent#getRequiredComponents()
-	 */
-	public IRequiredComponentDescription[] getRequiredComponents() {
-		return new IRequiredComponentDescription[0];
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IApiComponent#getVersion()
-	 */
-	public String getVersion() {
-		return fVersion;
-	}
-	
-	/**
-	 * Initializes properties from the EE file.
-	 * 
-	 * @param description EE file
-	 */
-	private void init(File description) {
-		EEVMType.clearProperties(description);
-		fLibraries = EEVMType.getLibraryLocations(description);
-		fExecEnv = new String[]{EEVMType.getProperty(EEVMType.PROP_CLASS_LIB_LEVEL, description)};
-		fVersion = fExecEnv[0];
-		fLocation = EEVMType.getProperty(EEVMType.PROP_JAVA_HOME, description);
-	}
-
-	/* (non-Javadoc)
-	 * @see IApiComponent#isSourceComponent()
-	 */
-	public boolean isSourceComponent() {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IApiComponent#isSystemComponent()
-	 */
-	public boolean isSystemComponent() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.IApiComponent#isFragment()
-	 */
-	public boolean isFragment() {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.IApiComponent#hasFragments()
-	 */
-	public boolean hasFragments() {
-		return false;
-	}
-
-	public String getOrigin() {
-		return null;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiAnalysisBuilder.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiAnalysisBuilder.java
deleted file mode 100644
index b2f930f..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiAnalysisBuilder.java
+++ /dev/null
@@ -1,1613 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.builder;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.LineNumberReader;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.IClasspathAttribute;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.ISourceRange;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.compiler.CharOperation;
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTParser;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.internal.core.JavaModelManager;
-import org.eclipse.jdt.internal.core.builder.ReferenceCollection;
-import org.eclipse.jdt.internal.core.builder.State;
-import org.eclipse.jdt.internal.core.builder.StringSet;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.osgi.service.resolver.BundleDescription;
-import org.eclipse.pde.api.tools.internal.ApiDescriptionManager;
-import org.eclipse.pde.api.tools.internal.IApiCoreConstants;
-import org.eclipse.pde.api.tools.internal.comparator.Delta;
-import org.eclipse.pde.api.tools.internal.problems.ApiProblemFactory;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiMarkerConstants;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.builder.IApiProblemReporter;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemTypes;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchScope;
-import org.eclipse.pde.api.tools.internal.util.SinceTagVersion;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.PluginRegistry;
-import org.osgi.framework.Constants;
-import org.osgi.framework.Version;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Builder for creating API tooling resource markers
- * @since 1.0.0
- */
-public class ApiAnalysisBuilder extends IncrementalProjectBuilder {
-
-	/**
-	 * Holds delta and corresponding CU
-	 */
-	private static class DeltaInfo {
-		IDelta delta;
-		ICompilationUnit unit;
-		
-		public DeltaInfo(IDelta delta, ICompilationUnit unit) {
-			this.delta = delta;
-			this.unit = unit;
-		}
-	}
-
-	/**
-	 * Constants used with the <code>bits</code> field
-	 */
-	private static final int CONTAINS_API_BREAKAGE = 1;
-	private static final int CONTAINS_API_CHANGES = 2;
-	
-	/**
-	 * Constant representing the name of the 'source' attribute on API tooling markers.
-	 * Value is <code>Api Tooling</code>
-	 */
-	public static final String SOURCE = "Api Tooling"; //$NON-NLS-1$
-	
-	/**
-	 * Internal flag used to determine what created the marker, as there is overlap for reference kinds and deltas
-	 */
-	public static final int REF_TYPE_FLAG = 0;
-
-	/**
-	 * Constant used for controlling tracing in the API tool builder
-	 */
-	private static boolean DEBUG = Util.DEBUG;
-	
-	/**
-	 * Method used for initializing tracing in the API tool builder
-	 */
-	public static void setDebug(boolean debugValue) {
-		DEBUG = debugValue || Util.DEBUG;
-	}
-	
-	/**
-	 * The current project for which this builder was defined
-	 */
-	private IProject fCurrentProject = null;
-	
-	/**
-	 * The problem reporter for this builder 
-	 */
-	private IApiProblemReporter fProblemReporter = null;
-	
-	/**
-	 * Used to help determine the scope of the API problem (change or breakage)
-	 */
-	private int bits;
-	
-	/**
-	 * The type that we want to check for API problems
-	 */
-	private ArrayList fTypesToCheck = new ArrayList();
-	
-	/**
-	 * List of type names to lookup for each project context to find dependents of
-	 */
-	private StringSet fTypes = new StringSet(3);
-	/**
-	 * List of package names to qualify type names
-	 */
-	private StringSet fPackages = new StringSet(3);
-	
-	/**
-	 * List of pending delta infos for which the @since tags should be checked
-	 */
-	private List pendingDeltaInfos = new ArrayList(3);
-
-	/**
-	 * Maps prereq projects to their output location(s)
-	 */
-	private HashMap fProjectToOutputLocations = new HashMap();
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IncrementalProjectBuilder#build(int, java.util.Map, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IProject[] build(int kind, Map args, IProgressMonitor monitor) throws CoreException {
-		this.bits = 0;
-		fCurrentProject = getProject();
-		fProblemReporter = getProblemReporter();
-		fTypesToCheck.clear();
-		if (fCurrentProject == null || !fCurrentProject.isAccessible() || !fCurrentProject.hasNature(ApiPlugin.NATURE_ID) ||
-				hasBeenBuilt(fCurrentProject)) {
-			return new IProject[0];
-		}
-		if (DEBUG) {
-			System.out.println("\nStarting build of " + fCurrentProject.getName() + " @ " + new Date(System.currentTimeMillis())); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		IProgressMonitor localMonitor = SubMonitor.convert(monitor, BuilderMessages.api_analysis_builder, 2);
-		IProject[] projects = getRequiredProjects(true);
-		try {
-			switch(kind) {
-				case FULL_BUILD : {
-					if (DEBUG) {
-						System.out.println("Performing full build as requested by user"); //$NON-NLS-1$
-					}
-					buildAll(localMonitor);
-					break;
-				}
-				case AUTO_BUILD :
-				case INCREMENTAL_BUILD : {
-					IResourceDelta[] deltas = getDeltas(projects);
-					if (deltas.length == 0) {
-						if (DEBUG) {
-							System.out.println("Performing full build since deltas are missing after incremental request"); //$NON-NLS-1$
-						}
-						buildAll(localMonitor);
-					} else {
-						buildDeltas(deltas);
-					}
-					break;
-				}
-			}
-		} finally {
-			fTypes.clear();
-			fPackages.clear();
-			fProjectToOutputLocations.clear();
-			checkDefaultProfileSet();
-			fProblemReporter.createMarkers();
-			fProblemReporter.dispose();
-			localMonitor.done();
-		}
-		if (DEBUG) {
-			System.out.println("Finished build of " + this.fCurrentProject.getName() + " @ " + new Date(System.currentTimeMillis())); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return projects;
-	}
-
-	/**
-	 * Returns a listing of deltas for this project and for dependent projects
-	 * @param projects
-	 * @return
-	 */
-	private IResourceDelta[] getDeltas(IProject[] projects) {
-		if(DEBUG) {
-			System.out.println("Searching for deltas for build of project: "+fCurrentProject.getName()); //$NON-NLS-1$
-		}
-		ArrayList deltas = new ArrayList();
-		IResourceDelta delta = getDelta(fCurrentProject);
-		if(delta != null) {
-			if (DEBUG) {
-				System.out.println("Found a delta: " + delta); //$NON-NLS-1$
-			}
-			deltas.add(delta);
-		}
-		for(int i = 0; i < projects.length; i++) {
-			delta = getDelta(projects[i]);
-			if(delta != null) {
-				if (DEBUG) {
-					System.out.println("Found a delta: " + delta); //$NON-NLS-1$
-				}
-				deltas.add(delta);
-			}
-		}
-		return (IResourceDelta[]) deltas.toArray(new IResourceDelta[deltas.size()]);
-	}
-	
-	/**
-	 * Checks to see if there is a default API profile set in the workspace,
-	 * if not create a marker
-	 */
-	private void checkDefaultProfileSet() {
-		try {
-			if(ApiPlugin.getDefault().getApiProfileManager().getDefaultApiProfile() == null) {
-				if(DEBUG) {
-					System.out.println("No default API profile, adding marker to ["+fCurrentProject.getName()+"]"); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-				int sev = ApiPlugin.getDefault().getSeverityLevel(IApiProblemTypes.MISSING_DEFAULT_API_PROFILE, fCurrentProject);
-				if (sev == ApiPlugin.SEVERITY_IGNORE) {
-					return;
-				}
-				IMarker[] markers = this.fCurrentProject.findMarkers(IApiMarkerConstants.DEFAULT_API_PROFILE_PROBLEM_MARKER, false, IResource.DEPTH_ZERO);
-				int length = markers.length;
-				if (length != 0) {
-					// the marker already exists
-					switch(length) {
-						case 1 :
-							// do nothing
-							return;
-						default:
-							// markers have not been cleanup properly
-							this.fCurrentProject.deleteMarkers(IApiMarkerConstants.DEFAULT_API_PROFILE_PROBLEM_MARKER, true, IResource.DEPTH_ZERO);
-					}
-				}
-				IApiProblem problem = ApiProblemFactory.newApiProfileProblem(fCurrentProject.getProjectRelativePath().toPortableString(), 
-						null, 
-						new String[] {IApiMarkerConstants.API_MARKER_ATTR_ID}, 
-						new Object[] {new Integer(IApiMarkerConstants.DEFAULT_API_PROFILE_MARKER_ID)}, 
-						-1, 
-						-1, 
-						-1,  
-						IElementDescriptor.T_RESOURCE, 
-						IApiProblem.API_PROFILE_MISSING);
-				fProblemReporter.addProblem(problem);
-			} else {
-				// we want to make sure that existing markers are removed
-				this.fCurrentProject.deleteMarkers(IApiMarkerConstants.DEFAULT_API_PROFILE_PROBLEM_MARKER, true, IResource.DEPTH_ZERO);
-			}
-		}
-		catch(CoreException e) {
-			ApiPlugin.log(e);
-		}
-	}
-	
-	/**
-	 * Performs a full build for the workspace
-	 * @param monitor
-	 */
-	private void buildAll(IProgressMonitor monitor) {
-		IProgressMonitor localMonitor = SubMonitor.convert(monitor, MessageFormat.format(BuilderMessages.api_analysis_on_0, new String[] {fCurrentProject.getName()}), 3);
-		IApiProfile profile = ApiPlugin.getDefault().getApiProfileManager().getDefaultApiProfile();
-		cleanupMarkers(this.fCurrentProject);
-		if (profile == null) {
-			return;
-		}
-		// retrieve all .class files from the current project
-		IPluginModelBase currentModel = getCurrentModel();
-		if (currentModel != null) {
-			localMonitor.subTask(BuilderMessages.building_workspace_profile);
-			IApiProfile wsprofile = getWorkspaceProfile();
-			localMonitor.worked(1);
-			if (wsprofile == null) {
-				if (DEBUG) {
-					System.err.println("Could not retrieve a workspace profile"); //$NON-NLS-1$
-				}
-				return;
-			}
-			String id = currentModel.getBundleDescription().getSymbolicName();
-			// Binary compatibility checks
-			IApiComponent apiComponent = wsprofile.getApiComponent(id);
-			if(apiComponent != null) {
-				localMonitor.subTask(BuilderMessages.checking_binary_compat);
-				compareProfiles(profile.getApiComponent(id), apiComponent);
-				localMonitor.worked(1);
-				// API usage checks
-				IApiSearchScope scope = Factory.newScope(new IApiComponent[]{apiComponent});
-				localMonitor.subTask(BuilderMessages.checking_api_usage);
-				checkApiUsage(wsprofile, apiComponent, scope, localMonitor);
-				localMonitor.worked(1);
-			}
-		}
-	}
-	
-	/**
-	 * @return if the API usage scan should be ignored
-	 */
-	private boolean ignoreApiUsageScan() {
-		boolean ignore = true;
-		ignore &= ApiPlugin.getDefault().getSeverityLevel(IApiProblemTypes.ILLEGAL_EXTEND, fCurrentProject) == ApiPlugin.SEVERITY_IGNORE;
-		ignore &= ApiPlugin.getDefault().getSeverityLevel(IApiProblemTypes.ILLEGAL_IMPLEMENT, fCurrentProject) == ApiPlugin.SEVERITY_IGNORE;
-		ignore &= ApiPlugin.getDefault().getSeverityLevel(IApiProblemTypes.ILLEGAL_INSTANTIATE, fCurrentProject) == ApiPlugin.SEVERITY_IGNORE;
-		ignore &= ApiPlugin.getDefault().getSeverityLevel(IApiProblemTypes.ILLEGAL_REFERENCE, fCurrentProject) == ApiPlugin.SEVERITY_IGNORE;
-		return ignore;
-	}
-	
-	/**
-	 * Checks for illegal API usage in the specified component, creating problem
-	 * markers as required.
-	 * 
-	 * @param profile profile being analyzed
-	 * @param component component being built
-	 * @param scope scope being built
-	 * @param monitor progress monitor
-	 */
-	private void checkApiUsage(IApiProfile profile, IApiComponent component, IApiSearchScope scope, IProgressMonitor monitor) {
-		if(ignoreApiUsageScan()) {
-			return;
-		}
-		ApiUseAnalyzer analyzer = new ApiUseAnalyzer();
-		try {
-			long start = System.currentTimeMillis();
-			IApiProblem[] illegal = analyzer.findIllegalApiUse(profile, component, scope, monitor);
-			long end = System.currentTimeMillis();
-			if (DEBUG) {
-				System.out.println("API usage scan: " + (end- start) + " ms\t" + illegal.length + " problems"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}		
-			if (illegal.length > 0) {
-				for (int i = 0; i < illegal.length; i++) {
-					fProblemReporter.addProblem(illegal[i]);
-				}
-			}
-		} catch (CoreException e) {
-			ApiPlugin.log(e.getStatus());
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IncrementalProjectBuilder#clean(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void clean(IProgressMonitor monitor) throws CoreException {
-		fCurrentProject = getProject();
-		// clean up all existing markers
-		cleanupMarkers(fCurrentProject);
-		//clean up the .api_settings
-		cleanupApiDescription(fCurrentProject);
-	}
-
-	/**
-	 * Cleans the .api_settings file for the given project
-	 * @param project
-	 */
-	private void cleanupApiDescription(IProject project) {
-		if(project != null && project.exists()) {
-			ApiDescriptionManager.getDefault().clean(JavaCore.create(project), true, false);
-		}
-	}
-	
-	/**
-	 * @return the workspace {@link IApiProfile}
-	 */
-	private IApiProfile getWorkspaceProfile() {
-		return ApiPlugin.getDefault().getApiProfileManager().getWorkspaceProfile();
-	}
-	
-	/**
-	 * @return the current {@link IPluginModelBase} based on the current project for this builder
-	 */
-	private IPluginModelBase getCurrentModel() {
-		IPluginModelBase[] workspaceModels = PluginRegistry.getWorkspaceModels();
-		IPath location = fCurrentProject.getLocation();
-		IPluginModelBase currentModel = null;
-		BundleDescription desc = null;
-		loop: for (int i = 0, max = workspaceModels.length; i < max; i++) {
-			desc = workspaceModels[i].getBundleDescription();
-			if(desc != null) {
-				Path path = new Path(desc.getLocation());
-				if (path.equals(location)) {
-					currentModel = workspaceModels[i];
-					break loop;
-				}
-			}
-			else if(DEBUG) {
-				System.out.println("Tried to look up bundle description for: " + workspaceModels[i].toString()); //$NON-NLS-1$
-			}
-		}
-		return currentModel;
-	}
-
-	/**
-	 * Builds an API delta using the default profile (from the workspace settings and the current
-	 * workspace profile
-	 * @param delta
-	 */
-	private void buildDeltas(IResourceDelta[] deltas) {
-		IApiProfile profile = ApiPlugin.getDefault().getApiProfileManager().getDefaultApiProfile();
-		if (profile == null) {
-			return;
-		}
-		List flattenDeltas = new ArrayList();
-		for(int i = 0; i < deltas.length; i++) {
-			flatten0(deltas[i], flattenDeltas);
-		}
-		State state = (State)JavaModelManager.getJavaModelManager().getLastBuiltState(fCurrentProject, new NullProgressMonitor());
-		for (Iterator iterator = flattenDeltas.iterator(); iterator.hasNext();) {
-			IResourceDelta resourceDelta = (IResourceDelta) iterator.next();
-			if (DEBUG) {
-				switch(resourceDelta.getKind()) {
-					case IResourceDelta.ADDED :
-						System.out.print("ADDED"); //$NON-NLS-1$
-						break;
-					case IResourceDelta.CHANGED :
-						System.out.print("CHANGED"); //$NON-NLS-1$
-						break;
-					case IResourceDelta.CONTENT :
-						System.out.print("CONTENT"); //$NON-NLS-1$
-						break;
-					case IResourceDelta.REMOVED :
-						System.out.print("REMOVED"); //$NON-NLS-1$
-						break;
-					case IResourceDelta.REPLACED :
-						System.out.print("REPLACED"); //$NON-NLS-1$
-						break;
-				}
-				System.out.print(" - "); //$NON-NLS-1$
-			}
-			IResource resource = resourceDelta.getResource();
-			if (DEBUG) {
-				System.out.println(resource);
-			}
-			IPath location = resource.getLocation();
-			String fileName = location.lastSegment();
-			if(resource.getType() == IResource.FILE) {
-				if (Util.isClassFile(fileName)) {
-					findAffectedSourceFiles(resourceDelta);
-				}
-			}
-		}
-		collectAffectedSourceFiles(state);
-		if (fTypesToCheck.size() != 0) {
-			IPluginModelBase currentModel = getCurrentModel();
-			if (currentModel != null) {
-				IApiProfile wsprofile = getWorkspaceProfile();
-				if (wsprofile == null) {
-					if (DEBUG) {
-						System.err.println("Could not retrieve a workspace profile"); //$NON-NLS-1$
-					}
-					return;
-				}
-				String id = currentModel.getBundleDescription().getSymbolicName();
-				IApiComponent apiComponent = wsprofile.getApiComponent(id);
-				if(apiComponent == null) {
-					return;
-				}
-				IApiComponent reference = profile.getApiComponent(id);
-				List scopeElements = new ArrayList(); // build search scope for API usage scan
-				String className = null;
-				for (Iterator iterator = fTypesToCheck.iterator(); iterator.hasNext(); ) {
-					IFile file = (IFile) iterator.next();
-					cleanupMarkers(file);
-					ICompilationUnit unit = (ICompilationUnit) JavaCore.create(file);
-					if(!unit.exists()) {
-						continue;
-					}
-					IType type = unit.findPrimaryType();
-					if(type == null) {
-						continue;
-					}
-					className = type.getFullyQualifiedName();
-					if(reference != null) {
-						compareProfiles(new String(className), reference, apiComponent);
-					}
-					try {
-						IType[] allTypes = unit.getAllTypes();
-						for (int i = 0; i < allTypes.length; i++) {
-							scopeElements.add(Util.getType(new String(allTypes[i].getFullyQualifiedName('$'))));
-						}
-					} catch (JavaModelException e) {
-						ApiPlugin.log(e.getStatus());
-					}
-				}
-				checkApiUsage(wsprofile, apiComponent, Factory.newTypeScope(apiComponent, (IReferenceTypeDescriptor[]) scopeElements.toArray(new IReferenceTypeDescriptor[scopeElements.size()])), null);
-			}
-		} else if (DEBUG) {
-			System.out.println("No type to check"); //$NON-NLS-1$
-		}
-		fTypesToCheck.clear();
-	}
-	
-	/**
-	 * Adds a type to search for dependents of in considered projects for an incremental build
-	 * 
-	 * @param path
-	 */
-	private void addDependentsOf(IPath path) {
-		// the qualifiedStrings are of the form 'p1/p2' & the simpleStrings are just 'X'
-		path = path.setDevice(null);
-		String packageName = path.removeLastSegments(1).toString();
-		String typeName = path.lastSegment();
-		int memberIndex = typeName.indexOf('$');
-		if (memberIndex > 0) {
-			typeName = typeName.substring(0, memberIndex);
-		}
-		if (fTypes.add(typeName) && fPackages.add(packageName) && DEBUG) {
-			System.out.println("  will look for dependents of " + typeName + " in " + packageName); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-	
-	/**
-	 * Collects the complete set of affected source files from the current project context based on the current JDT build state.
-	 * 
-	 * @param state
-	 */
-	private void collectAffectedSourceFiles(State state) {
-		// the qualifiedStrings are of the form 'p1/p2' & the simpleStrings are just 'X'
-		char[][][] internedQualifiedNames = ReferenceCollection.internQualifiedNames(fPackages);
-		// if a well known qualified name was found then we can skip over these
-		if (internedQualifiedNames.length < fPackages.elementSize) {
-			internedQualifiedNames = null;
-		}
-		char[][] internedSimpleNames = ReferenceCollection.internSimpleNames(fTypes);
-		// if a well known name was found then we can skip over these
-		if (internedSimpleNames.length < fTypes.elementSize) {
-			internedSimpleNames = null;
-		}
-		Object[] keyTable = state.getReferences().keyTable;
-		Object[] valueTable = state.getReferences().valueTable;
-		next : for (int i = 0, l = valueTable.length; i < l; i++) {
-			String typeLocator = (String) keyTable[i];
-			if (typeLocator != null) {
-				ReferenceCollection refs = (ReferenceCollection) valueTable[i];
-				if (refs.includes(internedQualifiedNames, internedSimpleNames)) {
-					IFile file = fCurrentProject.getFile(typeLocator);
-					if (file == null || fTypesToCheck.contains(file)) {
-						continue next;
-					}
-					if (DEBUG) {
-						System.out.println("  adding affected source file " + typeLocator); //$NON-NLS-1$
-					}
-					fTypesToCheck.add(file);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Returns the complete listing of required projects from the classpath of the backing project
-	 * @param includeBinaryPrerequisites
-	 * @return
-	 * @throws CoreException
-	 */
-	private IProject[] getRequiredProjects(boolean includebinaries) throws CoreException {
-		IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-		if (fCurrentProject == null || workspaceRoot == null) { 
-			return new IProject[0];
-		}
-		ArrayList projects = new ArrayList();
-		try {
-			IJavaProject javaProject = JavaCore.create(fCurrentProject);
-			HashSet blocations = new HashSet();
-			blocations.add(javaProject.getOutputLocation());
-			fProjectToOutputLocations.put(fCurrentProject, blocations);
-			IClasspathEntry[] entries = javaProject.getResolvedClasspath(true);
-			for (int i = 0, l = entries.length; i < l; i++) {
-				IClasspathEntry entry = entries[i];
-				IPath path = entry.getPath();
-				IProject p = null;
-				switch (entry.getEntryKind()) {
-					case IClasspathEntry.CPE_PROJECT : {
-						p = workspaceRoot.getProject(path.lastSegment()); // missing projects are considered too
-						if (isOptional(entry) && !p.hasNature(ApiPlugin.NATURE_ID)) {// except if entry is optional 
-							p = null;
-						}
-						break;
-					}
-					case IClasspathEntry.CPE_LIBRARY : {
-						if (includebinaries && path.segmentCount() > 1) {
-							// some binary resources on the class path can come from projects that are not included in the project references
-							IResource resource = workspaceRoot.findMember(path.segment(0));
-							if (resource instanceof IProject) {
-								p = (IProject) resource;
-							}
-						}
-					}
-					case IClasspathEntry.CPE_SOURCE: {
-						IPath entrypath = entry.getOutputLocation();
-						if(entrypath != null) {
-							blocations.add(entrypath);
-						}
-					}
-				}
-				if (p != null && !projects.contains(p)) {
-					projects.add(p);
-					//try to derive all of the output locations for each of the projects
-					javaProject = JavaCore.create(p);
-					HashSet bins = new HashSet();
-					if(javaProject.exists()) {
-						bins.add(javaProject.getOutputLocation());
-						IClasspathEntry[] source = javaProject.getRawClasspath();
-						IPath entrypath = null;
-						for(int j = 0; j < source.length; j++) {
-							if(source[j].getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-								entrypath = source[j].getOutputLocation();
-								if(entrypath != null) {
-									bins.add(entrypath);
-								}
-							}
-						}
-						fProjectToOutputLocations.put(p, bins);
-					}
-				}
-			}
-		} 
-		catch(JavaModelException e) {
-			return new IProject[0];
-		}
-		IProject[] result = new IProject[projects.size()];
-		projects.toArray(result);
-		return result;
-	}
-	
-	/**
-	 * Returns is the given classpath entry is optional or not
-	 * @param entry
-	 * @return true if the specified {@link IClasspathEntry} is optional, false otherwise
-	 */
-	private boolean isOptional(IClasspathEntry entry) {
-		IClasspathAttribute[] attribs = entry.getExtraAttributes();
-		for (int i = 0, length = attribs.length; i < length; i++) {
-			IClasspathAttribute attribute = attribs[i];
-			if (IClasspathAttribute.OPTIONAL.equals(attribute.getName()) && "true".equals(attribute.getValue())) //$NON-NLS-1$
-				return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * Finds affected source files for a resource that has changed that either contains class files or is itself a class file
-	 * @param binaryDelta
-	 */
-	private void findAffectedSourceFiles(IResourceDelta binaryDelta) {
-		IResource resource = binaryDelta.getResource();
-		if(resource.getType() == IResource.FILE) {
-			if (Util.isClassFile(resource.getName())) {
-				IPath typePath = resolveJavaPathFromResource(resource);
-				if(typePath == null) {
-					return;
-				}
-				switch (binaryDelta.getKind()) {
-					case IResourceDelta.ADDED :
-					case IResourceDelta.REMOVED : {
-						if (DEBUG) {
-							System.out.println("Found added/removed class file " + typePath); //$NON-NLS-1$
-						}
-						addDependentsOf(typePath);
-						return;
-					}
-					case IResourceDelta.CHANGED : {
-						if ((binaryDelta.getFlags() & IResourceDelta.CONTENT) == 0) {
-							return; // skip it since it really isn't changed
-						}
-						if (DEBUG) {
-							System.out.println("Found changed class file " + typePath); //$NON-NLS-1$
-						}
-						addDependentsOf(typePath);
-					}
-				}
-				return;
-			}
-		}
-	}
-	
-	/**
-	 * Resolves the java path from the given resource
-	 * @param resource
-	 * @return the resolved path or <code>null</code> if the resource is not part of the java model
-	 */
-	private IPath resolveJavaPathFromResource(IResource resource) {
-		IJavaElement element = JavaCore.create(resource);
-		if(element != null) {
-			switch(element.getElementType()) {
-				case IJavaElement.CLASS_FILE: {
-					org.eclipse.jdt.core.IClassFile classfile = (org.eclipse.jdt.core.IClassFile) element;
-					IType type = classfile.getType();
-					HashSet paths = (HashSet) fProjectToOutputLocations.get(resource.getProject());
-					IPath prefix = null;
-					for(Iterator iter = paths.iterator(); iter.hasNext();) {
-						prefix = (IPath) iter.next();
-						if(prefix.isPrefixOf(type.getPath())) {
-							return type.getPath().removeFirstSegments(prefix.segmentCount()).removeFileExtension();
-						}
-					}
-					break;
-				}
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * recursively flattens the given delta into a list of individual deltas
-	 * @param delta
-	 * @param flattenDeltas
-	 */
-	private void flatten0(IResourceDelta delta, List flattenDeltas) {
-		IResourceDelta[] deltas = delta.getAffectedChildren();
-		int length = deltas.length;
-		if (length != 0) {
-			for (int i = 0; i < length; i++) {
-				flatten0(deltas[i], flattenDeltas);
-			}
-		} else {
-			flattenDeltas.add(delta);
-		}
-	}
-
-	/**
-	 * Compares the given type between the two API components
-	 * @param typeName the type to check in each component
-	 * @param reference 
-	 * @param component
-	 */
-	private void compareProfiles(String typeName, IApiComponent reference, IApiComponent component) {
-		IJavaProject javaProject = JavaCore.create(fCurrentProject);
-		if (javaProject == null) {
-			return;
-		}
-		ICompilationUnit compilationUnit = null;
-		if (DEBUG) {
-			System.out.println("comparing profiles ["+reference.getId()+"] and ["+component.getId()+"] for type ["+typeName+"]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		}
-		IResource compilationUnitResource = null;
-		try {
-			IType type = getType(javaProject, typeName);
-			if (type != null) {
-				compilationUnit = type.getCompilationUnit();
-				if (compilationUnit != null) {
-					compilationUnitResource = compilationUnit.getCorrespondingResource();
-					if (compilationUnitResource != null) {
-						if (DEBUG) {
-							IMarker[] markers = getMarkers(compilationUnitResource);
-							for (int i = 0, max = markers.length; i < max; i++) {
-								System.out.println(markers[i]);
-							}
-						}
-					}
-				}
-			}
-		} catch (JavaModelException e) {
-			// ignore, we cannot create markers in this case
-		}
-		IClassFile classFile = null;
-		try {
-			classFile = component.findClassFile(typeName);
-		} catch (CoreException e) {
-			ApiPlugin.log(e);
-		}
-		if (classFile == null) {
-			if (DEBUG) {
-				System.err.println("Could not retrieve class file for " + typeName + " in " + component.getId()); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			return;
-		}
-		IDelta delta = null;
-		long time = System.currentTimeMillis();
-		try {
-			delta = ApiComparator.compare(classFile, reference, component, reference.getProfile(), component.getProfile(), VisibilityModifiers.API);
-		} catch(Exception e) {
-			ApiPlugin.log(e);
-		} finally {
-			if (DEBUG) {
-				System.out.println("Time spent for " + typeName + " : " + (System.currentTimeMillis() - time) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-			this.pendingDeltaInfos.clear();
-		}
-		if (delta == null) {
-			if (DEBUG) {
-				System.err.println("An error occured while comparing"); //$NON-NLS-1$
-			}
-			return;
-		}
-		if (delta != ApiComparator.NO_DELTA) {
-			List allDeltas = Util.collectAllDeltas(delta);
-			for (Iterator iterator = allDeltas.iterator(); iterator.hasNext();) {
-				IDelta localDelta = (IDelta) iterator.next();
-				processDelta(javaProject, localDelta, compilationUnit, reference, component);
-			}
-			if (!this.pendingDeltaInfos.isEmpty()) {
-				// process the list
-				for (Iterator iterator = this.pendingDeltaInfos.iterator(); iterator.hasNext();) {
-					DeltaInfo deltaInfo = (DeltaInfo) iterator.next();
-					IMember member = Util.getIMember(deltaInfo.delta, javaProject);
-					if (member != null) {
-						processSinceTags(javaProject, deltaInfo, member, component, reference);
-					}
-				}
-			}
-			checkApiComponentVersion(reference, component);
-			if (DEBUG) {
-				System.out.println("Completed compare with no delta"); //$NON-NLS-1$
-			}
-		} else {
-			if (DEBUG) {
-				System.out.println("No delta"); //$NON-NLS-1$
-			}
-			cleanupVersionNumberingMarker();
-		}
-		if (DEBUG) {
-			System.out.println("finished comparing profiles ["+reference.getId()+"] and ["+component.getId()+"] for type ["+typeName+"]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-			if (compilationUnitResource != null) {
-				IMarker[] markers = getMarkers(compilationUnitResource);
-				if (markers.length == 0) {
-					// no marker created
-					System.out.println("No markers created on: ["+compilationUnitResource.getName()+"]"); //$NON-NLS-1$ //$NON-NLS-2$
-				} else {
-					for (int i = 0, max = markers.length; i < max; i++) {
-						System.out.println(markers[i]);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Checks the version number of the API component and creates problem markers as needed
-	 * @param javaProject
-	 * @param reference
-	 * @param component
-	 */
-	private void checkApiComponentVersion(IApiComponent reference, IApiComponent component) {
-		IApiProblem problem = null;
-		if (!shouldIgnoreProblem(IApiProblemTypes.INCOMPATIBLE_API_COMPONENT_VERSION) && reference != null) {
-			String refversionval = reference.getVersion();
-			String compversionval = component.getVersion();
-			Version refversion = new Version(refversionval);
-			Version compversion = new Version(compversionval);
-			Version newversion = null;
-			if (DEBUG) {
-				System.out.println("reference version of " + reference.getId() + " : " + refversion); //$NON-NLS-1$ //$NON-NLS-2$
-				System.out.println("component version of " + component.getId() + " : " + compversion); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			if ((this.bits & CONTAINS_API_BREAKAGE) != 0) {
-				// make sure that the major version has been incremented
-				if (compversion.getMajor() <= refversion.getMajor()) {
-					newversion = new Version(compversion.getMajor() + 1, 0, 0, compversion.getQualifier());
-					problem = createVersionProblem(IApiProblem.MAJOR_VERSION_CHANGE,
-										new String[] {refversionval, compversionval},
-										true,
-										String.valueOf(newversion));
-				}
-			} else if ((this.bits & CONTAINS_API_CHANGES) != 0) {
-				// only new API have been added
-				if (compversion.getMajor() != refversion.getMajor()) {
-					// major version should be identical
-					newversion = new Version(refversion.getMajor(), compversion.getMinor() + 1, 0, compversion.getQualifier());
-					problem = createVersionProblem(IApiProblem.MAJOR_VERSION_CHANGE_NO_BREAKAGE,
-										new String[] {refversionval, compversionval},
-										false,
-										String.valueOf(newversion));
-				} else if (compversion.getMinor() <= refversion.getMinor()) {
-					// the minor version should be incremented
-					newversion = new Version(compversion.getMajor(), compversion.getMinor() + 1, 0, compversion.getQualifier());
-					problem = createVersionProblem(IApiProblem.MINOR_VERSION_CHANGE, 
-										new String[] {refversionval, compversionval},
-										false,
-										String.valueOf(newversion));
-				} else {
-					// see if we should remove the marker
-					cleanupVersionNumberingMarker();
-				}
-			}
-		}
-		fProblemReporter.addProblem(problem);
-	}
-	
-	
-	/**
-	 * Cleans up the version numbering problem markers
-	 */
-	private void cleanupVersionNumberingMarker() {
-		try {
-			IMarker[] markers = this.fCurrentProject.findMarkers(IApiMarkerConstants.BINARY_COMPATIBILITY_PROBLEM_MARKER, false, IResource.DEPTH_INFINITE);
-			IResource manifestFile = Util.getManifestFile(this.fCurrentProject);
-			if (manifestFile == null) return;
-			IMarker[] manifestMarkers = manifestFile.findMarkers(IApiMarkerConstants.VERSION_NUMBERING_PROBLEM_MARKER, false, IResource.DEPTH_ZERO);
-			if (markers.length != 0) {
-				// check if we already have such a version numbering marker
-				if (manifestMarkers.length != 0) {
-					// the existing marker will only be updated on full build
-					return;
-				}
-			}
-			switch(manifestMarkers.length) {
-				case 0 :
-					return;
-				case 1 :
-					IMarker marker = manifestMarkers[0];
-					int kind = marker.getAttribute(IApiMarkerConstants.MARKER_ATTR_KIND, 0);
-					if (IApiProblem.MAJOR_VERSION_CHANGE == kind) {
-						marker.delete();
-					}
-					break;
-				default:
-					// delete all markers
-					for (int i = 0, max = manifestMarkers.length; i < max; i++) {
-						manifestMarkers[i].delete();
-					}
-			}
-		} catch (CoreException e) {
-			// ignore
-		}
-	}
-
-	/**
-	 * Cleans up markers associated with API tooling on the given resource.
-	 * 
-	 * @param resource
-	 */
-	public static void cleanupMarkers(IResource resource) {
-		try {
-			if (resource != null && resource.isAccessible()) {
-				resource.deleteMarkers(IApiMarkerConstants.BINARY_COMPATIBILITY_PROBLEM_MARKER, false, IResource.DEPTH_INFINITE);
-				resource.deleteMarkers(IApiMarkerConstants.API_USAGE_PROBLEM_MARKER, false, IResource.DEPTH_INFINITE);
-				resource.deleteMarkers(IApiMarkerConstants.SINCE_TAGS_PROBLEM_MARKER, false, IResource.DEPTH_INFINITE);
-				if (resource.getType() == IResource.PROJECT) {
-					// on full builds
-					resource.deleteMarkers(IApiMarkerConstants.VERSION_NUMBERING_PROBLEM_MARKER, false, IResource.DEPTH_INFINITE);
-					resource.deleteMarkers(IApiMarkerConstants.DEFAULT_API_PROFILE_PROBLEM_MARKER, true, IResource.DEPTH_ZERO);				}
-			}
-		} catch(CoreException e) {
-			ApiPlugin.log(e.getStatus());
-		}
-	}
-
-	/**
-	 * Returns the complete set of API tooling markers currently on the specified resource
-	 * @param resource
-	 * @return the complete set of API tooling markers
-	 */
-	private IMarker[] getMarkers(IResource resource) {
-		try {
-			if (resource != null && resource.exists()) {
-				ArrayList markers = new ArrayList();
-				markers.addAll(Arrays.asList(resource.findMarkers(IApiMarkerConstants.BINARY_COMPATIBILITY_PROBLEM_MARKER, false, IResource.DEPTH_INFINITE)));
-				markers.addAll(Arrays.asList(resource.findMarkers(IApiMarkerConstants.API_USAGE_PROBLEM_MARKER, false, IResource.DEPTH_INFINITE)));
-				markers.addAll(Arrays.asList(resource.findMarkers(IApiMarkerConstants.VERSION_NUMBERING_PROBLEM_MARKER, false, IResource.DEPTH_INFINITE)));
-				markers.addAll(Arrays.asList(resource.findMarkers(IApiMarkerConstants.SINCE_TAGS_PROBLEM_MARKER, false, IResource.DEPTH_INFINITE)));
-				markers.addAll(Arrays.asList(resource.findMarkers(IApiMarkerConstants.DEFAULT_API_PROFILE_PROBLEM_MARKER, false, IResource.DEPTH_INFINITE)));
-				return (IMarker[]) markers.toArray(new IMarker[markers.size()]);
-			}
-		} catch(CoreException e) {}
-		return new IMarker[0];
-	}
-
-	/**
-	 * Find a java type within a java project. Converts '$' to '.' as needed
-	 * @param javaProject
-	 * @param typeName
-	 * @return the java type or <code>null</code> if not found
-	 * @throws JavaModelException
-	 */
-	private IType getType(IJavaProject javaProject, String typeName) throws JavaModelException {
-		IType type = javaProject.findType(typeName);
-		if (type != null) {
-			return type;
-		}
-		if (typeName.indexOf('$') != -1) {
-			// might be a member type
-			return javaProject.findType(typeName.replace('$', '.'));
-		}
-		return null;
-	}
-	
-	protected IApiProblemReporter getProblemReporter() {
-		return ApiProblemReporter.reporter(fCurrentProject);
-	}
-	
-	/**
-	 * Creates an {@link IApiProblem} for the given delta on the backing resource of the specified 
-	 * {@link ICompilationUnit}
-	 * @param delta
-	 * @param compilationUnit
-	 * @param project
-	 * @return a new {@link IApiProblem} or <code>null</code>
-	 */
-	private IApiProblem createBinaryProblem(IDelta delta, ICompilationUnit compilationUnit, IJavaProject project, IApiComponent reference, IApiComponent component) {
-		try {
-			if(shouldIgnoreProblem(Util.getDeltaPrefererenceKey(delta.getElementType(), delta.getKind(), delta.getFlags()))) {
-				return null;
-			}
-			Version referenceVersion = new Version(reference.getVersion());
-			Version componentVersion = new Version(component.getVersion());
-			if (referenceVersion.getMajor() < componentVersion.getMajor()) {
-				// API breakage are ok in this case
-				return null;
-			}
-			IResource resource = null;
-			if (compilationUnit == null) {
-				IResource manifestFile = Util.getManifestFile(this.fCurrentProject);
-				if (manifestFile == null) {
-					// Cannot retrieve the manifest.mf file
-					return null;
-				}
-				resource = manifestFile;
-			} else {
-				resource = compilationUnit.getCorrespondingResource();
-				if (resource == null) {
-					return null;
-				}
-			}
-			this.bits |= CONTAINS_API_BREAKAGE;
-			
-			// retrieve line number, char start and char end
-			int lineNumber = 1;
-			int charStart = -1;
-			int charEnd = 1;
-			IMember member = Util.getIMember(delta, project);
-			if (member != null) {
-				ISourceRange range = member.getNameRange();
-				charStart = range.getOffset();
-				charEnd = charStart + range.getLength();
-				try {
-					IDocument document = Util.getDocument(compilationUnit);
-					lineNumber = document.getLineOfOffset(charStart);
-				} catch (BadLocationException e) {
-					// ignore
-				}
-			}
-			IJavaElement element = null;
-			if (compilationUnit != null) {
-				if(charStart > -1) {
-					element = compilationUnit.getElementAt(charStart);
-					if(element == null) {
-						element = compilationUnit.findPrimaryType();
-						if(element == null) {
-							element = compilationUnit;
-						}
-					}
-				} else {
-					element = compilationUnit;
-				}
-			} else {
-				element = project;
-			}
-			return ApiProblemFactory.newApiProblem(resource.getProjectRelativePath().toPortableString(), 
-					delta.getArguments(), 
-					new String[] {IApiMarkerConstants.MARKER_ATTR_HANDLE_ID, IApiMarkerConstants.API_MARKER_ATTR_ID}, 
-					new Object[] {element.getHandleIdentifier(), new Integer(IApiMarkerConstants.BINARY_COMPATIBILITY_MARKER_ID)}, 
-					lineNumber, 
-					charStart, 
-					charEnd, 
-					IApiProblem.CATEGORY_BINARY, 
-					delta.getElementType(), 
-					delta.getKind(), 
-					delta.getFlags());
-		} catch (CoreException e) {
-			ApiPlugin.log(e);
-		}
-		return null;
-	}
-
-	/**
-	 * Returns if the problem specified by the given preference key should be ignored or not
-	 * @param prefkey
-	 * @return true if the problem should be ignored, false otherwise
-	 */
-	private boolean shouldIgnoreProblem(String prefkey) {
-		return ApiPlugin.SEVERITY_IGNORE == ApiPlugin.getDefault().getSeverityLevel(prefkey, fCurrentProject);
-	}
-	
-	/**
-	 * Compares the two given profiles and generates an {@link IDelta}
-	 * @param reference
-	 * @param component
-	 */
-	private void compareProfiles(IApiComponent reference, IApiComponent component) {
-		long time = System.currentTimeMillis();
-		IDelta delta = null;
-		IApiProblem problem = null;
-		if (reference == null) {
-			delta = new Delta(IDelta.API_PROFILE_ELEMENT_TYPE, IDelta.ADDED, IDelta.API_COMPONENT, null, component.getId(), component.getId());
-		} else {
-			try {
-				delta = ApiComparator.compare(reference, component, VisibilityModifiers.API);
-			} catch(Exception e) {
-				ApiPlugin.log(e);
-			} finally {
-				if (DEBUG) {
-					System.out.println("Time spent for " + component.getId() + " : " + (System.currentTimeMillis() - time) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				}
-				this.pendingDeltaInfos.clear();
-			}
-		}
-		if (delta == null) {
-			if (DEBUG) System.err.println("An error occured while comparing"); //$NON-NLS-1$
-			return;
-		}
-		if (delta != ApiComparator.NO_DELTA) {
-			List allDeltas = Util.collectAllDeltas(delta);
-			if (allDeltas.size() != 0) {
-				IJavaProject javaProject = JavaCore.create(this.fCurrentProject);
-				if (javaProject == null) return;
-				for (Iterator iterator = allDeltas.iterator(); iterator.hasNext();) {
-					IDelta localDelta = (IDelta) iterator.next();
-					switch(localDelta.getElementType()) {
-						case IDelta.API_COMPONENT_ELEMENT_TYPE :
-						case IDelta.API_PROFILE_ELEMENT_TYPE :
-							if (!DeltaProcessor.isBinaryCompatible(localDelta)) {
-								problem = createBinaryProblem(localDelta, null, javaProject, reference, component);
-							}
-							break;
-						default:
-							IType type = null;
-							try {
-								type = javaProject.findType(localDelta.getTypeName().replace('$', '.'));
-							} catch (JavaModelException e) {
-								ApiPlugin.log(e);
-							}
-							if (type == null) {
-								// delta reported against an API component or an api profile
-								if (!DeltaProcessor.isBinaryCompatible(localDelta)) {
-									problem = createBinaryProblem(localDelta, null, javaProject, reference, component);
-								}
-							} else {
-								ICompilationUnit compilationUnit = type.getCompilationUnit();
-								if (compilationUnit == null) {
-									if (!DeltaProcessor.isBinaryCompatible(localDelta)) {
-										problem = createBinaryProblem(localDelta, null, javaProject, reference, component);
-									}
-								} else {
-									processDelta(javaProject, localDelta, compilationUnit, reference, component);
-								}
-							}
-					}
-				}
-				if (!this.pendingDeltaInfos.isEmpty()) {
-					// process the list
-					for (Iterator iterator = this.pendingDeltaInfos.iterator(); iterator.hasNext();) {
-						DeltaInfo deltaInfo = (DeltaInfo) iterator.next();
-						IMember member = Util.getIMember(deltaInfo.delta, javaProject);
-						if (member != null) {
-							processSinceTags(javaProject, deltaInfo, member, component, reference);
-						}
-					}
-				}
-				if (reference != null && component != null) {
-					checkApiComponentVersion(reference, component);
-				}
-			}
-			if (DEBUG) {
-				System.out.println("Complete"); //$NON-NLS-1$
-			}
-		} else if (DEBUG) {
-			System.out.println("No delta"); //$NON-NLS-1$
-		}
-		fProblemReporter.addProblem(problem);
-	}
-
-	/**
-	 * Processes a delta to know if we need to check for since tag or version numbering problems
-	 * @param javaProject
-	 * @param delta
-	 * @param compilationUnit
-	 * @param reference
-	 * @param component
-	 */
-	private void processDelta(IJavaProject javaProject, IDelta delta, ICompilationUnit compilationUnit,	IApiComponent reference, IApiComponent component) {
-		IApiProblem problem = null;
-		if (DeltaProcessor.isBinaryCompatible(delta)) {
-			if (DEBUG) {
-				String deltaDetails = "Delta : " + Util.getDetail(delta); //$NON-NLS-1$
-				System.out.println(deltaDetails + " is binary compatible"); //$NON-NLS-1$
-			}
-			if ((delta.getKind() == IDelta.ADDED)
-					&& (RestrictionModifiers.isExtendRestriction(delta.getRestrictions())
-							|| RestrictionModifiers.isImplementRestriction(delta.getRestrictions())
-							|| (!RestrictionModifiers.isExtendRestriction(delta.getRestrictions())
-							&& Flags.isStatic(delta.getModifiers()))) && Util.isVisible(delta)) {
-				// check new APIs
-				this.bits |= CONTAINS_API_CHANGES;
-				if (!shouldIgnoreProblem(IApiProblemTypes.MISSING_SINCE_TAG)
-						|| !shouldIgnoreProblem(IApiProblemTypes.MALFORMED_SINCE_TAG)
-						|| !shouldIgnoreProblem(IApiProblemTypes.INVALID_SINCE_TAG_VERSION)) {
-					this.pendingDeltaInfos.add(new DeltaInfo(delta, compilationUnit));
-				}
-			}
-		} else {
-			if (DEBUG) {
-				String deltaDetails = "Delta : " + Util.getDetail(delta); //$NON-NLS-1$
-				System.err.println(deltaDetails + " is not binary compatible"); //$NON-NLS-1$
-			}
-			problem = createBinaryProblem(delta, compilationUnit, javaProject, reference, component);
-			if (!shouldIgnoreProblem(IApiProblemTypes.MISSING_SINCE_TAG)
-					|| !shouldIgnoreProblem(IApiProblemTypes.MALFORMED_SINCE_TAG)
-					|| !shouldIgnoreProblem(IApiProblemTypes.INVALID_SINCE_TAG_VERSION)) {
-				// ensure that there is a @since tag for the corresponding member
-				if (delta.getKind() == IDelta.ADDED && Util.isVisible(delta)) {
-					this.pendingDeltaInfos.add(new DeltaInfo(delta, compilationUnit));
-				}
-			}
-		}
-		fProblemReporter.addProblem(problem);
-	}
-	
-	/**
-	 * Processes an {@link IMember} to determine if it needs an @since tag. If it does and one
-	 * is not present or the version of the tag is incorrect, a marker is created
-	 * @param javaProject
-	 * @param compilationUnit
-	 * @param member
-	 * @param component
-	 */
-	private void processSinceTags(final IJavaProject javaProject, final DeltaInfo info, final IMember member, final IApiComponent component,
-			final IApiComponent reference) {
-		ICompilationUnit cunit = info.unit;
-		IApiProblem problem = null;
-		if(cunit != null) {
-			ASTParser parser = ASTParser.newParser(AST.JLS3);
-			parser.setSource(cunit);
-			ISourceRange nameRange = null;
-			try {
-				nameRange = member.getNameRange();
-			} catch (JavaModelException e) {
-				ApiPlugin.log(e);
-				return;
-			}
-			if (nameRange == null) return;
-			int offset = nameRange.getOffset();
-			parser.setFocalPosition(offset);
-			parser.setResolveBindings(false);
-			Map options = javaProject.getOptions(true);
-			options.put(JavaCore.COMPILER_DOC_COMMENT_SUPPORT, JavaCore.ENABLED);
-			parser.setCompilerOptions(options);
-			final CompilationUnit unit = (CompilationUnit) parser.createAST(new NullProgressMonitor());
-			SinceTagChecker visitor = new SinceTagChecker(offset);
-			unit.accept(visitor);
-			String componentVersionString = component.getVersion();
-			if (visitor.hasNoComment() || visitor.isMissing()) {
-				if(shouldIgnoreProblem(IApiProblemTypes.MISSING_SINCE_TAG)) {
-					return;
-				}
-				StringBuffer buffer = new StringBuffer();
-				Version componentVersion = null;
-				try {
-					// TODO check if reference version is lower than component version to set the appropriate 
-					// value for @since tag
-					if (reference != null) {
-						String referenceVersionString = reference.getVersion();
-						getAccurateVersion(componentVersionString, referenceVersionString, buffer);
-					} else {
-						componentVersion = new Version(componentVersionString);
-						buffer.append(componentVersion.getMajor()).append('.').append(componentVersion.getMinor());
-					}
-					problem = createSinceTagProblem(IApiProblem.SINCE_TAG_MISSING, null, 
-										 info, member, String.valueOf(buffer));
-				} catch (IllegalArgumentException e) {
-					ApiPlugin.log(e);
-				}
-			} else if (visitor.hasJavadocComment()) {
-				// we don't want to flag block comment
-				String sinceVersion = visitor.getSinceVersion();
-				if (sinceVersion != null) {
-					/*
-					 * Check the validity of the @since version
-					 * It cannot be greater than the component version and
-					 * it cannot contain more than two fragments.
-					 */
-					if (Util.getFragmentNumber(sinceVersion) > 2) {
-						if(shouldIgnoreProblem(IApiProblemTypes.MALFORMED_SINCE_TAG)) {
-							return;
-						}
-						// @since version cannot have more than 2 fragments
-						// create a marker on the member for missing @since tag
-						try {
-							SinceTagVersion tagVersion = null;
-							tagVersion = new SinceTagVersion(sinceVersion);
-							StringBuffer buffer = new StringBuffer();
-							buffer.append(' ');
-							if (tagVersion.pluginName() != null) {
-								buffer.append(tagVersion.pluginName()).append(' ');
-							}
-							if (reference != null) {
-								String referenceVersionString = reference.getVersion();
-								getAccurateVersion(componentVersionString, referenceVersionString, buffer);
-							} else {
-								Version componentVersion = new Version(componentVersionString);
-								buffer.append(componentVersion.getMajor()).append('.').append(componentVersion.getMinor());
-							}
-							problem = createSinceTagProblem(IApiProblem.SINCE_TAG_MALFORMED,
-												 new String[] {sinceVersion},
-												 info, member, String.valueOf(buffer));
-						} catch (IllegalArgumentException e) {
-							ApiPlugin.log(e);
-						}
-					} else {
-						if(shouldIgnoreProblem(IApiProblemTypes.INVALID_SINCE_TAG_VERSION)) {
-							return;
-						}
-						StringBuffer accurateVersionBuffer = new StringBuffer();
-						if (reference != null) {
-							String referenceVersionString = reference.getVersion();
-							getAccurateVersion(componentVersionString, referenceVersionString, accurateVersionBuffer);
-						} else {
-							Version componentVersion = new Version(componentVersionString);
-							accurateVersionBuffer.append(componentVersion.getMajor()).append('.').append(componentVersion.getMinor());
-						}
-						String accurateVersion = String.valueOf(accurateVersionBuffer);
-						if (Util.isDifferentVersion(sinceVersion, accurateVersion)) {
-							// report invalid version number
-							SinceTagVersion tagVersion = null;
-							try {
-								tagVersion = new SinceTagVersion(sinceVersion);
-								StringBuffer buffer = new StringBuffer();
-								buffer.append(' ');
-								if (tagVersion.pluginName() != null) {
-									buffer.append(tagVersion.pluginName()).append(' ');
-								}
-								Version version = new Version(accurateVersion);
-								buffer.append(version.getMajor()).append('.').append(version.getMinor());
-								String accurateSinceTagValue = String.valueOf(buffer);
-								problem = createSinceTagProblem(IApiProblem.SINCE_TAG_INVALID,
-													 new String[] {sinceVersion, accurateSinceTagValue},
-													 info, member, accurateSinceTagValue);
-							} catch (IllegalArgumentException e) {
-								ApiPlugin.log(e);
-							}
-						}
-					}
-				}
-			}
-			fProblemReporter.addProblem(problem);
-		}
-	}
-
-	/**
-	 * Returns the adjusted version based on the reference version
-	 * @param componentVersionString
-	 * @param referenceVersionString
-	 * @param buffer
-	 */
-	private void getAccurateVersion(String componentVersionString, String referenceVersionString, StringBuffer buffer) {
-		Version componentVersion;
-		if (Util.isGreatherVersion(componentVersionString, referenceVersionString)) {
-			// check the validity of the component version vs the reference version
-			componentVersion = new Version(componentVersionString);
-			Version referenceVersion = new Version(referenceVersionString);
-			if ((this.bits & CONTAINS_API_BREAKAGE) != 0) {
-				if ((referenceVersion.getMajor() + 1) != componentVersion.getMajor()) {
-					buffer.append(referenceVersion.getMajor() + 1).append(".0"); //$NON-NLS-1$
-				} else {
-					buffer.append(componentVersion.getMajor()).append(".0"); //$NON-NLS-1$
-				}
-			} else {
-				if (referenceVersion.getMajor() != componentVersion.getMajor()) {
-					buffer.append(referenceVersion.getMajor());
-				} else {
-					buffer.append(componentVersion.getMajor());
-				}
-				buffer.append('.');
-				if ((referenceVersion.getMinor() + 1) != componentVersion.getMinor()) {
-					buffer.append(referenceVersion.getMinor() + 1);
-				} else {
-					buffer.append(componentVersion.getMinor());
-				}
-			}
-		} else if ((this.bits & CONTAINS_API_BREAKAGE) != 0) {
-			// API breakage
-			componentVersion = new Version(componentVersionString);
-			buffer.append(componentVersion.getMajor() + 1).append(".0"); //$NON-NLS-1$
-		} else {
-			// new API
-			componentVersion = new Version(componentVersionString);
-			buffer.append(componentVersion.getMajor()).append('.').append(componentVersion.getMinor() + 1);
-		}
-	}
-
-	/**
-	 * Creates a marker to denote a problem with the since tag (existence or correctness) for a member
-	 * and returns it, or <code>null</code>
-	 * @param kind
-	 * @param messageargs
-	 * @param compilationUnit
-	 * @param member
-	 * @param version
-	 * @return a new {@link IApiProblem} or <code>null</code>
-	 */
-	private IApiProblem createSinceTagProblem(int kind, final String[] messageargs, final DeltaInfo info, 
-			IMember member, final String version) {
-		try {
-			// create a marker on the member for missing @since tag
-			IResource resource = null;
-			try {
-				resource = info.unit.getCorrespondingResource();
-			} catch (JavaModelException e) {
-				// ignore
-			}
-			if (resource == null) {
-				return null;
-			}			
-			int lineNumber = 1;
-			int charStart = 0;
-			int charEnd = 1;
-			ISourceRange range = member.getNameRange();
-			charStart = range.getOffset();
-			charEnd = charStart + range.getLength();
-			try {
-				IDocument document = Util.getDocument(info.unit);
-				lineNumber = document.getLineOfOffset(charStart);
-			} catch (BadLocationException e) {
-				// ignore
-			}
-			return ApiProblemFactory.newApiSinceTagProblem(resource.getProjectRelativePath().toPortableString(), 
-					messageargs, 
-					new String[] {IApiMarkerConstants.MARKER_ATTR_VERSION, IApiMarkerConstants.API_MARKER_ATTR_ID, IApiMarkerConstants.MARKER_ATTR_HANDLE_ID}, 
-					new Object[] {version, new Integer(IApiMarkerConstants.SINCE_TAG_MARKER_ID), member.getHandleIdentifier()}, 
-					lineNumber, 
-					charStart, 
-					charEnd, 
-					info.delta.getElementType(), 
-					kind);
-		} catch (CoreException e) {
-			ApiPlugin.log(e);
-		}
-		return null;
-	}
-
-	/**
-	 * Creates a marker on a manifest file for a version numbering problem and returns it
-	 * or <code>null</code> 
-	 * @param kind
-	 * @param messageargs
-	 * @param breakage
-	 * @param version
-	 * @return a new {@link IApiProblem} or <code>null</code>
-	 */
-	private IApiProblem createVersionProblem(int kind, final String[] messageargs, boolean breakage, String version) {
-		try {
-			IResource manifestFile = Util.getManifestFile(this.fCurrentProject);
-			IMarker[] markers = this.fCurrentProject.findMarkers(IApiMarkerConstants.BINARY_COMPATIBILITY_PROBLEM_MARKER, false, IResource.DEPTH_INFINITE);
-			if (manifestFile == null) {
-				// Cannot retrieve the manifest.mf file
-				return null;
-			}
-			IMarker[] manifestMarkers = manifestFile.findMarkers(IApiMarkerConstants.VERSION_NUMBERING_PROBLEM_MARKER, false, IResource.DEPTH_ZERO);
-			if (markers.length != 0) {
-				// check if we already have such a version numbering marker
-				if (manifestMarkers.length != 0) {
-					// check if the existing marker has the same severity (breakage vs non breakage
-					IMarker marker = manifestMarkers[0];
-					if (breakage) {
-						int tmpkind = ApiProblemFactory.getProblemKind(marker.getAttribute(IApiMarkerConstants.MARKER_ATTR_PROBLEM_ID, 0));
-						if (IApiProblem.MAJOR_VERSION_CHANGE == tmpkind) {
-							// no need to create the same marker again
-							return null;
-						} else {
-							// create a new marker
-							marker.delete();
-						}
-					}
-					// no need to report a marker for minor version issue if the major version is wrong 
-					// or to report the minor issue again. We preserve the existing marker
-					return null;
-				}
-			} else if (manifestMarkers.length != 0) {
-				// this means the marker is not create for a breakage change
-				IMarker marker = manifestMarkers[0];
-				int tmpkind = ApiProblemFactory.getProblemKind(marker.getAttribute(IApiMarkerConstants.MARKER_ATTR_PROBLEM_ID, 0));
-				if (IApiProblem.MAJOR_VERSION_CHANGE == tmpkind) {
-					// remove the existing marker to create one for non breakage version issue
-					marker.delete();
-				}
-				// no need to report a marker for minor version issue again
-				return null;
-			}
-			// this error should be located on the manifest.mf file
-			// first of all we check how many binary breakage marker are there
-			int lineNumber = -1;
-			int charStart = 0;
-			int charEnd = 1;
-			char[] contents = null;
-			if (manifestFile.getType() == IResource.FILE) {
-				IFile file = (IFile) manifestFile;
-				InputStream inputStream = null;
-				LineNumberReader reader = null;
-				try {
-					inputStream = file.getContents(true);
-					contents = Util.getInputStreamAsCharArray(inputStream, -1, IApiCoreConstants.UTF_8);
-					reader = new LineNumberReader(new BufferedReader(new StringReader(new String(contents))));
-					int lineCounter = 0;
-					String line = null;
-					loop: while ((line = reader.readLine()) != null) {
-						lineCounter++;
-						if (line.startsWith(Constants.BUNDLE_VERSION)) {
-							lineNumber = lineCounter;
-							break loop;
-						}
-					}
-				} catch (CoreException e) {
-					// ignore
-				} catch (IOException e) {
-					// ignore
-				} finally {
-					try {
-						if (inputStream != null) {
-							inputStream.close();
-						}
-						if (reader != null) {
-							reader.close();
-						}
-					} catch (IOException e) {
-						// ignore
-					}
-				}
-			}
-			if (lineNumber != -1 && contents != null) {
-				// initialize char start, char end
-				int index = CharOperation.indexOf(Constants.BUNDLE_VERSION.toCharArray(), contents, true);
-				loop: for (int i = index + Constants.BUNDLE_VERSION.length() + 1, max = contents.length; i < max; i++) {
-					char currentCharacter = contents[i];
-					if (CharOperation.isWhitespace(currentCharacter)) {
-						continue;
-					}
-					charStart = i;
-					break loop;
-				}
-				loop: for (int i = charStart + 1, max = contents.length; i < max; i++) {
-					switch(contents[i]) {
-						case '\r' :
-						case '\n' :
-							charEnd = i;
-							break loop;
-					}
-				}
-			} else {
-				lineNumber = 1;
-			}
-			return ApiProblemFactory.newApiVersionNumberProblem(manifestFile.getProjectRelativePath().toPortableString(), 
-					messageargs, 
-					new String[] {IApiMarkerConstants.MARKER_ATTR_VERSION, IApiMarkerConstants.API_MARKER_ATTR_ID}, 
-					new Object[] {version, new Integer(IApiMarkerConstants.VERSION_NUMBERING_MARKER_ID)}, 
-					lineNumber, 
-					charStart, 
-					charEnd, 
-					IElementDescriptor.T_RESOURCE, 
-					kind);
-		} catch (CoreException e) {
-			ApiPlugin.log(e);
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return "Builder for project: ["+fCurrentProject.getName()+"]"; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiProblemReporter.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiProblemReporter.java
deleted file mode 100644
index d501a7d..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiProblemReporter.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.builder;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiMarkerConstants;
-import org.eclipse.pde.api.tools.internal.provisional.builder.IApiProblemReporter;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-
-/**
- * Class for collecting {@link IApiProblem}s and creating {@link IMarker}s (if running in the framework)
- * 
- * @since 1.0.0
- */
-public class ApiProblemReporter implements IApiProblemReporter {
-
-	/**
-	 * The current listing of {@link IApiProblem}s
-	 */
-	private HashMap fProblems = null;
-	/**
-	 * The singleton instance
-	 */
-	private static ApiProblemReporter fInstance = null;
-	private static IProject fProject = null;
-
-	/**
-	 * Constructor
-	 */
-	private ApiProblemReporter() {}
-	
-	/**
-	 * Returns an {@link ApiProblemReporter} 
-	 * @return an {@link ApiProblemReporter}
-	 */
-	public static ApiProblemReporter reporter(IProject project) {
-		Assert.isNotNull(project);
-		Assert.isTrue(project.isAccessible());
-		if(fInstance == null) {
-			fInstance = new ApiProblemReporter();
-		}
-		fProject = project;
-		return fInstance;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.builder.IApiProblemReporter#addProblem(org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem)
-	 */
-	public boolean addProblem(IApiProblem problem) {
-		if(problem == null) {
-			return false;
-		}
-		if(isProblemFiltered(problem)) {
-			return false;
-		}
-		if(fProblems == null) {
-			fProblems = new HashMap();
-		}
-		String problemtype = getProblemTypeFromCategory(problem.getCategory());
-		HashSet problems = (HashSet) fProblems.get(problemtype);
-		if(problems == null) {
-			problems = new HashSet();
-			fProblems.put(problemtype, problems);
-		}
-		return problems.add(problem);
-	}
-	
-	/**
-	 * Returns the {@link IApiMarkerConstants} problem type given the 
-	 * problem category
-	 * @param category
-	 * @return the problem type or <code>null</code>
-	 */
-	private String getProblemTypeFromCategory(int category) {
-		switch(category) {
-			case IApiProblem.CATEGORY_API_PROFILE: {
-				return IApiMarkerConstants.DEFAULT_API_PROFILE_PROBLEM_MARKER;
-			}
-			case IApiProblem.CATEGORY_BINARY: {
-				return IApiMarkerConstants.BINARY_COMPATIBILITY_PROBLEM_MARKER;
-			}
-			case IApiProblem.CATEGORY_SINCETAGS: {
-				return IApiMarkerConstants.SINCE_TAGS_PROBLEM_MARKER;
-			}
-			case IApiProblem.CATEGORY_USAGE: {
-				return IApiMarkerConstants.API_USAGE_PROBLEM_MARKER;
-			}
-			case IApiProblem.CATEGORY_VERSION: {
-				return IApiMarkerConstants.VERSION_NUMBERING_PROBLEM_MARKER;
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Creates new markers are for the listing of problems added to this reporter.
-	 * If no problems have been added to this reporter, or we are not running in the framework,
-	 * no work is done.
-	 */
-	public void createMarkers() {
-		if(fProblems == null || !ApiPlugin.isRunningInFramework()) {
-			return;
-		}
-		HashSet problems = null;
-		String type = null;
-		IApiProblem problem = null;
-		for(Iterator iter = fProblems.keySet().iterator(); iter.hasNext();) {
-			type = (String) iter.next();
-			problems = (HashSet) fProblems.get(type);
-			if(problems != null && problems.size() > 0) {
-				for(Iterator iter2 = problems.iterator(); iter2.hasNext();) {
-					problem = (IApiProblem) iter2.next();
-					createMarkerForProblem(type, problem);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Creates an {@link IMarker} on the resource specified
-	 * in the problem (via its path) with the given problem
-	 * attributes
-	 * @param problem the problem to create a marker from
-	 */
-	private void createMarkerForProblem(String type, IApiProblem problem) {
-		IResource resource = resolveResource(problem);
-		if(resource == null) {
-			return;
-		}
-		try {
-			IMarker marker = resource.createMarker(type);
-			marker.setAttributes(
-					new String[] {IMarker.MESSAGE, 
-							IMarker.SEVERITY, 
-							IMarker.LINE_NUMBER, 
-							IMarker.CHAR_START, 
-							IMarker.CHAR_END,
-							IMarker.SOURCE_ID,
-							IApiMarkerConstants.MARKER_ATTR_PROBLEM_ID},
-					new Object[] {problem.getMessage(),	
-							new Integer(problem.getSeverity()),	
-							new Integer(problem.getLineNumber()),
-							new Integer(problem.getCharStart()),
-							new Integer(problem.getCharEnd()),
-							ApiAnalysisBuilder.SOURCE,
-							new Integer(problem.getId()),
-					}
-				);
-			//add message arguments, if any
-			String[] args = problem.getMessageArguments();
-			if(args.length > 0) {
-				marker.setAttribute(IApiMarkerConstants.MARKER_ATTR_MESSAGE_ARGUMENTS, createArgAttribute(args));
-			}
-			//add all other extra arguments, if any
-			if(problem.getExtraMarkerAttributeIds().length > 0) {
-				marker.setAttributes(problem.getExtraMarkerAttributeIds(), problem.getExtraMarkerAttributeValues());
-			}
-			
-		} catch (CoreException e) {
-			//ignore and continue
-			return;
-		}
-	}
-	
-	/**
-	 * Creates a single string attribute from an array of strings. Uses the '#' char as 
-	 * a delimiter
-	 * @param args
-	 * @return a single string attribute from an array or arguments
-	 */
-	private String createArgAttribute(String[] args) {
-		StringBuffer buff = new StringBuffer();
-		for(int i = 0; i < args.length; i++) {
-			buff.append(args[i]);
-			if(i < args.length-1) {
-				buff.append("#"); //$NON-NLS-1$
-			}
-		}
-		return buff.toString();
-	}
-	
-	/**
-	 * Resolves the resource from the path in the problem, returns <code>null</code> in 
-	 * the following cases: 
-	 * <ul>
-	 * <li>The resource is not found in the parent project (findMember() returns null)</li>
-	 * <li>The resource is not accessible (isAccessible() returns false</li>
-	 * </ul>
-	 * @param problem the problem to get the resource for
-	 * @return the resource or <code>null</code>
-	 */
-	private IResource resolveResource(IApiProblem problem) {
-		IResource resource = fProject.findMember(new Path(problem.getResourcePath()));
-		if(resource == null) {
-			return null;
-		}
-		if(!resource.isAccessible()) {
-			return null;
-		}
-		return resource;
-	}
-	
-	/**
-	 * Returns if the given {@link IApiProblem} should be filtered from having a problem marker created for it
-	 * 
-	 * @param problem the problem that may or may not be filtered
-	 * @return true if the {@link IApiProblem} should not have a marker created, false otherwise
-	 */
-	private boolean isProblemFiltered(IApiProblem problem) {
-		IApiComponent component = ApiPlugin.getDefault().getApiProfileManager().getWorkspaceProfile().getApiComponent(fProject.getName());
-		if(component != null) {
-			try {
-				return component.getFilterStore().isFiltered(problem);
-			}
-			catch(CoreException e) {
-				//ignore, return false
-			}
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.builder.IApiProblemReporter#dispose()
-	 */
-	public void dispose() {
-		if(fProblems != null) {
-			fProblems.clear();
-			fProblems = null;
-		}
-		fProject = null;
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiUseAnalyzer.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiUseAnalyzer.java
deleted file mode 100644
index d23e46a..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiUseAnalyzer.java
+++ /dev/null
@@ -1,860 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.builder;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.ISourceRange;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.pde.api.tools.internal.PluginProjectApiComponent;
-import org.eclipse.pde.api.tools.internal.problems.ApiProblemFactory;
-import org.eclipse.pde.api.tools.internal.provisional.ApiDescriptionVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
-import org.eclipse.pde.api.tools.internal.provisional.IApiMarkerConstants;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IFieldDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMemberDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemTypes;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchEngine;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchResult;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchScope;
-import org.eclipse.pde.api.tools.internal.provisional.search.ILocation;
-import org.eclipse.pde.api.tools.internal.provisional.search.IReference;
-import org.eclipse.pde.api.tools.internal.provisional.search.ReferenceModifiers;
-import org.eclipse.pde.api.tools.internal.search.Location;
-import org.eclipse.pde.api.tools.internal.search.Reference;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Analyzes a component or scope within a component for illegal API use in prerequisite
- * components.
- *  
- * @since 1.0
- */
-public class ApiUseAnalyzer {
-	
-	/**
-	 * The result of a compatibility check
-	 */
-	public class CompatibilityResult {
-		
-		/**
-		 * Required component.
-		 */
-		private IApiComponent fComponent;
-		
-		/**
-		 * Unresolved references, possibly empty.
-		 */
-		private IReference[] fUnresolved;
-		
-		
-		CompatibilityResult(IApiComponent component, IReference[] unresolved) {
-			fComponent = component;
-			fUnresolved = unresolved;
-		}
-		
-		/**
-		 * Returns the component that was analyzed for compatibility.
-		 * 
-		 * @return required component
-		 */
-		public IApiComponent getRequiredComponent() {
-			return fComponent;
-		}
-		
-		/**
-		 * Returns any references that could not be resolved by the required component.
-		 * An empty collection indicates that it is compatible.
-		 * 
-		 * @return unresolved references, possibly empty
-		 */
-		public IReference[] getUnresolvedReferences() {
-			return fUnresolved;
-		}
-	}
-
-	/**
-	 * Collects search criteria from an API description for usage problems.
-	 */
-	class UsageVisitor extends ApiDescriptionVisitor {
-		
-		/**
-		 * Maps search criteria to associated problem descriptors.
-		 */
-		private List fConditions;
-		
-		/**
-		 * Identifier of component elements are being searched for in
-		 */
-		private String fOwningComponentId;
-		
-		/**
-		 * @param conditions list to add conditions to
-		 */
-		UsageVisitor() {
-			fConditions = new ArrayList();
-		}
-		
-		/**
-		 * Sets the owning component (i.e. component of description being visited).
-		 * 
-		 * @param id
-		 */
-		void setOwningComponentId(String id) {
-			fOwningComponentId = id;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.pde.api.tools.ApiDescriptionVisitor#visitElement(org.eclipse.pde.api.tools.descriptors.IElementDescriptor, java.lang.String, org.eclipse.pde.api.tools.IApiAnnotations)
-		 */
-		public boolean visitElement(IElementDescriptor element, String componentContext, IApiAnnotations description) {
-			int mask = description.getRestrictions();
-			if (!RestrictionModifiers.isUnrestricted(mask)) {
-				// if there are restrictions, added to the search list
-				IElementDescriptor[] elements = new IElementDescriptor[]{element};
-				if (RestrictionModifiers.isExtendRestriction(mask)) {
-					if (element.getElementType() == IElementDescriptor.T_METHOD) {
-						add(ReferenceModifiers.REF_OVERRIDE, RestrictionModifiers.NO_EXTEND, elements, IApiProblem.ILLEGAL_OVERRIDE, IElementDescriptor.T_METHOD);
-					} else if (element.getElementType() == IElementDescriptor.T_REFERENCE_TYPE) {
-						add(ReferenceModifiers.REF_EXTENDS, RestrictionModifiers.NO_EXTEND, elements, IApiProblem.ILLEGAL_EXTEND, IElementDescriptor.T_REFERENCE_TYPE); 
-					}
-				}
-				if (RestrictionModifiers.isImplementRestriction(mask)) {
-					add(ReferenceModifiers.REF_IMPLEMENTS, RestrictionModifiers.NO_IMPLEMENT, elements, IApiProblem.ILLEGAL_IMPLEMENT, IElementDescriptor.T_REFERENCE_TYPE);
-				}
-				if (RestrictionModifiers.isInstantiateRestriction(mask)) {
-					add(ReferenceModifiers.REF_INSTANTIATE, RestrictionModifiers.NO_INSTANTIATE, elements, IApiProblem.ILLEGAL_INSTANTIATE, IElementDescriptor.T_REFERENCE_TYPE);
-				}
-				if (RestrictionModifiers.isReferenceRestriction(mask)) {
-					if (element.getElementType() == IElementDescriptor.T_METHOD) {
-						add(
-							ReferenceModifiers.REF_INTERFACEMETHOD | ReferenceModifiers.REF_SPECIALMETHOD |
-							ReferenceModifiers.REF_STATICMETHOD | ReferenceModifiers.REF_VIRTUALMETHOD,
-							RestrictionModifiers.NO_REFERENCE, elements, IApiProblem.ILLEGAL_REFERENCE, IElementDescriptor.T_METHOD);
-						
-					} else if (element.getElementType() == IElementDescriptor.T_FIELD) {
-						add(
-							ReferenceModifiers.REF_GETFIELD | ReferenceModifiers.REF_GETSTATIC |
-							ReferenceModifiers.REF_PUTFIELD | ReferenceModifiers.REF_PUTSTATIC,
-							RestrictionModifiers.NO_REFERENCE, elements, IApiProblem.ILLEGAL_REFERENCE, IElementDescriptor.T_FIELD);
-					}
-				}
-			}
-			return true;
-		}
-		
-		private void add(int refKind, int restriction, IElementDescriptor[] elements, int problemKind, int elemenType) {
-			IApiSearchCriteria condition = Factory.newSearchCriteria();
-			condition.addReferencedElementRestriction(fOwningComponentId, elements);
-			condition.setReferenceKinds(refKind);
-			condition.setReferencedRestrictions(VisibilityModifiers.ALL_VISIBILITIES, restriction);
-			condition.setUserData(new ProblemDescriptor(problemKind, elemenType));
-			fConditions.add(condition);
-		}
-		
-		/**
-		 * Returns search criteria with associated problem descriptions as user data
-		 * 
-		 * @return search criteria
-		 */
-		List getConditions() {
-			return fConditions;
-		}
-		
-	}	
-	
-	/**
-	 * Describes a kind of problem associated with a search criteria.
-	 */
-	class ProblemDescriptor {
-		private int fKind;
-		private int fElementType;
-		private int fFlags;
-		
-		ProblemDescriptor(int kind, int elementType) {
-			this(kind, elementType, IApiProblem.NO_FLAGS);
-		}
-		
-		ProblemDescriptor(int kind, int elementType, int flags) {
-			fKind = kind;
-			fElementType = elementType;
-			fFlags = flags;
-		}
-		
-		public int getKind() {
-			return fKind;
-		}
-		
-		public int getElementType() {
-			return fElementType;
-		}
-		
-		public int getFlags() {
-			return fFlags;
-		}
-	}
-	
-	/**
-	 * Empty reference collection
-	 */
-	private static final IApiProblem[] EMPTY = new IApiProblem[0];
-	
-	/**
-	 * Debugging flag
-	 */
-	private static final boolean DEBUG = Util.DEBUG;
-	
-	/**
-	 * Searches the specified scope within the the specified component and returns
-	 * reference objects identify illegal API use.
-	 * 
-	 * @param profile profile being analyzed
-	 * @param component component being analyzed
-	 * @param scope scope within the component to analyze
-	 * @param monitor progress monitor
-	 * @exception CoreException if something goes wrong
-	 */
-	public IApiProblem[] findIllegalApiUse(IApiProfile profile, IApiComponent component, IApiSearchScope scope, IProgressMonitor monitor)  throws CoreException {
-		IApiSearchCriteria[] conditions = buildSearchConditions(profile, component);
-		List problems = new ArrayList();
-		if (conditions.length > 0) {
-			IApiSearchEngine engine = Factory.newSearchEngine();
-			IApiSearchResult[] results = engine.search(scope, conditions, monitor);
-			IApiProblem problem = null;
-			IReference[] references = null;
-			ProblemDescriptor desc = null;
-			for (int i = 0; i < results.length; i++) {
-				references = results[i].getReferences();
-				desc = (ProblemDescriptor) results[i].getSearchCriteria().getUserData();
-				for (int j = 0; j < references.length; j++) {
-					problem = createProblem(desc.getKind(), desc.getElementType(), desc.getFlags(), references[j]);
-					if (problem != null) {
-						problems.add(problem);
-					}
-				}
-			}
-			return (IApiProblem[]) problems.toArray(new IApiProblem[problems.size()]);
-		}
-		return EMPTY;
-	}
-	
-	/**
-	 * Creates an API problem of the given type for the specified element type and
-	 * reference that exhibits the problem.
-	 * 
-	 * @param kind problem kind
-	 * @param elementType element type where the problem occurs
-	 * @param reference the reference that is a problem
-	 * @return API problem
-	 */
-	private IApiProblem createProblem(int kind, int elementType, int flags, IReference reference) {
-		IApiComponent component = reference.getSourceLocation().getApiComponent();
-		if (component instanceof PluginProjectApiComponent) {
-			PluginProjectApiComponent ppac = (PluginProjectApiComponent) component;
-			IJavaProject project = ppac.getJavaProject();
-			return createUsageProblem(kind, elementType, flags, reference, project);
-		} else {
-			return createUsageProblem(kind, elementType, flags, reference);
-		}
-	}
-	
-	/**
-	 * Returns all references in the given search results.
-	 * 
-	 * TODO: this method will be deleted
-	 * 
-	 * @param results
-	 * @return
-	 * @deprecated to be deleted, and the analyzer will return IApiProblems instead
-	 */
-	private IReference[] getReferences(IApiSearchResult[] results) {
-		if (results.length == 1) {
-			return results[0].getReferences();
-		}
-		if (results.length == 0) {
-			return new IReference[0];
-		}
-		int size = 0;
-		for (int i = 0; i < results.length; i++) {
-			IApiSearchResult result = results[i];
-			size += result.getReferences().length;
-		}
-		IReference[] refs = new IReference[size];
-		int index = 0;
-		for (int i = 0; i < results.length; i++) {
-			IApiSearchResult result = results[i];
-			IReference[] references = result.getReferences();
-			System.arraycopy(references, 0, refs, index, references.length);
-			index = index + references.length;
-		}
-		return refs;
-	}
-	
-	/**
-	 * Build and return search conditions for API usage in all prerequisite components for
-	 * the given component and its profile.
-	 * 
-	 * @param profile
-	 * @param component component to analyze for API use problems
-	 * @return search conditions
-	 */
-	private IApiSearchCriteria[] buildSearchConditions(IApiProfile profile, IApiComponent component) {
-		long start = System.currentTimeMillis();
-		IApiComponent[] components = profile.getPrerequisiteComponents(new IApiComponent[]{component});
-		UsageVisitor visitor = new UsageVisitor();
-		for (int i = 0; i < components.length; i++) {
-			IApiComponent prereq = components[i];
-			if (!prereq.equals(component)) {
-				visitor.setOwningComponentId(prereq.getId());
-				try {
-					prereq.getApiDescription().accept(visitor);
-				} catch (CoreException e) {
-					ApiPlugin.log(e.getStatus());
-				}
-			}
-		}
-		long end = System.currentTimeMillis();
-		if (DEBUG) {
-			System.out.println("Time to build search conditions: " + (end-start) + "ms");  //$NON-NLS-1$//$NON-NLS-2$
-		}
-		// Add API leak conditions
-		List conditions = visitor.getConditions();
-		addLeakCondition(conditions, ReferenceModifiers.REF_EXTENDS, IApiProblem.API_LEAK, IElementDescriptor.T_REFERENCE_TYPE, IApiProblem.LEAK_EXTENDS);
-		addLeakCondition(conditions, ReferenceModifiers.REF_IMPLEMENTS, IApiProblem.API_LEAK, IElementDescriptor.T_REFERENCE_TYPE, IApiProblem.LEAK_IMPLEMENTS);
-		addLeakCondition(conditions, ReferenceModifiers.REF_FIELDDECL, IApiProblem.API_LEAK, IElementDescriptor.T_FIELD, IApiProblem.LEAK_FIELD);
-		addLeakCondition(conditions, ReferenceModifiers.REF_PARAMETER, IApiProblem.API_LEAK, IElementDescriptor.T_METHOD, IApiProblem.LEAK_METHOD_PARAMETER);
-		addLeakCondition(conditions, ReferenceModifiers.REF_RETURNTYPE, IApiProblem.API_LEAK, IElementDescriptor.T_METHOD, IApiProblem.LEAK_RETURN_TYPE);
-		return (IApiSearchCriteria[]) conditions.toArray(new IApiSearchCriteria[conditions.size()]);
-	}
-	
-	/**
-	 * Creates a new {@link IApiSearchCriteria} for a leak kind and adds it to the 
-	 * collector specified
-	 * @param conditions
-	 * @param refKind
-	 * @param problemKind
-	 * @param elementType
-	 * @param flags
-	 */
-	private void addLeakCondition(List conditions, int refKind, int problemKind, int elementType, int flags) {
-		IApiSearchCriteria criteria = Factory.newSearchCriteria();
-		criteria.setReferenceKinds(refKind);
-		criteria.setReferencedRestrictions(VisibilityModifiers.PRIVATE, RestrictionModifiers.ALL_RESTRICTIONS);
-		criteria.setSourceRestrictions(VisibilityModifiers.API, RestrictionModifiers.ALL_RESTRICTIONS);
-		criteria.setSourceModifiers(Flags.AccPublic | Flags.AccProtected);	
-		criteria.setUserData(new ProblemDescriptor(problemKind, elementType, flags));
-		conditions.add(criteria);
-	}
-	
-	/**
-	 * Analyzes the given required API component for compatibility with the specified components
-	 * in other profiles.
-	 * 
-	 * @param component the component being analyzed for compatibility with required components
-	 * 	in other profiles.
-	 * @param requiredComponents a collection of a collection of required components to analyze
-	 * @param monitor
-	 * @return results of analysis or null if canceled
-	 * @throws CoreException
-	 */
-	public CompatibilityResult[] analyzeCompatibility(IApiComponent component, IApiComponent[] requiredComponents, IProgressMonitor monitor) throws CoreException {
-		Set reqComponentIds = new HashSet();
-		for (int i = 0; i < requiredComponents.length; i++) {
-			reqComponentIds.add(requiredComponents[i].getId());
-		}
-		CompatibilityResult[] results = new CompatibilityResult[requiredComponents.length];
-		//extracting references take half the time
-		int weight = requiredComponents.length / 2;
-		if (weight == 0) {
-			weight = 1;
-		}
-		SubMonitor localMonitor = SubMonitor.convert(monitor, BuilderMessages.Compatibility_Analysis, requiredComponents.length + weight);
-		// extract all references by component
-		Map referencesById = findAllReferences(component, (String[])reqComponentIds.toArray(new String[reqComponentIds.size()]), localMonitor.newChild(weight, SubMonitor.SUPPRESS_ALL_LABELS));
-		if (localMonitor.isCanceled()) {
-			return null;
-		}
-		for (int i = 0; i < requiredComponents.length; i++) {
-			if (localMonitor.isCanceled()) {
-				return null;
-			}
-			IApiComponent reqComponent = requiredComponents[i];
-			String id = reqComponent.getId();
-			localMonitor.subTask(MessageFormat.format(BuilderMessages.Analyzing_0_1, new String[]{id, reqComponent.getVersion()}));
-			List references = (List) referencesById.get(id);
-			if (references != null) { 
-				IApiComponent sourceComponent = reqComponent.getProfile().getApiComponent(component.getId());
-				// recreate unresolved references to re-resolve
-				IReference[] unresolved = new IReference[references.size()];
-				Iterator iterator = references.iterator();
-				int index = 0;
-				// TODO: there is an issue when a new required plug-in is introduced, as references won't be resolved
-				// in the "old profile" that does not have the required plug-in
-				// TODO: there is an issue with new packages introduced in the base plug-in, as they cannot be resolved
-				// in the "old profile"
-				while (iterator.hasNext()) {
-					IReference reference = (IReference) iterator.next();
-					ILocation source = new Location(sourceComponent, reference.getSourceLocation().getMember());
-					source.setLineNumber(reference.getSourceLocation().getLineNumber());
-					ILocation target = new Location(reqComponent, reference.getReferencedLocation().getMember());
-					unresolved[index++] = new Reference(source, target, reference.getReferenceKind());
-				}				
-				Factory.newSearchEngine().resolveReferences(unresolved, localMonitor.newChild(1, SubMonitor.SUPPRESS_ALL_LABELS));
-				// collect unresolved references
-				List missing = new ArrayList();
-				for (int j = 0; j < unresolved.length; j++) {
-					IReference reference = unresolved[j];
-					if (reference.getResolvedLocation() == null) {
-						missing.add(reference);
-					}
-				}
-				results[i] = new CompatibilityResult(reqComponent, (IReference[]) missing.toArray(new IReference[missing.size()]));
-			} else {
-				// no references... compatible
-				results[i] = new CompatibilityResult(reqComponent, new IReference[0]);
-				localMonitor.worked(1);
-			}
-		}
-		localMonitor.done();
-		monitor.done();
-		return results;
-	}
-	
-	/**
-	 * Extracts and returns all references that 'from' makes to 'IDs', in a map keyed by ID.
-	 * 
-	 * @param from component references are extracted from
-	 * @param ids component IDs references are to
-	 * @return map of <String> -> <IReference[]>
-	 * @throws CoreException 
-	 */
-	private Map findAllReferences(IApiComponent from, String[] ids, IProgressMonitor monitor) throws CoreException {
-		IApiSearchEngine engine = Factory.newSearchEngine();
-		IApiSearchCriteria criteria = Factory.newSearchCriteria();
-		for (int i = 0; i < ids.length; i++) {
-			criteria.addReferencedComponentRestriction(ids[i]);
-		}
-		criteria.setReferenceKinds(ReferenceModifiers.MASK_REF_ALL);
-		criteria.setReferencedRestrictions(VisibilityModifiers.ALL_VISIBILITIES, RestrictionModifiers.ALL_RESTRICTIONS);
-		IReference[] all = getReferences(engine.search(Factory.newScope(new IApiComponent[]{from}), new IApiSearchCriteria[]{criteria}, monitor));
-		Map map = new HashMap(ids.length);
-		for (int i = 0; i < all.length; i++) {
-			IReference reference = all[i];
-			ILocation location = reference.getResolvedLocation();
-			if (location != null) {
-				IApiComponent component = location.getApiComponent();
-				List list = (List) map.get(component.getId());
-				if (list == null) {
-					list = new LinkedList();
-					map.put(component.getId(), list);
-				}
-				list.add(reference);
-			}
-		}
-		return map;
-	}
-	
-	/**
-	 * Creates an {@link IApiProblem} for the given illegal reference.
-	 * 
-	 * @param reference illegal reference
-	 * @param project project the compilation unit is in
-	 * @return a new {@link IApiProblem} or <code>null</code>
-	 */
-	private IApiProblem createUsageProblem(int kind, int elementType, int flags, IReference reference, IJavaProject project) {
-		try {
-			ILocation location = reference.getSourceLocation();
-			IReferenceTypeDescriptor refType = location.getType();
-			String lookupName = null;
-			if (refType.getEnclosingType() == null) {
-				lookupName = refType.getQualifiedName();
-			} else {
-				lookupName = refType.getQualifiedName().replace('$', '.');
-			}
-			IType type = project.findType(lookupName);
-			if (type == null) {
-				return null;
-			}
-			ICompilationUnit compilationUnit = type.getCompilationUnit();
-			if (compilationUnit == null) {
-				return null;
-			}
-			IResource resource = compilationUnit.getCorrespondingResource();
-			if (resource == null) {
-				return null;
-			}
-			IDocument document = Util.getDocument(compilationUnit);
-			// retrieve line number, char start and char end
-			int lineNumber = location.getLineNumber();
-			int charStart = -1;
-			int charEnd = -1;
-			
-			String prefKey = null;
-			ILocation resolvedLocation = reference.getResolvedLocation();
-			String qualifiedTypeName = resolvedLocation.getType().getQualifiedName();
-			IMemberDescriptor member = resolvedLocation.getMember();
-			String[] messageargs = null;
-			try {
-				switch(kind) {
-					case IApiProblem.ILLEGAL_IMPLEMENT : {
-						prefKey = IApiProblemTypes.ILLEGAL_IMPLEMENT;
-						messageargs = new String[] {qualifiedTypeName};
-						// report error on the type
-						ISourceRange range = type.getNameRange();
-						charStart = range.getOffset();
-						charEnd = charStart + range.getLength();
-						lineNumber = document.getLineOfOffset(charStart);
-						break;
-					}
-					case IApiProblem.ILLEGAL_EXTEND : {
-						prefKey = IApiProblemTypes.ILLEGAL_EXTEND;
-						messageargs = new String[] {qualifiedTypeName};
-						// report error on the type
-						ISourceRange range = type.getNameRange();
-						charStart = range.getOffset();
-						charEnd = charStart + range.getLength();
-						lineNumber = document.getLineOfOffset(charStart);
-						break;
-					}
-					case IApiProblem.ILLEGAL_INSTANTIATE : {
-						prefKey = IApiProblemTypes.ILLEGAL_INSTANTIATE;
-						messageargs = new String[] {qualifiedTypeName};
-						int linenumber = (lineNumber == 0 ? 0 : lineNumber -1);
-						IReferenceTypeDescriptor typeDesc = (IReferenceTypeDescriptor) member;
-						int offset = document.getLineOffset(linenumber);
-						String line = document.get(offset, document.getLineLength(linenumber));
-						String qname = typeDesc.getQualifiedName();
-						int first = line.indexOf(qname);
-						if(first < 0) {
-							qname = typeDesc.getName();
-							first = line.indexOf(qname);
-						}
-						if(first > -1) {
-							charStart = offset + first;
-							charEnd = charStart + qname.length();
-						}
-						//TODO support the call to 'super'
-						break;
-					}
-					case IApiProblem.ILLEGAL_OVERRIDE : {
-						IMethodDescriptor method = (IMethodDescriptor) member;
-						prefKey = IApiProblemTypes.ILLEGAL_OVERRIDE;
-						messageargs = new String[] {method.getEnclosingType().getQualifiedName(), Signature.toString(method.getSignature(), method.getName(), null, false, false)};
-						// report the marker on the method
-						String[] parameterTypes = Signature.getParameterTypes(method.getSignature());
-						for (int i = 0; i < parameterTypes.length; i++) {
-							parameterTypes[i] = parameterTypes[i].replace('/', '.');
-						}
-						IMethod Qmethod = type.getMethod(method.getName(), parameterTypes);
-						IMethod[] methods = type.getMethods();
-						IMethod match = null;
-						for (int i = 0; i < methods.length; i++) {
-							IMethod m = methods[i];
-							if (m.isSimilar(Qmethod)) {
-								match = m;
-								break;
-							}
-						}
-						if (match != null) {
-							ISourceRange range = match.getNameRange();
-							charStart = range.getOffset();
-							charEnd = charStart + range.getLength();
-							lineNumber = document.getLineOfOffset(charStart);
-						}					
-						break;
-					}
-					case IApiProblem.ILLEGAL_REFERENCE: {
-						prefKey = IApiProblemTypes.ILLEGAL_REFERENCE;
-						switch (elementType) {
-							case IElementDescriptor.T_METHOD: {
-								IMethodDescriptor method = (IMethodDescriptor) member;							
-								messageargs = new String[] {method.getEnclosingType().getQualifiedName(), Signature.toString(method.getSignature(), method.getName(), null, false, false)};
-								int linenumber = (lineNumber == 0 ? 0 : lineNumber -1);
-								int offset = document.getLineOffset(linenumber);
-								String line = document.get(offset, document.getLineLength(linenumber));
-								String name = method.getName();
-								int first = line.indexOf(name);
-								if(first > -1) {
-									charStart = offset + first;
-									charEnd = charStart + name.length();
-								}							
-								break;
-							}
-							case IElementDescriptor.T_FIELD: {
-								IFieldDescriptor field = (IFieldDescriptor) member;
-								messageargs = new String[] {field.getEnclosingType().getQualifiedName(), field.getName()};
-								String name = field.getName();
-								int linenumber = (lineNumber == 0 ? 0 : lineNumber -1);
-								int offset = document.getLineOffset(linenumber);
-								String line = document.get(offset, document.getLineLength(linenumber));
-								IReferenceTypeDescriptor parent = field.getEnclosingType();
-								String qname = parent.getQualifiedName()+"."+name; //$NON-NLS-1$
-								int first = line.indexOf(qname);
-								if(first < 0) {
-									qname = parent.getName()+"."+name; //$NON-NLS-1$
-									first = line.indexOf(qname);
-								}
-								if(first < 0) {
-									qname = "super."+name; //$NON-NLS-1$
-									first = line.indexOf(qname);
-								}
-								if(first < 0) {
-									qname = "this."+name; //$NON-NLS-1$
-									first = line.indexOf(qname);
-								}
-								if(first > -1) {
-									charStart = offset + first;
-									charEnd = charStart + qname.length();
-								}
-								else {
-									//optimistically select the whole line since we can't find the correct variable name and we can't just select
-									//the first occurrence 
-									charStart = offset;
-									charEnd = offset + line.length();
-								}							
-								break;
-							}
-						}
-						
-						break;
-					}
-					case IApiProblem.API_LEAK: {
-						prefKey = IApiProblemTypes.API_LEAK;
-						messageargs = new String[] {qualifiedTypeName};
-						switch (flags) {
-							case IApiProblem.LEAK_EXTENDS:
-							case IApiProblem.LEAK_IMPLEMENTS: {
-								// report error on the type
-								ISourceRange range = type.getNameRange();
-								charStart = range.getOffset();
-								charEnd = charStart + range.getLength();
-								lineNumber = document.getLineOfOffset(charStart);
-								break;
-							}
-							case IApiProblem.LEAK_FIELD: {
-								IFieldDescriptor field = (IFieldDescriptor) reference.getSourceLocation().getMember();
-								if ((Flags.AccProtected & field.getModifiers()) > 0) {
-									// ignore protected members if contained in a @noextend type
-									IApiDescription description = reference.getSourceLocation().getApiComponent().getApiDescription();
-									IApiAnnotations annotations = description.resolveAnnotations(null, field.getEnclosingType());
-									if (RestrictionModifiers.isExtendRestriction(annotations.getRestrictions())) {
-										// ignore
-										return null;
-									}
-								}
-								IField javaField = type.getField(field.getName());
-								if (javaField.exists()) {
-									ISourceRange range = javaField.getNameRange();
-									charStart = range.getOffset();
-									charEnd = charStart + range.getLength();
-									lineNumber = document.getLineOfOffset(charStart);
-								}
-								break;
-							}
-							case IApiProblem.LEAK_METHOD_PARAMETER:
-							case IApiProblem.LEAK_RETURN_TYPE: {
-								IMethodDescriptor method = (IMethodDescriptor) reference.getSourceLocation().getMember();
-								if ((Flags.AccProtected & method.getModifiers()) > 0) {
-									// ignore protected members if contained in a @noextend type
-									IApiDescription description = reference.getSourceLocation().getApiComponent().getApiDescription();
-									IApiAnnotations annotations = description.resolveAnnotations(null, method.getEnclosingType());
-									if (RestrictionModifiers.isExtendRestriction(annotations.getRestrictions())) {
-										// ignore
-										return null;
-									}
-								}								
-								// report the marker on the method
-								// TODO: can we just lookup the method with resolved signature?
-								String[] parameterTypes = Signature.getParameterTypes(method.getSignature());
-								for (int i = 0; i < parameterTypes.length; i++) {
-									parameterTypes[i] = parameterTypes[i].replace('/', '.');
-								}
-								IMethod Qmethod = type.getMethod(method.getName(), parameterTypes);
-								IMethod[] methods = type.getMethods();
-								IMethod match = null;
-								for (int i = 0; i < methods.length; i++) {
-									IMethod m = methods[i];
-									if (m.isSimilar(Qmethod)) {
-										match = m;
-										break;
-									}
-								}
-								if (match != null) {
-									ISourceRange range = match.getNameRange();
-									charStart = range.getOffset();
-									charEnd = charStart + range.getLength();
-									lineNumber = document.getLineOfOffset(charStart);
-								}										
-								break;
-							}
-						}
-						break;
-					}
-				} 
-			} catch (BadLocationException e) {
-				ApiPlugin.log(e);
-			}
-			if (ApiPlugin.getDefault().getSeverityLevel(prefKey, project.getProject()) == ApiPlugin.SEVERITY_IGNORE) {
-				return null;
-			}
-			IJavaElement element = compilationUnit;
-			if(charStart > -1) {
-				element = compilationUnit.getElementAt(charStart);
-			}
-			return ApiProblemFactory.newApiUsageProblem(resource.getProjectRelativePath().toPortableString(), 
-					messageargs, 
-					new String[] {IApiMarkerConstants.MARKER_ATTR_HANDLE_ID, IApiMarkerConstants.API_MARKER_ATTR_ID}, 
-					new Object[] {(element == null ? compilationUnit.getHandleIdentifier() : element.getHandleIdentifier()),
-								   new Integer(IApiMarkerConstants.API_USAGE_MARKER_ID)}, 
-					lineNumber, 
-					charStart, 
-					charEnd, 
-					elementType, 
-					kind,
-					flags);
-		} catch (CoreException e) {
-			ApiPlugin.log(e);
-		}
-		return null;
-	}
-	
-	/**
-	 * Creates an {@link IApiProblem} for the given illegal reference.
-	 * 
-	 * @param reference illegal reference
-	 * @return a new {@link IApiProblem} or <code>null</code>
-	 */
-	private IApiProblem createUsageProblem(int kind, int elementType, int flags, IReference reference) {
-		ILocation location = reference.getSourceLocation();
-		IReferenceTypeDescriptor refType = location.getType();
-		int lineNumber = location.getLineNumber();			
-		ILocation resolvedLocation = reference.getResolvedLocation();
-		String qualifiedTypeName = resolvedLocation.getType().getQualifiedName();
-		IMemberDescriptor member = resolvedLocation.getMember();
-		String[] messageargs = null;
-		switch(kind) {
-			case IApiProblem.ILLEGAL_IMPLEMENT : {
-				messageargs = new String[] {qualifiedTypeName};
-				break;
-			}
-			case IApiProblem.ILLEGAL_EXTEND : {
-				messageargs = new String[] {qualifiedTypeName};
-				break;
-			}
-			case IApiProblem.ILLEGAL_INSTANTIATE : {
-				messageargs = new String[] {qualifiedTypeName};
-				break;
-			}
-			case IApiProblem.ILLEGAL_OVERRIDE : {
-				IMethodDescriptor method = (IMethodDescriptor) member;
-				messageargs = new String[] {method.getEnclosingType().getQualifiedName(), Signature.toString(method.getSignature(), method.getName(), null, false, false)};
-				break;
-			}
-			case IApiProblem.ILLEGAL_REFERENCE: {
-				switch (elementType) {
-					case IElementDescriptor.T_METHOD: {
-						IMethodDescriptor method = (IMethodDescriptor) member;							
-						messageargs = new String[] {method.getEnclosingType().getQualifiedName(), Signature.toString(method.getSignature(), method.getName(), null, false, false)};
-						break;
-					}
-					case IElementDescriptor.T_FIELD: {
-						IFieldDescriptor field = (IFieldDescriptor) member;
-						messageargs = new String[] {field.getEnclosingType().getQualifiedName(), field.getName()};
-						break;
-					}
-				}						
-				break;
-			}
-			case IApiProblem.API_LEAK: {
-				messageargs = new String[] {qualifiedTypeName};
-				try {
-					switch (flags) {
-						case IApiProblem.LEAK_FIELD: {
-							IFieldDescriptor field = (IFieldDescriptor) reference.getSourceLocation().getMember();
-							if ((Flags.AccProtected & field.getModifiers()) > 0) {
-								// ignore protected members if contained in a @noextend type
-								IApiDescription description = reference.getSourceLocation().getApiComponent().getApiDescription();
-								IApiAnnotations annotations = description.resolveAnnotations(null, field.getEnclosingType());
-								if (RestrictionModifiers.isExtendRestriction(annotations.getRestrictions())) {
-									// ignore
-									return null;
-								}
-							}
-							break;
-						}
-						case IApiProblem.LEAK_METHOD_PARAMETER:
-						case IApiProblem.LEAK_RETURN_TYPE: {
-							IMethodDescriptor method = (IMethodDescriptor) reference.getSourceLocation().getMember();
-							if ((Flags.AccProtected & method.getModifiers()) > 0) {
-								// ignore protected members if contained in a @noextend type
-								IApiDescription description = reference.getSourceLocation().getApiComponent().getApiDescription();
-								IApiAnnotations annotations = description.resolveAnnotations(null, method.getEnclosingType());
-								if (RestrictionModifiers.isExtendRestriction(annotations.getRestrictions())) {
-									// ignore
-									return null;
-								}
-							}								
-							break;
-						}
-					}				
-				} catch (CoreException e) {
-					// unable to retrieve API description
-					ApiPlugin.log(e.getStatus());
-				}
-				break;
-			}
-		} 
-		return ApiProblemFactory.newApiUsageProblem(refType.getQualifiedName(), 
-				messageargs, 
-				new String[] {IApiMarkerConstants.API_MARKER_ATTR_ID}, 
-				new Object[] {new Integer(IApiMarkerConstants.API_USAGE_MARKER_ID)}, 
-				lineNumber, 
-				-1, 
-				-1,
-				elementType, 
-				kind,
-				flags);
-	}	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/BuilderMessages.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/BuilderMessages.java
deleted file mode 100644
index 6ddb32f..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/BuilderMessages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.builder;
-
-import org.eclipse.osgi.util.NLS;
-
-public class BuilderMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.pde.api.tools.internal.builder.buildermessages"; //$NON-NLS-1$
-	public static String api_analysis_builder;
-	public static String api_analysis_on_0;
-	public static String building_workspace_profile;
-	public static String checking_binary_compat;
-	public static String checking_api_usage;
-
-	public static String ApiProblemFactory_problem_message_not_found;
-	public static String Compatibility_Analysis;
-	public static String Analyzing_0_1;
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, BuilderMessages.class);
-	}
-
-	private BuilderMessages() {
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/SinceTagChecker.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/SinceTagChecker.java
deleted file mode 100644
index 182f38e..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/SinceTagChecker.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.builder;
-
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.ASTVisitor;
-import org.eclipse.jdt.core.dom.AbstractTypeDeclaration;
-import org.eclipse.jdt.core.dom.AnnotationTypeDeclaration;
-import org.eclipse.jdt.core.dom.AnnotationTypeMemberDeclaration;
-import org.eclipse.jdt.core.dom.BlockComment;
-import org.eclipse.jdt.core.dom.BodyDeclaration;
-import org.eclipse.jdt.core.dom.Comment;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.EnumConstantDeclaration;
-import org.eclipse.jdt.core.dom.EnumDeclaration;
-import org.eclipse.jdt.core.dom.FieldDeclaration;
-import org.eclipse.jdt.core.dom.Initializer;
-import org.eclipse.jdt.core.dom.Javadoc;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jdt.core.dom.TagElement;
-import org.eclipse.jdt.core.dom.TextElement;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jdt.core.dom.VariableDeclarationFragment;
-
-/**
- * An AST visitor used to find missing or incorrect @since tags
- * 
- * @since 1.0.0
- */
-public class SinceTagChecker extends ASTVisitor {
-	
-	private static final int ABORT = 0x01;
-	private static final int MISSING = 0x02;
-	private static final int HAS_JAVA_DOC = 0x04;
-	private static final int HAS_NON_JAVA_DOC = 0x08;
-	private static final int HAS_NO_COMMENT  = 0x10;
-
-	private int nameStart;
-	int bits;
-	private String sinceVersion;
-	private CompilationUnit fCompilationUnit;
-
-	/**
-	 * Constructor
-	 * @param nameStart
-	 */
-	public SinceTagChecker(int nameStart) {
-		this.nameStart = nameStart;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.CompilationUnit)
-	 */
-	public boolean visit(CompilationUnit compilationUnit) {
-		this.fCompilationUnit = compilationUnit;
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.VariableDeclarationFragment)
-	 */
-	public boolean visit(VariableDeclarationFragment node) {
-		if ((this.bits & ABORT) != 0) return false;
-		if (node.getName().getStartPosition() == this.nameStart) {
-			this.bits |= ABORT;
-			ASTNode parent = node.getParent();
-			if (parent.getNodeType() == ASTNode.FIELD_DECLARATION) {
-				FieldDeclaration fieldDeclaration = (FieldDeclaration) parent;
-				processJavadoc(fieldDeclaration);
-			}
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.EnumDeclaration)
-	 */
-	public boolean visit(EnumDeclaration node) {
-		return visitAbstractTypeDeclaration(node);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.TypeDeclaration)
-	 */
-	public boolean visit(TypeDeclaration node) {
-		return visitAbstractTypeDeclaration(node);
-	}
-
-	/**
-	 * @param declaration
-	 * @return
-	 */
-	private boolean visitAbstractTypeDeclaration(AbstractTypeDeclaration declaration) {
-		if ((this.bits & ABORT) != 0) {
-			return false;
-		}
-		if (declaration.getName().getStartPosition() == this.nameStart) {
-			this.bits |= ABORT;
-			processJavadoc(declaration);
-		}
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.AnnotationTypeDeclaration)
-	 */
-	public boolean visit(AnnotationTypeDeclaration node) {
-		return visitAbstractTypeDeclaration(node);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.MethodDeclaration)
-	 */
-	public boolean visit(MethodDeclaration node) {
-		if ((this.bits & ABORT) != 0) {
-			return false;
-		}
-		if (node.getName().getStartPosition() == this.nameStart) {
-			this.bits |= ABORT;
-			processJavadoc(node);
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.AnnotationTypeMemberDeclaration)
-	 */
-	public boolean visit(AnnotationTypeMemberDeclaration node) {
-		if ((this.bits & ABORT) != 0) {
-			return false;
-		}
-		if (node.getName().getStartPosition() == this.nameStart) {
-			this.bits |= ABORT;
-			processJavadoc(node);
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.Initializer)
-	 */
-	public boolean visit(Initializer node) {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.EnumConstantDeclaration)
-	 */
-	public boolean visit(EnumConstantDeclaration node) {
-		if ((this.bits & ABORT) != 0) {
-			return false;
-		}
-		if (node.getName().getStartPosition() == this.nameStart) {
-			this.bits |= ABORT;
-			processJavadoc(node);
-		}
-		return false;
-	}
-	
-	/**
-	 * Processes a javadoc tag
-	 * @param bodyDeclaration
-	 */
-	private void processJavadoc(BodyDeclaration bodyDeclaration) {
-		Javadoc javadoc = bodyDeclaration.getJavadoc();
-		boolean found = false;
-		if (javadoc != null) {
-			this.bits |= HAS_JAVA_DOC;
-			List tags = javadoc.tags();
-			for (Iterator iterator = tags.iterator(); iterator.hasNext();) {
-				TagElement element = (TagElement) iterator.next();
-				String tagName = element.getTagName();
-				if (TagElement.TAG_SINCE.equals(tagName)) {
-					// @since is present
-					// check if valid
-					List fragments = element.fragments();
-					if (fragments.size() == 1) {
-						found = true;
-						ASTNode fragment = (ASTNode) fragments.get(0);
-						if (fragment.getNodeType() == ASTNode.TEXT_ELEMENT) {
-							this.sinceVersion = ((TextElement) fragment).getText();
-						}
-					}
-					break;
-				} else if (tagName == null) {
-					List fragments = element.fragments();
-					loop: for (Iterator iterator2 = fragments.iterator(); iterator2.hasNext(); ) {
-						ASTNode node = (ASTNode) iterator2.next();
-						if (node.getNodeType() == ASTNode.TAG_ELEMENT) {
-							TagElement tagElement = (TagElement) node;
-							if (TagElement.TAG_INHERITDOC.equals(tagElement.getTagName())) {
-								// we don't want to flag inherited doc comment
-								found = true;
-								break loop;
-							}
-						}
-					}
-				}
-			}
-			if (!found) {
-				this.bits |= MISSING;
-			}
-		} else if (this.fCompilationUnit != null) {
-			// we check if there is a block comment at the starting position of the body declaration
-			List commentList = this.fCompilationUnit.getCommentList();
-			if (commentList == null) {
-				this.bits |= HAS_NO_COMMENT;
-				return;
-			}
-			int extendedStartPosition = this.fCompilationUnit.getExtendedStartPosition(bodyDeclaration);
-			BlockComment newBlockComment = bodyDeclaration.getAST().newBlockComment();
-			newBlockComment.setSourceRange(extendedStartPosition, 1);
-			int result = Collections.binarySearch(commentList, newBlockComment, new Comparator() {
-				public int compare(Object o1, Object o2) {
-					Comment comment1 = (Comment) o1;
-					Comment comment2 = (Comment) o2;
-					return comment1.getStartPosition() - comment2.getStartPosition();
-				}
-			});
-			if (result > 0) {
-				this.bits |= HAS_NON_JAVA_DOC;
-			} else {
-				this.bits |= HAS_NO_COMMENT;
-			}
-		} else {
-			this.bits |= HAS_NO_COMMENT;
-		}
-	}
-	
-	/**
-	 * @return if the javadoc tag is missing
-	 */
-	public boolean isMissing() {
-		return (this.bits & MISSING) != 0;
-	}
-
-	/**
-	 * @return if there is no javadoc tag
-	 */
-	public boolean hasNoComment() {
-		return (this.bits & HAS_NO_COMMENT) != 0;
-	}
-
-	/**
-	 * @return if there already is a doc comment
-	 */
-	public boolean hasJavadocComment() {
-		return (this.bits & HAS_JAVA_DOC) != 0;
-	}
-
-	/**
-	 * @return the version the should be placed in the tag
-	 */
-	public String getSinceVersion() {
-		if (this.sinceVersion != null)
-			return this.sinceVersion.trim();
-		return null;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/buildermessages.properties b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/buildermessages.properties
deleted file mode 100644
index 2e696f3..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/buildermessages.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-api_analysis_builder=API Analysis Builder
-api_analysis_on_0=API Analysis on {0}
-building_workspace_profile=Building workspace API profile
-checking_binary_compat=Checking binary compatibility
-checking_api_usage=Checking API usage
-ApiProblemFactory_problem_message_not_found=Message not found for id: {0}
-Compatibility_Analysis=Compatibility Analysis
-Analyzing_0_1=Analyzing ''{0}'' [{1}]
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/ClassFileComparator.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/ClassFileComparator.java
deleted file mode 100644
index 1df2732..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/ClassFileComparator.java
+++ /dev/null
@@ -1,1246 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.comparator;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.objectweb.asm.signature.SignatureReader;
-
-/**
- * Compares class files from the workspace to those in the default {@link IApiProfile}
- * 
- * @since 1.0.0
- */
-public class ClassFileComparator {
-	/**
-	 * Constant used for controlling tracing in the class file comparator
-	 */
-	private static boolean DEBUG = Util.DEBUG;
-	
-	/**
-	 * Method used for initializing tracing in the class file comparator
-	 */
-	public static void setDebug(boolean debugValue) {
-		DEBUG = debugValue || Util.DEBUG;
-	}
-
-	private static boolean isCheckedException(IApiProfile profile, IApiComponent apiComponent, String exceptionName) {
-		if (profile == null) {
-			return true;
-		}
-		try {
-			String packageName = Util.getPackageName(exceptionName);
-			IClassFile classFile = Util.getClassFile(
-					profile.resolvePackage(apiComponent, packageName),
-					exceptionName);
-			if (classFile != null) {
-				// TODO should this be reported as a checked exception
-				byte[] contents = classFile.getContents();
-				TypeDescriptor typeDescriptor = new TypeDescriptor(contents);
-				while (!Util.isJavaLangObject(typeDescriptor.name)) {
-					String superName = typeDescriptor.superName;
-					packageName = Util.getPackageName(superName);
-					classFile = Util.getClassFile(
-							profile.resolvePackage(apiComponent, packageName),
-							superName);
-					if (classFile == null) {
-						// TODO should we report this failure ?
-						if (DEBUG) {
-							System.err.println("CHECKED EXCEPTION LOOKUP: Could not find " + superName + " in profile " + profile.getName() + " from component " + apiComponent.getId()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-						}
-						break;
-					}
-					typeDescriptor = new TypeDescriptor(classFile.getContents());
-					if (Util.isJavaLangRuntimeException(typeDescriptor.name)) {
-						return false;
-					}
-				}
-			}
-		} catch (CoreException e) {
-			// by default exception are considered as checked exception 
-			ApiPlugin.log(e);
-		}
-		return true;
-	}
-
-	IApiProfile apiState;
-	IApiProfile apiState2;
-
-	IClassFile classFile;
-	IClassFile classFile2;
-	
-	IApiComponent component;
-	IApiComponent component2;
-
-	Delta delta;
-	TypeDescriptor descriptor1;
-
-	TypeDescriptor descriptor2;
-	
-	int visibilityModifiers;
-
-	public ClassFileComparator(IClassFile classFile, IClassFile classFile2, IApiComponent component, IApiComponent component2, IApiProfile apiState, IApiProfile apiState2, int visibilityModifiers) {
-		try {
-			this.component = component;
-			this.component2 = component2;
-			this.descriptor1 = new TypeDescriptor(classFile.getContents());
-			this.descriptor2 = new TypeDescriptor(classFile2.getContents());
-			this.apiState = apiState;
-			this.apiState2 = apiState2;
-			this.classFile = classFile;
-			this.classFile2 = classFile2;
-			this.visibilityModifiers = visibilityModifiers;
-		} catch (CoreException e) {
-			ApiPlugin.log(e);
-		}
-	}
-
-	public ClassFileComparator(TypeDescriptor typeDescriptor, IClassFile classFile2, IApiComponent component, IApiComponent component2, IApiProfile apiState, IApiProfile apiState2, int visibilityModifiers) {
-		try {
-			this.component = component;
-			this.component2 = component2;
-			this.descriptor1 = typeDescriptor;
-			this.descriptor2 = new TypeDescriptor(classFile2.getContents());
-			this.apiState = apiState;
-			this.apiState2 = apiState2;
-			this.classFile = typeDescriptor.classFile;
-			this.classFile2 = classFile2;
-			this.visibilityModifiers = visibilityModifiers;
-		} catch (CoreException e) {
-			ApiPlugin.log(e);
-		}
-	}
-
-	void addDelta(
-			ElementDescriptor descriptor,
-			ElementDescriptor descriptor2,
-			int kind,
-			int flags,
-			int restrictions,
-			IClassFile classFile,
-			String key) {
-		addDelta(descriptor, descriptor2, kind, flags, restrictions, classFile, key, null);
-	}
-	void addDelta(
-			ElementDescriptor descriptor,
-			ElementDescriptor descriptor2,
-			int kind,
-			int flags,
-			int restrictions,
-			IClassFile classFile,
-			String key,
-			Object data) {
-		int actualFlags = flags;
-		switch(flags) {
-			case IDelta.METHOD :
-				if (descriptor2.getElementType() == IDelta.CONSTRUCTOR_ELEMENT_TYPE) {
-					actualFlags = IDelta.CONSTRUCTOR;
-				}
-		}
-		this.addDelta(descriptor.getElementType(), kind, actualFlags, restrictions, descriptor2.access, classFile, key, data);
-	}
-
-	void addDelta(
-			ElementDescriptor descriptor,
-			ElementDescriptor descriptor2,
-			int kind,
-			int flags,
-			IClassFile classFile,
-			String key,
-			Object data) {
-		this.addDelta(descriptor, descriptor2, kind, flags, RestrictionModifiers.NO_RESTRICTIONS, classFile, key, data);
-	}
-
-	void addDelta(
-			ElementDescriptor descriptor,
-			int kind,
-			int flags,
-			int restrictions,
-			IClassFile classFile,
-			String key,
-			Object data) {
-		this.addDelta(descriptor, descriptor2, kind, flags, restrictions, classFile, key, data);
-	}
-
-	void addDelta(
-			ElementDescriptor descriptor,
-			ElementDescriptor descriptor2,
-			int kind,
-			int flags,
-			IClassFile classFile,
-			String key) {
-		this.addDelta(descriptor, descriptor2, kind, flags, RestrictionModifiers.NO_RESTRICTIONS, classFile, key, null);
-	}
-
-	void addDelta(
-			ElementDescriptor descriptor,
-			int kind,
-			int flags,
-			IClassFile classFile,
-			String key) {
-		this.addDelta(descriptor, descriptor, kind, flags, RestrictionModifiers.NO_RESTRICTIONS, classFile, key, null);
-	}
-
-	void addDelta(
-			ElementDescriptor descriptor,
-			int kind,
-			int flags,
-			IClassFile classFile,
-			String key,
-			Object data) {
-		this.addDelta(descriptor, descriptor, kind, flags, RestrictionModifiers.NO_RESTRICTIONS, classFile, key, data);
-	}
-	
-	void addDelta(IDelta delta) {
-		this.delta.add(delta);
-	}
-
-	void addDelta(int elementType, int kind, int flags, int modifiers, IClassFile classFile, String key) {
-		this.addDelta(elementType, kind, flags, RestrictionModifiers.NO_RESTRICTIONS, modifiers, classFile, key, null);
-	}
-	
-	void addDelta(int elementType, int kind, int flags, int modifiers, IClassFile classFile, String key, Object data) {
-		this.addDelta(elementType, kind, flags, RestrictionModifiers.NO_RESTRICTIONS, modifiers, classFile, key, data);
-	}
-	
-	void addDelta(int elementType, int kind, int flags, int restrictions, int modifiers, IClassFile classFile, String key, Object data) {
-		this.delta.add(new Delta(elementType, kind, flags, restrictions, modifiers, classFile, key, data));
-	}
-	
-	private void checkSuperclass() {
-		// check superclass set
-		Set superclassSet1 = getSuperclassSet(this.descriptor1, this.component, this.apiState);
-		Set superclassSet2 = getSuperclassSet(this.descriptor2, this.component2, this.apiState2);
-		if (superclassSet1 == null) {
-			if (superclassSet2 != null) {
-				// this means the direct super class of descriptor1 is java.lang.Object
-				this.addDelta(this.descriptor1, IDelta.ADDED, IDelta.SUPERCLASS, this.classFile, this.descriptor1.name, this.descriptor1.name);
-				return;
-			}
-			// both types extends java.lang.Object
-			return;
-		}
-		if (superclassSet2 == null) {
-			// this means the direct super class of descriptor2 is java.lang.Object
-			this.addDelta(this.descriptor1, IDelta.CHANGED, IDelta.SUPERCLASS, this.classFile, this.descriptor1.name);
-			return;
-		}
-		for (Iterator iterator = superclassSet1.iterator(); iterator.hasNext();) {
-			TypeDescriptor superclassTypeDescriptor = (TypeDescriptor) iterator.next();
-			if (!superclassSet2.contains(superclassTypeDescriptor)) {
-				this.addDelta(this.descriptor1, IDelta.CHANGED, IDelta.CONTRACTED_SUPERCLASS_SET, this.classFile, this.descriptor1.name);
-				return;
-			}
-		}
-		if (superclassSet1.size() < superclassSet2.size()) {
-			this.addDelta(this.descriptor1, IDelta.CHANGED, IDelta.EXPANDED_SUPERCLASS_SET, this.classFile, this.descriptor1.name);
-		}
-		
-		// TODO check super class if they are not checked anyway
-		// case where an API type inherits from a non-API type that contains public methods/fields
-	}
-
-	private void checkSuperInterfaces() {
-		Set superinterfacesSet1 = getInterfacesSet(this.descriptor1, this.component, this.apiState);
-		Set superinterfacesSet2 = getInterfacesSet(this.descriptor2, this.component2, this.apiState2);
-
-		if (superinterfacesSet1 == null) {
-			if (superinterfacesSet2 != null) {
-				this.addDelta(this.descriptor1, IDelta.CHANGED, IDelta.EXPANDED_SUPERINTERFACES_SET, this.classFile, this.descriptor1.name);
-			}
-		} else if (superinterfacesSet2 == null) {
-			this.addDelta(this.descriptor1, IDelta.CHANGED, IDelta.CONTRACTED_SUPERINTERFACES_SET, this.classFile, this.descriptor1.name);
-		} else {
-			for (Iterator iterator = superinterfacesSet1.iterator(); iterator.hasNext();) {
-				TypeDescriptor superInterfaceTypeDescriptor = (TypeDescriptor) iterator.next();
-				if (!superinterfacesSet2.contains(superInterfaceTypeDescriptor)) {
-					this.addDelta(this.descriptor1, IDelta.CHANGED, IDelta.CONTRACTED_SUPERINTERFACES_SET, this.classFile, this.descriptor1.name);
-					return;
-				}
-			}
-			if (superinterfacesSet1.size() < superinterfacesSet2.size()) {
-				this.addDelta(this.descriptor1, IDelta.CHANGED, IDelta.EXPANDED_SUPERINTERFACES_SET, this.classFile, this.descriptor1.name);
-			}
-		}
-	}
-
-	private void checkTypeMembers() {
-		Set typeMembers = this.descriptor1.typeMembers;
-		Set typeMembers2 = this.descriptor2.typeMembers;
-		if (typeMembers != null) {
-			if (typeMembers2 == null) {
-				for (Iterator iterator = typeMembers.iterator(); iterator.hasNext();) {
-					MemberTypeDescriptor typeMember = (MemberTypeDescriptor ) iterator.next();
-					this.addDelta(this.descriptor1, typeMember, IDelta.REMOVED, IDelta.TYPE_MEMBER, this.classFile, typeMember.name, typeMember.name.replace('$', '.'));
-				}
-				return;
-			}
-			// check removed or added type members
-			List removedTypeMembers = new ArrayList();
-			for (Iterator iterator = typeMembers.iterator(); iterator.hasNext();) {
-				MemberTypeDescriptor typeMember = (MemberTypeDescriptor ) iterator.next();
-				String typeMemberName = ((IReferenceTypeDescriptor) typeMember.handle).getQualifiedName();
-				if (!typeMembers2.remove(typeMember)) {
-					removedTypeMembers.add(typeMember);
-				} else {
-					// check deltas inside the type member
-					try {
-						IClassFile memberType1 = this.component.findClassFile(typeMemberName);
-						IClassFile memberType2 = this.component2.findClassFile(typeMemberName);
-						ClassFileComparator comparator = new ClassFileComparator(memberType1, memberType2, this.component, this.component2, this.apiState, this.apiState2, this.visibilityModifiers);
-						IDelta delta2 = comparator.getDelta();
-						if (delta2 != null && delta2 != ApiComparator.NO_DELTA) {
-							this.addDelta(delta2);
-						}
-					} catch (CoreException e) {
-						ApiPlugin.log(e);
-					}
-				}
-			}
-			for (Iterator iterator = removedTypeMembers.iterator(); iterator.hasNext();) {
-				MemberTypeDescriptor typeMember = (MemberTypeDescriptor) iterator.next();
-				this.addDelta(this.descriptor1, typeMember, IDelta.REMOVED, IDelta.TYPE_MEMBER, this.classFile, typeMember.name, typeMember.name.replace('$', '.'));
-			}
-		}
-		if (typeMembers2 == null) return;
-		// report remaining types in type members2 as addition
-		int currentTypeApiRestrictions = this.getCurrentTypeApiRestrictions();
-		// Report delta as a breakage
-		for (Iterator iterator = typeMembers2.iterator(); iterator.hasNext();) {
-			MemberTypeDescriptor typeMember = (MemberTypeDescriptor) iterator.next();
-			this.addDelta(this.descriptor1, typeMember, IDelta.ADDED, IDelta.TYPE_MEMBER, currentTypeApiRestrictions, this.classFile, typeMember.name, typeMember.name);
-		}
-	}
-
-	private void checkGenericSignature(String signature1, String signature2, ElementDescriptor elementDescriptor1, ElementDescriptor elementDescriptor2) {
-		if (signature1 == null) {
-			if (signature2 != null) {
-				// added type parameter from scratch (none before)
-				// report delta as compatible
-				SignatureDescriptor signatureDescriptor2 = getSignatureDescritor(signature2);
-				if (signatureDescriptor2.getTypeParameterDescriptors().length != 0) {
-					this.addDelta(elementDescriptor1, IDelta.ADDED, IDelta.TYPE_PARAMETERS, this.classFile, elementDescriptor1.name);
-				} else if (signatureDescriptor2.getTypeArguments().length != 0) {
-					this.addDelta(elementDescriptor1, IDelta.ADDED, IDelta.TYPE_ARGUMENTS, this.classFile, elementDescriptor1.name);
-				}
-			}
-		} else if (signature2 == null) {
-			// removed type parameters
-			SignatureDescriptor signatureDescriptor = getSignatureDescritor(signature1);
-			if (signatureDescriptor.getTypeParameterDescriptors().length != 0) {
-				this.addDelta(elementDescriptor1, IDelta.REMOVED, IDelta.TYPE_PARAMETERS, this.classFile, elementDescriptor1.name);
-			} else if (signatureDescriptor.getTypeArguments().length != 0) {
-				this.addDelta(elementDescriptor1, IDelta.REMOVED, IDelta.TYPE_ARGUMENTS, this.classFile, elementDescriptor1.name);
-			}
-		} else {
-			// both types have generic signature
-			// need to check delta for type parameter one by one
-			SignatureDescriptor signatureDescriptor = getSignatureDescritor(signature1);
-			SignatureDescriptor signatureDescriptor2 = getSignatureDescritor(signature2);
-			
-			TypeParameterDescriptor[] typeParameterDescriptors1 = signatureDescriptor.getTypeParameterDescriptors();
-			int typeParameterDescriptorsLength1 = typeParameterDescriptors1.length;
-			TypeParameterDescriptor[] typeParameterDescriptors2 = signatureDescriptor2.getTypeParameterDescriptors();
-			int typeParameterDescriptorsLength2 = typeParameterDescriptors2.length;
-			if (typeParameterDescriptorsLength1 < typeParameterDescriptorsLength2) {
-				// report delta: binary incompatible
-				this.addDelta(elementDescriptor1, IDelta.ADDED, IDelta.TYPE_PARAMETER, this.classFile, elementDescriptor1.name);
-				return;
-			} else if (typeParameterDescriptorsLength1 > typeParameterDescriptorsLength2) {
-				this.addDelta(elementDescriptor1, IDelta.REMOVED, IDelta.TYPE_PARAMETER, this.classFile, elementDescriptor1.name, elementDescriptor1.name);
-				return;
-			}
-			// same number of type parameter descriptors
-			for (int i = 0; i < typeParameterDescriptorsLength1; i++) {
-				TypeParameterDescriptor parameterDescriptor1 = typeParameterDescriptors1[i];
-				TypeParameterDescriptor parameterDescriptor2 = typeParameterDescriptors2[i];
-				String name = parameterDescriptor1.name;
-				if (!name.equals(parameterDescriptor2.name)) {
-					this.addDelta(elementDescriptor1, IDelta.CHANGED, IDelta.TYPE_PARAMETER_NAME, this.classFile, name);
-				}
-				if (parameterDescriptor1.classBound == null) {
-					if (parameterDescriptor2.classBound != null) {
-						// report delta added class bound of a type parameter
-						this.addDelta(elementDescriptor1, IDelta.ADDED, IDelta.CLASS_BOUND, this.classFile, name, name);
-					}
-				} else if (parameterDescriptor2.classBound == null) {
-					// report delta removed class bound of a type parameter
-					this.addDelta(elementDescriptor1, IDelta.REMOVED, IDelta.CLASS_BOUND, this.classFile, name, name);
-				} else if (!parameterDescriptor1.classBound.equals(parameterDescriptor2.classBound)) {
-					// report delta changed class bound of a type parameter
-					this.addDelta(elementDescriptor1, IDelta.CHANGED, IDelta.CLASS_BOUND, this.classFile, name);
-				}
-				List interfaceBounds1 = parameterDescriptor1.interfaceBounds;
-				List interfaceBounds2 = parameterDescriptor2.interfaceBounds;
-				if (interfaceBounds1 == null) {
-					if (interfaceBounds2 != null) {
-						// report delta added interface bounds
-						this.addDelta(elementDescriptor1, IDelta.ADDED, IDelta.INTERFACE_BOUNDS, this.classFile, name);
-					}
-				} else if (interfaceBounds2 == null) {
-					// report delta removed interface bounds
-					this.addDelta(elementDescriptor1, IDelta.REMOVED, IDelta.INTERFACE_BOUNDS, this.classFile, name, name);
-				} else if (interfaceBounds1.size() < interfaceBounds2.size()) {
-					// report delta added some interface bounds
-					this.addDelta(elementDescriptor1, IDelta.ADDED, IDelta.INTERFACE_BOUND, this.classFile, name, name);
-				} else if (interfaceBounds1.size() > interfaceBounds2.size()) {
-					// report delta removed some interface bounds
-					this.addDelta(elementDescriptor1, IDelta.REMOVED, IDelta.INTERFACE_BOUND, this.classFile, name, name);
-				} else {
-					loop: for (int j = 0, max = interfaceBounds1.size(); j < max; j++) {
-						if (!interfaceBounds1.get(j).equals(interfaceBounds2.get(j))) {
-							// report delta: different interface bounds (or reordered interface bound)
-							this.addDelta(elementDescriptor1, IDelta.CHANGED, IDelta.INTERFACE_BOUND, this.classFile, name);
-							break loop;
-						}
-					}
-				}
-			}
-
-			if (typeParameterDescriptorsLength2 > 0 || typeParameterDescriptorsLength1 > 0) return;
-			String[] typeArguments = signatureDescriptor.getTypeArguments();
-			String[] typeArguments2 = signatureDescriptor2.getTypeArguments();
-			int length = typeArguments.length;
-			// typeArguments length and typeArguments2 length are identical
-			for (int i = 0; i < length; i++) {
-				if (!typeArguments[i].equals(typeArguments2[i])) {
-					this.addDelta(elementDescriptor1, IDelta.CHANGED, IDelta.TYPE, this.classFile, elementDescriptor1.name);
-					return;
-				}
-			}
-		}
-	}
-
-	private void collectAllInterfaces(TypeDescriptor typeDescriptor, IApiComponent apiComponent, IApiProfile profile, Set set) {
-		try {
-			Set interfaces = typeDescriptor.interfaces;
-			if (interfaces == null) return;
-			for (Iterator iterator = interfaces.iterator(); iterator.hasNext();) {
-				String interfaceName = (String) iterator.next();
-				String packageName = Util.getPackageName(interfaceName);
-				IApiComponent[] components = profile.resolvePackage(apiComponent, packageName);
-				if (components == null) {
-					// TODO should we report this failure ?
-					if (DEBUG) {
-						System.err.println("SUPERINTERFACES LOOKUP: Could not find package " + packageName + " in profile " + profile.getName() + " from component " + apiComponent.getId()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					}
-					continue;
-				}
-				IClassFile superinterface = Util.getClassFile(components, interfaceName);
-				if (superinterface == null) {
-					// TODO should we report this failure ?
-					if (DEBUG) {
-						System.err.println("SUPERINTERFACES LOOKUP: Could not find interface " + interfaceName + " in profile " + profile.getName() + " from component " + apiComponent.getId()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					}
-					continue;
-				}
-				TypeDescriptor typeDescriptor2 = new TypeDescriptor(superinterface.getContents());
-				set.add(typeDescriptor2);
-				collectAllInterfaces(typeDescriptor2, apiComponent, profile, set);
-			}
-		} catch (CoreException e) {
-			ApiPlugin.log(e);
-		}
-	}
-
-	public IDelta getDelta() {
-		try {
-			this.delta = new Delta();
-			// check visibility
-			final IApiDescription referenceApiDescription = component2.getApiDescription();
-			IApiAnnotations elementDescription = referenceApiDescription.resolveAnnotations(null, this.descriptor2.handle);
-			if (elementDescription != null) {
-				int visibility = elementDescription.getVisibility();
-				if ((visibility & visibilityModifiers) == 0) {
-					// visibility has been changed
-					if (((visibility & VisibilityModifiers.API) == 0)
-							&& ((visibilityModifiers & VisibilityModifiers.API) != 0)) {
-						// was API and is no longer API
-						return new Delta(IDelta.API_COMPONENT_ELEMENT_TYPE, IDelta.REMOVED, IDelta.TYPE, classFile, this.descriptor1.name, this.descriptor1.name);
-					}
-					// no delta
-					return new Delta(IDelta.API_COMPONENT_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TYPE_VISIBILITY, classFile, this.descriptor1.name, null);
-				}
-			}
-			// first make sure that we compare interface with interface, class with class,
-			// annotation with annotation and enum with enums
-			int typeAccess = this.descriptor1.access;
-			int typeAccess2 = this.descriptor2.access;
-
-			if (Util.isProtected(typeAccess)) {
-				if (Util.isPrivate(typeAccess2) || Util.isDefault(typeAccess2)) {
-					// report delta - decrease access: protected to default or private
-					this.addDelta(this.descriptor1, IDelta.CHANGED, IDelta.DECREASE_ACCESS, this.classFile, this.descriptor1.name);
-				} else if (Util.isPublic(typeAccess2)) {
-					// report delta - increase access: protected to public
-					this.addDelta(this.descriptor1, IDelta.CHANGED, IDelta.INCREASE_ACCESS, this.classFile, this.descriptor1.name);
-				}
-			} else if (Util.isPublic(typeAccess)
-					&& (Util.isProtected(typeAccess2)
-							|| Util.isPrivate(typeAccess2)
-							|| Util.isDefault(typeAccess2))) {
-				// report delta - decrease access: public to protected, default or private
-				this.addDelta(this.descriptor1, IDelta.CHANGED, IDelta.DECREASE_ACCESS, this.classFile, this.descriptor1.name);
-			} else if (Util.isDefault(typeAccess)
-					&& (Util.isPublic(typeAccess2)
-							|| Util.isProtected(typeAccess2))) {
-				this.addDelta(this.descriptor1, IDelta.CHANGED, IDelta.INCREASE_ACCESS, this.classFile, this.descriptor1.name);
-			} else if (Util.isPrivate(typeAccess)
-					&& (Util.isDefault(typeAccess2)
-							|| Util.isPublic(typeAccess2)
-							|| Util.isProtected(typeAccess2))) {
-				this.addDelta(this.descriptor1, IDelta.CHANGED, IDelta.INCREASE_ACCESS, this.classFile, this.descriptor1.name);
-			}
-
-			if ((visibilityModifiers & VisibilityModifiers.API) != 0) {
-				if (!Util.isPublic(typeAccess2) && !Util.isProtected(typeAccess2)) {
-					return this.delta.isEmpty() ? ApiComparator.NO_DELTA : this.delta;
-				}
-			}
-			
-			if (Util.isAnnotation(typeAccess)) {
-				if (!Util.isAnnotation(typeAccess2)) {
-					if (Util.isInterface(typeAccess2)) {
-						// report conversion from annotation to interface
-						this.addDelta(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_INTERFACE, typeAccess2, this.classFile, this.descriptor1.name);
-					} else if (Util.isEnum(typeAccess2)) {
-						// report conversion from annotation to enum
-						this.addDelta(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_ENUM, typeAccess2, this.classFile, this.descriptor1.name);
-					} else {
-						// report conversion from annotation to class
-						this.addDelta(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_CLASS, typeAccess2, this.classFile, this.descriptor1.name);
-					}
-					return this.delta;
-				}
-			} else if (Util.isInterface(typeAccess)) {
-				if (Util.isAnnotation(typeAccess2)) {
-					// conversion from interface to annotation
-					this.addDelta(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_ANNOTATION, typeAccess2, this.classFile, this.descriptor1.name);
-					return this.delta;
-				} else if (!Util.isInterface(typeAccess2)) {
-					if (Util.isEnum(typeAccess2)) {
-						// conversion from interface to enum
-						this.addDelta(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_ENUM, typeAccess2, this.classFile, this.descriptor1.name);
-					} else {
-						// conversion from interface to class
-						this.addDelta(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_CLASS, typeAccess2, this.classFile, this.descriptor1.name);
-					}
-					return this.delta;
-				}
-			} else if (Util.isEnum(typeAccess)) {
-				if (!Util.isEnum(typeAccess2)) {
-					if (Util.isAnnotation(typeAccess2)) {
-						// report conversion from enum to annotation
-						this.addDelta(IDelta.ENUM_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_ANNOTATION, typeAccess2, this.classFile, this.descriptor1.name);
-					} else if (Util.isInterface(typeAccess2)) {
-						// report conversion from enum to interface
-						this.addDelta(IDelta.ENUM_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_INTERFACE, typeAccess2, this.classFile, this.descriptor1.name);
-					} else {
-						// report conversion from enum to class
-						this.addDelta(IDelta.ENUM_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_CLASS, typeAccess2, this.classFile, this.descriptor1.name);
-					}
-					return this.delta;
-				}
-			} else if (!Util.isClass(typeAccess2)) {
-				if (Util.isAnnotation(typeAccess2)) {
-					// report conversion from class to annotation
-					this.addDelta(IDelta.CLASS_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_ANNOTATION, typeAccess2, this.classFile, this.descriptor1.name);
-				} else if (Util.isInterface(typeAccess2)) {
-					// report conversion from class to interface
-					this.addDelta(IDelta.CLASS_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_INTERFACE, typeAccess2, this.classFile, this.descriptor1.name);
-				} else {
-					// report conversion from class to enum
-					this.addDelta(IDelta.CLASS_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_ENUM, typeAccess2, this.classFile, this.descriptor1.name);
-				}
-				return this.delta;
-			}
-
-			// check super class set
-			checkSuperclass();
-			// check super interfaces set
-			checkSuperInterfaces();
-			
-			// checks fields
-			for (Iterator iterator = this.descriptor1.fields.values().iterator(); iterator.hasNext();) {
-				FieldDescriptor fieldDescriptor = (FieldDescriptor) iterator.next();
-				getDeltaForFieldDescriptor(fieldDescriptor);
-			}
-			// checks remaining fields (added fields)
-			for (Iterator iterator = this.descriptor2.fields.values().iterator(); iterator.hasNext();) {
-				FieldDescriptor fieldDescriptor = (FieldDescriptor) iterator.next();
-				reportFieldAddition(fieldDescriptor, this.descriptor1);
-			}
-			
-			// checks methods
-			for (Iterator iterator = this.descriptor1.methods.values().iterator(); iterator.hasNext();) {
-				Object object = iterator.next();
-				if (object instanceof List) {
-					List list = (List) object;
-					for (Iterator iterator2 = list.iterator(); iterator2.hasNext();) {
-						MethodDescriptor methodDescriptor = (MethodDescriptor) iterator2.next();
-						getDeltaForMethodDescriptor(methodDescriptor);
-					}
-				} else {
-					MethodDescriptor methodDescriptor = (MethodDescriptor) object;
-					getDeltaForMethodDescriptor(methodDescriptor);
-				}
-			}
-			// checks remaining methods (added methods)
-			for (Iterator iterator = this.descriptor2.methods.values().iterator(); iterator.hasNext();) {
-				Object object = iterator.next();
-				if (object instanceof List) {
-					List list = (List) object;
-					for (Iterator iterator2 = list.iterator(); iterator2.hasNext();) {
-						MethodDescriptor methodDescriptor = (MethodDescriptor) iterator2.next();
-						reportMethodAddition(methodDescriptor, this.descriptor1);
-					}
-				} else {
-					MethodDescriptor methodDescriptor = (MethodDescriptor) object;
-					reportMethodAddition(methodDescriptor, this.descriptor1);
-				}
-			}
-			if (Util.isAbstract(typeAccess)) {
-				if (!Util.isAbstract(typeAccess2)) {
-					// report delta - changed from abstract to non-abstract
-					this.addDelta(this.descriptor1, IDelta.CHANGED, IDelta.ABSTRACT_TO_NON_ABSTRACT, this.classFile, this.descriptor1.name);
-				}
-			} else if (Util.isAbstract(typeAccess2)){
-				// report delta - changed from non-abstract to abstract
-				this.addDelta(this.descriptor1, IDelta.CHANGED, IDelta.NON_ABSTRACT_TO_ABSTRACT, this.classFile, this.descriptor1.name);
-			}
-
-			if (Util.isFinal(typeAccess)) {
-				if (!Util.isFinal(typeAccess2)) {
-					// report delta - changed from final to non-final
-					this.addDelta(this.descriptor1, IDelta.CHANGED, IDelta.FINAL_TO_NON_FINAL, this.classFile, this.descriptor1.name);
-				}
-			} else if (Util.isFinal(typeAccess2)){
-				// report delta - changed from non-final to final
-				this.addDelta(this.descriptor1, IDelta.CHANGED, IDelta.NON_FINAL_TO_FINAL, this.classFile, this.descriptor1.name);
-			}
-			// check type parameters
-			String signature1 = this.descriptor1.signature;
-			String signature2 = this.descriptor2.signature;
-			checkGenericSignature(signature1, signature2, this.descriptor1, this.descriptor2);
-			
-			// check type members
-			checkTypeMembers();
-			return this.delta.isEmpty() ? ApiComparator.NO_DELTA : this.delta;
-		} catch (CoreException e) {
-			ApiPlugin.log(e);
-			return null;
-		}
-	}
-
-	private void getDeltaForFieldDescriptor(FieldDescriptor fieldDescriptor) {
-		int access = fieldDescriptor.access;
-		if (Util.isSynthetic(access)) {
-			// we ignore synthetic fields
-			return;
-		}
-		String name = fieldDescriptor.name;
-		FieldDescriptor fieldDescriptor2 = getFieldDescriptor(this.descriptor2, name);
-		if (fieldDescriptor2 == null) {
-			if (Util.isPrivate(access)
-					|| Util.isDefault(access)) {
-				this.addDelta(this.descriptor1, fieldDescriptor, IDelta.REMOVED, IDelta.FIELD, this.classFile, name, name);
-			} else {
-				boolean found = false;
-				if (this.component2 != null) {
-					if (this.descriptor1.isInterface()) {
-						Set interfacesSet = getInterfacesSet(this.descriptor2, this.component2, this.apiState2);
-						if (interfacesSet != null) {
-							for (Iterator iterator = interfacesSet.iterator(); iterator.hasNext();) {
-								TypeDescriptor superTypeDescriptor = (TypeDescriptor) iterator.next();
-								FieldDescriptor fieldDescriptor3 = getFieldDescriptor(superTypeDescriptor, name);
-								if (fieldDescriptor3 == null) {
-									continue;
-								} else {
-									// interface method can only be public
-									// method has been move up in the hierarchy - report the delta and abort loop
-									this.addDelta(this.descriptor1, fieldDescriptor, IDelta.REMOVED, IDelta.FIELD_MOVED_UP, this.classFile, name, name);
-									found = true;
-									break;
-								}
-							}
-						}
-					} else {
-						Set superclassSet = getSuperclassSet(this.descriptor2, this.component2, this.apiState2);
-						if (superclassSet != null) {
-							loop: for (Iterator iterator = superclassSet.iterator(); iterator.hasNext();) {
-								TypeDescriptor superTypeDescriptor = (TypeDescriptor) iterator.next();
-								FieldDescriptor fieldDescriptor3 = getFieldDescriptor(superTypeDescriptor, name);
-								if (fieldDescriptor3 == null) {
-									continue;
-								} else {
-									int access3 = fieldDescriptor3.access;
-									if (Util.isPublic(access3)
-											|| Util.isProtected(access3)) {
-										// method has been move up in the hierarchy - report the delta and abort loop
-										this.addDelta(this.descriptor1, fieldDescriptor3, IDelta.REMOVED, IDelta.FIELD_MOVED_UP, this.classFile, name);
-										found = true;
-										break loop;
-									}
-								}
-							}
-						}
-					}
-				}
-				if (!found) {
-					if (fieldDescriptor.isEnum()) {
-						// report delta (removal of an enum constant - not binary compatible)
-						this.addDelta(this.descriptor1, IDelta.REMOVED, IDelta.ENUM_CONSTANT, this.getCurrentTypeApiRestrictions(), this.classFile, name, name);
-						return;
-					}
-					// removing a public field is a breakage
-					this.addDelta(this.descriptor1, fieldDescriptor, IDelta.REMOVED, IDelta.FIELD, this.getCurrentTypeApiRestrictions(), this.classFile, name, name);
-				}
-			}
-			return;
-		}
-		if (!fieldDescriptor.descriptor.equals(fieldDescriptor2.descriptor)) {
-			// report delta
-			this.addDelta(fieldDescriptor, IDelta.CHANGED, IDelta.TYPE, this.classFile, name);
-		} else {
-			// check type parameters
-			String signature1 = fieldDescriptor.signature;
-			String signature2 = fieldDescriptor2.signature;
-			checkGenericSignature(signature1, signature2, fieldDescriptor, fieldDescriptor2);
-		}
-		int access2 = fieldDescriptor2.access;
-		if (fieldDescriptor.value != null) {
-			if (fieldDescriptor2.value == null) {
-				// report delta - removal of constant value
-				this.addDelta(IDelta.FIELD_ELEMENT_TYPE, IDelta.REMOVED, IDelta.VALUE, access2, this.classFile, name, fieldDescriptor.value);
-			} else if (!fieldDescriptor.value.equals(fieldDescriptor2.value)) {
-				// report delta - modified constant value
-				if (Util.isFinal(this.descriptor2.access)) {
-					// we make the restriction, non extend restrictions
-					this.addDelta(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.VALUE, this.getCurrentTypeApiRestrictions() | RestrictionModifiers.NO_EXTEND, access2, this.classFile, name, null);
-				} else {
-					this.addDelta(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.VALUE, this.getCurrentTypeApiRestrictions(), access2, this.classFile, name, null);
-				}
-			}
-		} else if (fieldDescriptor2.value != null) {
-			// report delta
-			this.addDelta(IDelta.FIELD_ELEMENT_TYPE, IDelta.ADDED, IDelta.VALUE, access2, this.classFile, name);
-		}
-		if (Util.isProtected(access)) {
-			if (Util.isPrivate(access2) || Util.isDefault(access2)) {
-				// report delta - decrease access: protected to default or private
-				this.addDelta(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.DECREASE_ACCESS, access2, this.classFile, name);
-			} else if (Util.isPublic(access2)) {
-				// report delta - increase access: protected to public
-				this.addDelta(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.INCREASE_ACCESS, access2, this.classFile, name);
-			}
-		} else if (Util.isPublic(access)
-				&& (Util.isProtected(access2)
-						|| Util.isPrivate(access2)
-						|| Util.isDefault(access2))) {
-			// report delta - decrease access: public to protected, default or private
-			this.addDelta(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.DECREASE_ACCESS, access2, this.classFile, name);
-		} else if (Util.isPrivate(access)
-				&& (Util.isProtected(access2)
-						|| Util.isDefault(access2)
-						|| Util.isPublic(access2))) {
-			this.addDelta(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.INCREASE_ACCESS, access2, this.classFile, name);
-		} else if (Util.isDefault(access)
-				&& (Util.isProtected(access2)
-						|| Util.isPublic(access2))) {
-			this.addDelta(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.INCREASE_ACCESS, access2, this.classFile, name);
-		}
-		if (Util.isFinal(access)) {
-			if (!Util.isFinal(access2)) {
-				if (!Util.isStatic(access2)) {
-					// report delta - final to non-final for a non static field
-					this.addDelta(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.FINAL_TO_NON_FINAL_NON_STATIC, access2, this.classFile, name);
-				} else if (fieldDescriptor.value != null) {
-					// report delta - final to non-final for a static field with a compile time constant
-					this.addDelta(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.FINAL_TO_NON_FINAL_STATIC_CONSTANT, access2, this.classFile, name);
-				} else {
-					// report delta - final to non-final for a static field with no compile time constant
-					this.addDelta(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.FINAL_TO_NON_FINAL_STATIC_NON_CONSTANT, access2, this.classFile, name);
-				}
-			}
-		} else if (Util.isFinal(access2)) {
-			// report delta - non-final to final
-			this.addDelta(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.NON_FINAL_TO_FINAL, access2, this.classFile, name);
-		}
-		if (Util.isStatic(access)) {
-			if (!Util.isStatic(access2)) {
-				// report delta - static to non-static
-				this.addDelta(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.STATIC_TO_NON_STATIC, access2, this.classFile, name);
-			}
-		} else if (Util.isStatic(access2)) {
-			// report delta - non-static to static
-			this.addDelta(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.NON_STATIC_TO_STATIC, access2, this.classFile, name);
-		}
-		if (Util.isTransient(access)) {
-			if (!Util.isTransient(access2)) {
-				// report delta - transient to non-transient
-				this.addDelta(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TRANSIENT_TO_NON_TRANSIENT, access2, this.classFile, name);
-			}
-		} else if (Util.isTransient(access2)) {
-			// report delta - non-tansient to transient
-			this.addDelta(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.NON_TRANSIENT_TO_TRANSIENT, access2, this.classFile, name);
-		}
-	}
-
-	private int getCurrentTypeApiRestrictions() {
-		try {
-			IApiDescription apiDescription = this.component2.getApiDescription();
-			IApiAnnotations resolvedAPIDescription = apiDescription.resolveAnnotations(null, this.descriptor2.handle);
-			if (resolvedAPIDescription != null) {
-				IApiDescription apiDescription2 = this.component.getApiDescription();
-				IApiAnnotations referenceAPIDescription = apiDescription2.resolveAnnotations(null, this.descriptor1.handle);
-				if (referenceAPIDescription != null) {
-					int restrictions = referenceAPIDescription.getRestrictions();
-					if (restrictions != resolvedAPIDescription.getRestrictions()
-							&& restrictions != RestrictionModifiers.NO_RESTRICTIONS) {
-						// report different restrictions
-						this.addDelta(this.descriptor1, IDelta.CHANGED, IDelta.RESTRICTIONS, this.classFile, this.descriptor1.name);
-					}
-				}
-				return resolvedAPIDescription.getRestrictions();
-			}
-		} catch (CoreException e) {
-			ApiPlugin.log(e);
-		}
-		return RestrictionModifiers.NO_RESTRICTIONS;
-	}
-
-	private void getDeltaForMethodDescriptor(MethodDescriptor methodDescriptor) {
-		int access = methodDescriptor.access;
-		if (Util.isSynthetic(access)) {
-			// we ignore synthetic methods
-			return;
-		}
-		String name = methodDescriptor.name;
-		String descriptor = methodDescriptor.descriptor;
-		String key = name + descriptor;
-		MethodDescriptor methodDescriptor2 = getMethodDescriptor(this.descriptor2, name, descriptor);
-		if (methodDescriptor2 == null) {
-			if (methodDescriptor.isClinit()) {
-				// report delta: removal of a clinit method
-				this.addDelta(this.descriptor1, IDelta.REMOVED, IDelta.CLINIT, this.classFile, this.descriptor1.name, this.descriptor1.name);
-				return;
-			} else if (Util.isPrivate(access)
-					|| Util.isDefault(access)) {
-				this.addDelta(this.descriptor1, methodDescriptor, IDelta.REMOVED, IDelta.METHOD, this.classFile, this.descriptor1.name, getMethodDisplayName(methodDescriptor, this.descriptor1));
-				return;
-			}
-			// if null we need to walk the hierarchy of descriptor2
-			TypeDescriptor typeDescriptor = this.descriptor2;
-			boolean found = false;
-			if (this.component2 != null) {
-				if (this.descriptor1.isInterface()) {
-					Set interfacesSet = getInterfacesSet(typeDescriptor, this.component2, this.apiState2);
-					if (interfacesSet != null) {
-						for (Iterator iterator = interfacesSet.iterator(); iterator.hasNext();) {
-							TypeDescriptor superTypeDescriptor = (TypeDescriptor) iterator.next();
-							MethodDescriptor methodDescriptor3 = getMethodDescriptor(superTypeDescriptor, name, descriptor);
-							if (methodDescriptor3 == null) {
-								continue;
-							} else {
-								// interface method can only be public
-								// method has been move up in the hierarchy - report the delta and abort loop
-								this.addDelta(this.descriptor1, IDelta.REMOVED, IDelta.METHOD_MOVED_UP, this.classFile, this.descriptor1.name, getMethodDisplayName(methodDescriptor, this.descriptor1));
-								found = true;
-								break;
-							}
-						}
-					}
-				} else {
-					Set superclassSet = getSuperclassSet(typeDescriptor, this.component2, this.apiState2);
-					if (superclassSet != null) {
-						loop: for (Iterator iterator = superclassSet.iterator(); iterator.hasNext();) {
-							TypeDescriptor superTypeDescriptor = (TypeDescriptor) iterator.next();
-							MethodDescriptor methodDescriptor3 = getMethodDescriptor(superTypeDescriptor, name, descriptor);
-							if (methodDescriptor3 == null) {
-								continue;
-							} else {
-								int access3 = methodDescriptor3.access;
-								if (Util.isPublic(access3)
-										|| Util.isProtected(access3)) {
-									// method has been move up in the hierarchy - report the delta and abort loop
-									// TODO need to make the distinction between methods that need to be reimplemented and methods that don't
-									this.addDelta(this.descriptor1, IDelta.REMOVED, IDelta.METHOD_MOVED_UP, this.classFile, this.descriptor1.name, getMethodDisplayName(methodDescriptor, this.descriptor1));
-									found = true;
-									break loop;
-								}
-							}
-						}
-					}
-				}
-			}
-			if (!found) {
-				if (this.descriptor1.isAnnotation()) {
-					this.addDelta(
-							this.descriptor1,
-							methodDescriptor,
-							IDelta.REMOVED,
-							methodDescriptor.defaultValue != null ? IDelta.METHOD_WITH_DEFAULT_VALUE : IDelta.METHOD_WITHOUT_DEFAULT_VALUE,
-							this.getCurrentTypeApiRestrictions(),
-							this.classFile,
-							this.descriptor1.name,
-							getMethodDisplayName(methodDescriptor, this.descriptor1));
-				} else {
-					this.addDelta(
-							this.descriptor1,
-							methodDescriptor,
-							IDelta.REMOVED,
-							methodDescriptor.isConstructor() ? IDelta.CONSTRUCTOR : IDelta.METHOD,
-							this.getCurrentTypeApiRestrictions(),
-							this.classFile,
-							this.descriptor1.name,
-							getMethodDisplayName(methodDescriptor, this.descriptor1));
-				}
-			}
-			return;
-		}
-		if (methodDescriptor.exceptions != null) {
-			if (methodDescriptor2.exceptions == null) {
-				// check all exception in method descriptor to see if they are checked or unchecked exceptions
-				loop: for (Iterator iterator = methodDescriptor.exceptions.iterator(); iterator.hasNext(); ) {
-					String exceptionName = ((String) iterator.next()).replace('/', '.');
-					if (isCheckedException(this.apiState, this.component, exceptionName)) {
-						// report delta - removal of checked exception
-						// TODO should we continue the loop for all remaining exceptions
-						this.addDelta(methodDescriptor, IDelta.REMOVED, IDelta.CHECKED_EXCEPTION, this.classFile, key, exceptionName);
-						break loop;
-					} else {
-						// report delta - removal of unchecked exception
-						this.addDelta(methodDescriptor, IDelta.REMOVED, IDelta.UNCHECKED_EXCEPTION, this.classFile, key, exceptionName);
-					}
-				}
-			} else {
-				// check if the exceptions are consistent for both descriptors
-				List removedExceptions = new ArrayList();
-				for (Iterator iterator = methodDescriptor.exceptions.iterator(); iterator.hasNext(); ) {
-					String exceptionName = ((String) iterator.next()).replace('/', '.');
-					if (!methodDescriptor2.exceptions.remove(exceptionName)) {
-						// this means that the exceptionName was not found inside the new set of exceptions
-						// so it has been removed
-						removedExceptions.add(exceptionName);
-					}
-				}
-				if (removedExceptions.size() != 0) {
-					loop: for (Iterator iterator = removedExceptions.iterator(); iterator.hasNext(); ) {
-						String exceptionName = ((String) iterator.next()).replace('/', '.');
-						if (isCheckedException(this.apiState, this.component, exceptionName)) {
-							// report delta - removal of checked exception
-							// TODO should we continue the loop for all remaining exceptions
-							this.addDelta(methodDescriptor, IDelta.REMOVED, IDelta.CHECKED_EXCEPTION, this.classFile, key, exceptionName);
-							break loop;
-						} else {
-							// report delta - removal of unchecked exception
-							this.addDelta(methodDescriptor, IDelta.REMOVED, IDelta.UNCHECKED_EXCEPTION, this.classFile, key, exceptionName);
-						}
-					}
-				}
-				loop: for (Iterator iterator = methodDescriptor2.exceptions.iterator(); iterator.hasNext(); ) {
-					String exceptionName = ((String) iterator.next()).replace('/', '.');
-					if (isCheckedException(this.apiState2, this.component2, exceptionName)) {
-						// report delta - addition of checked exception
-						// TODO should we continue the loop for all remaining exceptions
-						this.addDelta(methodDescriptor, IDelta.ADDED, IDelta.CHECKED_EXCEPTION, this.classFile, key, exceptionName);
-						break loop;
-					} else {
-						// report delta - addition of unchecked exception
-						this.addDelta(methodDescriptor, IDelta.ADDED, IDelta.UNCHECKED_EXCEPTION, this.classFile, key, exceptionName);
-					}
-				}
-			}
-		} else if (methodDescriptor2.exceptions != null) {
-			// check all exception in method descriptor to see if they are checked or unchecked exceptions
-			loop: for (Iterator iterator = methodDescriptor2.exceptions.iterator(); iterator.hasNext(); ) {
-				String exceptionName = ((String) iterator.next()).replace('/', '.');
-				if (isCheckedException(this.apiState2, this.component2, exceptionName)) {
-					// report delta - addition of checked exception
-					this.addDelta(methodDescriptor, IDelta.ADDED, IDelta.CHECKED_EXCEPTION, this.classFile, key, exceptionName);
-					// TODO should we continue the loop for all remaining exceptions
-					break loop;
-				} else {
-					// report delta - addition of unchecked exception
-					this.addDelta(methodDescriptor, IDelta.ADDED, IDelta.UNCHECKED_EXCEPTION, this.classFile, key, exceptionName);
-				}
-			}
-		}
-		int access2 = methodDescriptor2.access;
-		if (Util.isVarargs(access)) {
-			if (!Util.isVarargs(access2)) {
-				// report delta: conversion from T... to T[] - break compatibility 
-				this.addDelta(methodDescriptor, IDelta.CHANGED, IDelta.VARARGS_TO_ARRAY, this.classFile, key);
-			}
-		} else if (Util.isVarargs(access2)) {
-			// report delta: conversion from T[] to T... binary compatible
-			this.addDelta(methodDescriptor, IDelta.CHANGED, IDelta.ARRAY_TO_VARARGS, this.classFile, key);
-		}
-		if (Util.isProtected(access)) {
-			if (Util.isPrivate(access2) || Util.isDefault(access2)) {
-				// report delta - decrease access: protected to default or private
-				this.addDelta(methodDescriptor, IDelta.CHANGED, IDelta.DECREASE_ACCESS, this.classFile, key);
-			} else if (Util.isPublic(access2)) {
-				// report delta - increase access: protected to public
-				this.addDelta(methodDescriptor, IDelta.CHANGED, IDelta.INCREASE_ACCESS, this.classFile, key);
-			}
-		} else if (Util.isPublic(access)
-				&& (Util.isProtected(access2)
-						|| Util.isPrivate(access2)
-						|| Util.isDefault(access2))) {
-			// report delta - decrease access: public to protected, default or private
-			this.addDelta(methodDescriptor, IDelta.CHANGED, IDelta.DECREASE_ACCESS, this.classFile, key);
-		} else if (Util.isDefault(access)
-				&& (Util.isPublic(access2)
-						|| Util.isProtected(access2))) {
-			this.addDelta(methodDescriptor, IDelta.CHANGED, IDelta.INCREASE_ACCESS, this.classFile, key);
-		} else if (Util.isPrivate(access)
-				&& (Util.isDefault(access2)
-						|| Util.isPublic(access2)
-						|| Util.isProtected(access2))) {
-			this.addDelta(methodDescriptor, IDelta.CHANGED, IDelta.INCREASE_ACCESS, this.classFile, key);
-		}
-		if (Util.isAbstract(access)) {
-			if (!Util.isAbstract(access2)) {
-				// report delta - changed from abstract to non-abstract
-				this.addDelta(methodDescriptor, IDelta.CHANGED, IDelta.ABSTRACT_TO_NON_ABSTRACT, this.classFile, key);
-			}
-		} else if (Util.isAbstract(access2)){
-			// report delta - changed from non-abstract to abstract
-			this.addDelta(methodDescriptor, IDelta.CHANGED, IDelta.NON_ABSTRACT_TO_ABSTRACT, this.classFile, key);
-		}
-		if (Util.isFinal(access)) {
-			if (!Util.isFinal(access2)) {
-				// report delta - changed from final to non-final
-				this.addDelta(methodDescriptor, IDelta.CHANGED, IDelta.FINAL_TO_NON_FINAL, this.classFile, key);
-			}
-		} else if (Util.isFinal(access2)) {
-			this.addDelta(methodDescriptor2, IDelta.CHANGED, IDelta.NON_FINAL_TO_FINAL, this.getCurrentTypeApiRestrictions(), this.classFile, key, null);
-		}
-		if (Util.isStatic(access)) {
-			if (!Util.isStatic(access2)) {
-				// report delta: change from static to non-static
-				this.addDelta(methodDescriptor, IDelta.CHANGED, IDelta.STATIC_TO_NON_STATIC, this.classFile, key);
-			}
-		} else if (Util.isStatic(access2)){
-			// report delta: change from non-static to static
-			this.addDelta(methodDescriptor, IDelta.CHANGED, IDelta.NON_STATIC_TO_STATIC, this.classFile, key);
-		}
-		if (Util.isNative(access)) {
-			if (!Util.isNative(access2)) {
-				// report delta: change from native to non-native
-				this.addDelta(methodDescriptor, IDelta.CHANGED, IDelta.NATIVE_TO_NON_NATIVE, this.classFile, key);
-			}
-		} else if (Util.isNative(access2)){
-			// report delta: change from non-native to native
-			this.addDelta(methodDescriptor, IDelta.CHANGED, IDelta.NON_NATIVE_TO_NATIVE, this.classFile, key);
-		}
-		if (Util.isSynchronized(access)) {
-			if (!Util.isSynchronized(access2)) {
-				// report delta: change from synchronized to non-synchronized
-				this.addDelta(methodDescriptor, IDelta.CHANGED, IDelta.SYNCHRONIZED_TO_NON_SYNCHRONIZED, this.classFile, key);
-			}
-		} else if (Util.isSynchronized(access2)){
-			// report delta: change from non-synchronized to synchronized
-			this.addDelta(methodDescriptor, IDelta.CHANGED, IDelta.NON_SYNCHRONIZED_TO_SYNCHRONIZED, this.classFile, key);
-		}
-		// check type parameters
-		String signature1 = methodDescriptor.signature;
-		String signature2 = methodDescriptor2.signature;
-		checkGenericSignature(signature1, signature2, methodDescriptor, methodDescriptor2);
-		
-		if (methodDescriptor.defaultValue == null) {
-			if (methodDescriptor2.defaultValue != null) {
-				// report delta : default value has been added - compatible
-				this.addDelta(methodDescriptor, IDelta.ADDED, IDelta.ANNOTATION_DEFAULT_VALUE, this.classFile, key);
-			}
-		} else if (methodDescriptor2.defaultValue == null) {
-			// report delta : default value has been removed - binary incompatible
-			this.addDelta(methodDescriptor, methodDescriptor, IDelta.REMOVED, IDelta.ANNOTATION_DEFAULT_VALUE, this.classFile, key, getMethodDisplayName(methodDescriptor, this.descriptor1));
-		} else if (!methodDescriptor.defaultValue.equals(methodDescriptor2.defaultValue)) {
-			// report delta: default value has changed
-			this.addDelta(methodDescriptor, IDelta.CHANGED, IDelta.ANNOTATION_DEFAULT_VALUE, this.classFile, key);
-		}
-	}
-
-	FieldDescriptor getFieldDescriptor(TypeDescriptor typeDescriptor, String name) {
-		Object object = typeDescriptor.fields.get(name);
-		if (object == null) return null;
-		FieldDescriptor fieldDescriptor  = (FieldDescriptor) object;
-		typeDescriptor.fields.remove(name);
-		return fieldDescriptor;
-	}
-
-	private Set getInterfacesSet(TypeDescriptor typeDescriptor, IApiComponent apiComponent, IApiProfile profile) {
-		TypeDescriptor descriptor = typeDescriptor;
-		if (descriptor.interfaces == null) return null;
-		HashSet set = new HashSet();
-		collectAllInterfaces(typeDescriptor, apiComponent, profile, set);
-		return set;
-	}
-
-	MethodDescriptor getMethodDescriptor(TypeDescriptor typeDescriptor, String name, String descriptor) {
-		Object object = typeDescriptor.methods.get(name);
-		if (object == null) return null;
-		if (object instanceof List) {
-			List list = (List) object;
-			for (Iterator iterator = list.iterator(); iterator.hasNext();) {
-				MethodDescriptor methodDescriptor = (MethodDescriptor) iterator.next();
-				if (methodDescriptor.name.equals(name) && methodDescriptor.descriptor.equals(descriptor)) {
-					list.remove(methodDescriptor);
-					if (list.size() == 0) {
-						typeDescriptor.methods.remove(name);
-					}
-					return methodDescriptor;
-				}
-			}
-			return null;
-		}
-		MethodDescriptor methodDescriptor = (MethodDescriptor) object;
-		if (methodDescriptor.name.equals(name) && methodDescriptor.descriptor.equals(descriptor)) {
-			typeDescriptor.methods.remove(name);
-			return methodDescriptor;
-		}
-		return null;
-	}
-
-	private String getMethodDisplayName(MethodDescriptor methodDescriptor, TypeDescriptor typeDescriptor) {
-		String methodName = methodDescriptor.name;
-		if (methodDescriptor.isConstructor()) {
-			methodName = typeDescriptor.name;
-		}
-		return Signature.toString(methodDescriptor.descriptor, methodName, null, false, false);
-	}
-
-	private SignatureDescriptor getSignatureDescritor(String signature) {
-		SignatureDescriptor signatureDescriptor = new SignatureDescriptor();
-		SignatureReader signatureReader = new SignatureReader(signature);
-		signatureReader.accept(new SignatureDecoder(signatureDescriptor));
-		return signatureDescriptor;
-	}
-
-	private Set getSuperclassSet(TypeDescriptor typeDescriptor, IApiComponent apiComponent, IApiProfile profile) {
-		TypeDescriptor descriptor = typeDescriptor;
-		String superName = descriptor.superName;
-		if (Util.isJavaLangObject(superName)) {
-			return null;
-		}
-		HashSet set = new HashSet();
-		IApiComponent sourceComponent = apiComponent; 
-		try {
-			loop: while (!Util.isJavaLangObject(superName)) {
-				String packageName = Util.getPackageName(superName);
-				IApiComponent[] components = profile.resolvePackage(sourceComponent, packageName);
-				if (components == null) {
-					// TODO should we report this failure ?
-					if (DEBUG) {
-						System.err.println("SUPERCLASS LOOKUP: Could not find package " + packageName + " in profile " + profile.getName() + " from component " + apiComponent.getId()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					}
-					break loop;
-				}
-				sourceComponent = Util.getComponent(components, superName);
-				if (sourceComponent == null) {
-					// TODO should we report this failure ?
-					if (DEBUG) {
-						System.err.println("SUPERCLASS LOOKUP: Could not find package " + packageName + " in profile " + profile.getName() + " from component " + apiComponent.getId()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					}
-					break loop;
-				}
-				IClassFile superclass = sourceComponent.findClassFile(superName);
-				if (superclass == null) {
-					// TODO should we report this failure ?
-					if (DEBUG) {
-						System.err.println("SUPERCLASS LOOKUP: Could not find class " + superName + " in profile " + profile.getName() + " from component " + sourceComponent.getId()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					}
-					break loop;
-				}
-				descriptor = new TypeDescriptor(superclass.getContents());
-				set.add(descriptor);
-				superName = descriptor.superName;
-			}
-		} catch (CoreException e) {
-			ApiPlugin.log(e);
-		}
-		return set;
-	}
-	
-	private void reportFieldAddition(FieldDescriptor fieldDescriptor, TypeDescriptor descriptor) {
-		int access = fieldDescriptor.access;
-		String name = fieldDescriptor.name;
-	
-		if (Util.isSynthetic(access)) {
-			// we ignore synthetic fields 
-			return;
-		}
-		if (fieldDescriptor.isEnum()) {
-			// report delta (addition of an enum constant - binary compatible
-			this.addDelta(descriptor, IDelta.ADDED, IDelta.ENUM_CONSTANT, this.classFile, name);
-		} else {
-			if (Util.isFinal(descriptor.access)) {
-				this.addDelta(descriptor, fieldDescriptor, IDelta.ADDED, IDelta.FIELD, this.getCurrentTypeApiRestrictions() | RestrictionModifiers.NO_EXTEND, this.classFile, name, name);
-			} else {
-				this.addDelta(descriptor, fieldDescriptor, IDelta.ADDED, IDelta.FIELD, this.getCurrentTypeApiRestrictions(), this.classFile, name, name);
-			}
-		}
-	}
-	private void reportMethodAddition(MethodDescriptor methodDescriptor, TypeDescriptor typeDescriptor) {
-		if (methodDescriptor.isClinit()) {
-			// report delta: addition of clinit method
-			this.addDelta(typeDescriptor, IDelta.ADDED, IDelta.CLINIT, this.classFile, typeDescriptor.name);
-			return;
-		}
-		int access = methodDescriptor.access;
-		if (Util.isSynthetic(access)) {
-			// we ignore synthetic method
-			return;
-		} else if (Util.isPublic(access) || Util.isProtected(access)) {
-			if (methodDescriptor.isConstructor()) {
-				this.addDelta(typeDescriptor, IDelta.ADDED, IDelta.CONSTRUCTOR, this.classFile, getKeyForMethod(methodDescriptor));
-			} else if (typeDescriptor.isAnnotation()) {
-				if (methodDescriptor.defaultValue != null) {
-					this.addDelta(typeDescriptor, IDelta.ADDED, IDelta.METHOD_WITH_DEFAULT_VALUE, this.classFile, getKeyForMethod(methodDescriptor));
-				} else {
-					this.addDelta(typeDescriptor, IDelta.ADDED, IDelta.METHOD_WITHOUT_DEFAULT_VALUE, this.classFile, getKeyForMethod(methodDescriptor));
-				}
-			} else {
-				this.addDelta(typeDescriptor, methodDescriptor, IDelta.ADDED, IDelta.METHOD, this.getCurrentTypeApiRestrictions(), this.classFile, getKeyForMethod(methodDescriptor), getMethodDisplayName(methodDescriptor, typeDescriptor));
-			}
-		} else {
-			this.addDelta(typeDescriptor, methodDescriptor, IDelta.ADDED, IDelta.METHOD, this.getCurrentTypeApiRestrictions(), this.classFile, getKeyForMethod(methodDescriptor), getMethodDisplayName(methodDescriptor, typeDescriptor));
-		}
-	}
-	
-	private String getKeyForMethod(MethodDescriptor methodDescriptor) {
-		StringBuffer buffer = new StringBuffer();
-		buffer
-			.append(methodDescriptor.name)
-			.append(methodDescriptor.descriptor);
-		return String.valueOf(buffer);
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/ClassFileDescriptorBuilder.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/ClassFileDescriptorBuilder.java
deleted file mode 100644
index 825ad2e..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/ClassFileDescriptorBuilder.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.pde.api.tools.internal.comparator;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.objectweb.asm.AnnotationVisitor;
-import org.objectweb.asm.ClassAdapter;
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.FieldVisitor;
-import org.objectweb.asm.MethodAdapter;
-import org.objectweb.asm.MethodVisitor;
-import org.objectweb.asm.util.TraceAnnotationVisitor;
-
-/**
- * Class adapter used to create all elements from a class file.
- */
-class ClassFileDescriptorBuilder extends ClassAdapter {
-	TypeDescriptor descriptor;
-
-	ClassFileDescriptorBuilder(ClassVisitor cv, TypeDescriptor descriptor) {
-		super(cv);
-		this.descriptor = descriptor;
-	}
-	
-	private void addDescriptor(Map map, String name, Object descriptor) {
-		Object object = map.get(name);
-		if (object != null) {
-			// already a method with the same descriptor
-			if (object instanceof List) {
-				((List) object).add(descriptor);
-			} else {
-				ArrayList list = new ArrayList();
-				list.add(object);
-				list.add(descriptor);
-				map.put(name, list);
-			}
-		} else {
-			map.put(name, descriptor);
-		}
-	}
-	public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {
-		this.descriptor.initialize(version, access, name, signature, superName, interfaces);
-		super.visit(version, access, name, signature, superName, interfaces);
-	}
-
-	public void visitInnerClass(String name, String outerName, String innerName, int access) {
-		super.visitInnerClass(name, outerName, innerName, access);
-		String currentName = name.replace('/', '.');
-		if (currentName.equals(this.descriptor.name)) {
-			this.descriptor.access = access;
-			// this is a nested type
-			if (outerName == null) {
-				// this is a local or an anonymous type
-				if (innerName == null) {
-					this.descriptor.setAnonymous();
-				} else {
-					this.descriptor.setLocal();
-				}
-			} else {
-				this.descriptor.setMember();
-			}
-		} else if (outerName != null && innerName != null) {
-			// technically speaking innerName != null is not necessary, but this is a workaround for some
-			// boggus synthetic types created by another compiler
-			String currentOuterName = outerName.replace('/', '.');
-			if (currentOuterName.equals(this.descriptor.name)) {
-				// this is a real type member defined in the descriptor (not just a reference to a type member)
-				this.descriptor.addTypeMember(currentName, access);
-			}
-		}
-	}
-
-	public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) {
-		FieldDescriptor fieldDescriptor = new FieldDescriptor(access, name, desc, signature, value);
-		fieldDescriptor.handle = Factory.fieldDescriptor(this.descriptor.name, name);
-		addDescriptor(this.descriptor.fields, name, fieldDescriptor);
-		return null;
-	}
-
-	public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
-		final MethodDescriptor methodDescriptor = new MethodDescriptor(access, name, desc, signature, exceptions);
-		methodDescriptor.handle = Factory.methodDescriptor(this.descriptor.name, name, Util.dequalifySignature(desc));
-		addDescriptor(this.descriptor.methods, name, methodDescriptor);
-		return new MethodAdapter(super.visitMethod(access, name, desc, signature, exceptions)) {
-			public AnnotationVisitor visitAnnotationDefault() {
-				return new TraceAnnotationVisitor() {
-					public void visitEnd() {
-						super.visitEnd();
-						StringWriter stringWriter = new StringWriter();
-						PrintWriter writer = new PrintWriter(stringWriter);
-						print(writer);
-						writer.flush();
-						writer.close();
-						methodDescriptor.defaultValue = String.valueOf(stringWriter.getBuffer());
-					}
-				};
-			}
-		};
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/Delta.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/Delta.java
deleted file mode 100644
index e8fce76..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/Delta.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.comparator;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import org.eclipse.pde.api.tools.internal.problems.ApiProblemFactory;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-// TODO add javadoc
-public class Delta implements IDelta {
-	private static final IDelta[] EMPTY_CHILDREN = new IDelta[0];
-	private static final int INITIAL_SIZE = 4;
-	
-	IDelta[] children;
-	IClassFile classFile;
-	int deltasCounter;
-	int elementType;
-	int flags;
-	String key;
-	int restrictions;
-	int modifiers;
-
-	int kind;
-	Object data;
-
-	/**
-	 * Constructor
-	 */
-	public Delta() {
-		// use for root delta
-	}
-
-	/**
-	 * Constructor
-	 * @param elementType
-	 * @param kind
-	 * @param flags
-	 * @param classFile
-	 * @param key
-	 * @param data
-	 */
-	public Delta(int elementType, int kind, int flags, IClassFile classFile, String key, Object data) {
-		this(elementType, kind, flags, RestrictionModifiers.NO_RESTRICTIONS, 0, classFile, key, data);
-	}
-
-	/**
-	 * Constructor
-	 * @param elementType
-	 * @param kind
-	 * @param flags
-	 * @param restrictions
-	 * @param modifiers
-	 * @param classFile
-	 * @param key
-	 * @param data
-	 */
-	public Delta(int elementType, int kind, int flags, int restrictions, int modifiers, IClassFile classFile, String key, Object data) {
-		this.elementType = elementType;
-		this.kind = kind;
-		this.flags = flags;
-		this.modifiers = modifiers;
-		this.classFile = classFile;
-		this.restrictions = restrictions;
-		this.key = key;
-		this.data = data;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta#accept(org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaVisitor)
-	 */
-	public void accept(DeltaVisitor visitor) {
-		if (visitor.visit(this)) {
-			if (this.children != null) {
-				for (int i = 0, max = this.deltasCounter; i < max; i++) {
-					IDelta delta = this.children[i];
-					delta.accept(visitor);
-				}
-			}
-		}
-		visitor.endVisit(this);
-	}
-
-	/**
-	 * Adds a child delta to this delta. If the specified delta 
-	 * is <code>null</code> no work is done.
-	 * @param delta the new child delta
-	 */
-	public void add(IDelta delta) {
-		if (delta == null) {
-			return;
-		}
-		if (this.children == null) {
-			this.children = new Delta[INITIAL_SIZE];
-			this.deltasCounter = 0;
-		}
-		int length = this.children.length;
-		if (this.deltasCounter == length) {
-			System.arraycopy(this.children, 0, (this.children = new IDelta[length * 2]), 0, length);
-		}
-		this.children[this.deltasCounter++] = delta;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta#getChildren()
-	 */
-	public IDelta[] getChildren() {
-		if (this.children == null) return EMPTY_CHILDREN;
-		int resizeLength = this.deltasCounter;
-		if (resizeLength != this.children.length) {
-			System.arraycopy(this.children, 0, (this.children = new IDelta[resizeLength]), 0, resizeLength);
-		}
-		return this.children;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta#getElementType()
-	 */
-	public int getElementType() {
-		return this.elementType;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta#getFlags()
-	 */
-	public int getFlags() {
-		return this.flags;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta#getKey()
-	 */
-	public String getKey() {
-		return this.key;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta#getKind()
-	 */
-	public int getKind() {
-		return this.kind;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta#getTypeName()
-	 */
-	public String getTypeName() {
-		if (this.classFile != null) return this.classFile.getTypeName();
-		return Util.EMPTY_STRING;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta#isEmpty()
-	 */
-	public boolean isEmpty() {
-		return this.deltasCounter == 0;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringWriter writer = new StringWriter();
-		PrintWriter printWriter = new PrintWriter(writer);
-		if (this.children == null) {
-			print(this, printWriter);
-		} else {
-			printWriter.print('[');
-			for (int i = 0, max = this.deltasCounter; i < max; i++) {
-				if (i > 0) {
-					printWriter.println(',');
-				}
-				printWriter.print(this.children[i]);
-			}
-			printWriter.print(']');
-		}
-		return String.valueOf(writer.getBuffer());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta#getMessage()
-	 */
-	public String getMessage() {
-		int id = ApiProblemFactory.getProblemMessageId(IApiProblem.CATEGORY_BINARY, 
-				this.elementType, this.kind, this.flags);
-		return ApiProblemFactory.getLocalizedMessage(id, (this.data != null ? new String[] {this.data.toString()} : null));
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta#getArguments()
-	 */
-	public String[] getArguments() {
-		if(this.data == null) {
-			return new String[] {};
-		}
-		return new String[] {(String) this.data};
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta#getModifiers()
-	 */
-	public int getModifiers() {
-		return this.modifiers;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta#getRestrictions()
-	 */
-	public int getRestrictions() {
-		return this.restrictions;
-	}
-	
-	/**
-	 * Writes the delta to the given {@link PrintWriter}
-	 * @param delta
-	 * @param writer
-	 */
-	private static void print(IDelta delta, PrintWriter writer) {
-		writer.print("delta (elementType: "); //$NON-NLS-1$
-		switch(delta.getElementType()) {
-			case IDelta.FIELD_ELEMENT_TYPE :
-				writer.print("field"); //$NON-NLS-1$
-				break;
-			case IDelta.ANNOTATION_ELEMENT_TYPE :
-				writer.print("annotation type"); //$NON-NLS-1$
-				break;
-			case IDelta.CLASS_ELEMENT_TYPE :
-				writer.print("class type"); //$NON-NLS-1$
-				break;
-			case IDelta.INTERFACE_ELEMENT_TYPE :
-				writer.print("interface type"); //$NON-NLS-1$
-				break;
-			case IDelta.ENUM_ELEMENT_TYPE :
-				writer.print("enum type"); //$NON-NLS-1$
-				break;
-			case IDelta.API_COMPONENT_ELEMENT_TYPE :
-				writer.print("API component type"); //$NON-NLS-1$
-				break;
-			case IDelta.METHOD_ELEMENT_TYPE :
-				writer.print("method"); //$NON-NLS-1$
-				break;
-			case IDelta.CONSTRUCTOR_ELEMENT_TYPE :
-				writer.print("constructor"); //$NON-NLS-1$
-				break;
-			case IDelta.API_PROFILE_ELEMENT_TYPE :
-				writer.print("API profile"); //$NON-NLS-1$
-				break;
-		}
-		writer.print(", kind : "); //$NON-NLS-1$
-		writer.print(delta.getKind());
-		writer.print(", flags : "); //$NON-NLS-1$
-		writer.print(delta.getFlags());
-		writer.print(')');
-		writer.print('-');
-		writer.print(Util.getDetail(delta));
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/DeltaXmlVisitor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/DeltaXmlVisitor.java
deleted file mode 100644
index 14bb48e..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/DeltaXmlVisitor.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.comparator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.IApiXmlConstants;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaProcessor;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * Delta visitor that generates XML for the delta.
- *  
- * @since 1.0.0
- */
-public class DeltaXmlVisitor extends DeltaVisitor {
-	/**
-	 * XML doc being generated
-	 */
-	private Document fDoc;
-
-	/**
-	 * Top deltas element
-	 */
-	private Element fDeltas;
-	
-
-	/**
-	 * Constructs a new visitor for the given component.
-	 * 
-	 * @param component API component
-	 * @throws CoreException if unable to construct the visitor
-	 */
-	public DeltaXmlVisitor() throws CoreException {
-		fDoc = Util.newDocument();
-		fDeltas = fDoc.createElement(IApiXmlConstants.DELTAS_ELEMENT_NAME);
-		fDoc.appendChild(fDeltas);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaVisitor#visit(org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta)
-	 */
-	public boolean visit(IDelta delta) {
-		if (delta.getChildren().length == 0) {
-			Element deltaElement = fDoc.createElement(IApiXmlConstants.DELTA_ELEMENT_NAME);
-			deltaElement.setAttribute(IApiXmlConstants.ATTR_NAME_FLAGS, Integer.toString(delta.getFlags()));
-			deltaElement.setAttribute(IApiXmlConstants.ATTR_NAME_KIND, Util.getDeltaKindName(delta));
-			deltaElement.setAttribute(IApiXmlConstants.ATTR_NAME_ELEMENT_TYPE, Util.getDeltaElementType(delta));
-			deltaElement.setAttribute(IApiXmlConstants.ATTR_NAME_KEY, delta.getKey());
-			deltaElement.setAttribute(IApiXmlConstants.ATTR_NAME_TYPE_NAME, delta.getTypeName());
-			deltaElement.setAttribute(IApiXmlConstants.ATTR_NAME_BINARY_COMPATIBLE, Boolean.toString(DeltaProcessor.isBinaryCompatible(delta)));
-			deltaElement.setAttribute(IApiXmlConstants.ATTR_NAME_MODIFIERS, Integer.toString(delta.getModifiers()));
-			deltaElement.setAttribute(IApiXmlConstants.ATTR_NAME_RESTRICTIONS, Integer.toString(delta.getRestrictions()));
-			fDeltas.appendChild(deltaElement);
-		}
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaVisitor#endVisit(org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta)
-	 */
-	public void endVisit(IDelta delta) {
-		// nothing to do
-	}
-	
-	/**
-	 * Returns the settings as a UTF-8 string containing XML.
-	 * 
-	 * @return XML
-	 * @throws CoreException if something goes wrong 
-	 */
-	public String getXML() throws CoreException {
-		return Util.serializeDocument(fDoc);
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/ElementDescriptor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/ElementDescriptor.java
deleted file mode 100644
index 9a8edc9..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/ElementDescriptor.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.comparator;
-
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-
-/**
- * Represents a element inside a class file.
- */
-public abstract class ElementDescriptor {
-	public int access;
-	public String name;
-	
-	/**
-	 * Equivalent descriptor used by API description
-	 */
-	IElementDescriptor handle;
-	
-	public ElementDescriptor() {
-		// create uninitialized element
-	}
-	
-	ElementDescriptor(int access, String name) {
-		this.name = name;
-		this.access = access;
-	}
-	
-	abstract int getElementType();
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/FieldDescriptor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/FieldDescriptor.java
deleted file mode 100644
index 1caf526..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/FieldDescriptor.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.pde.api.tools.internal.comparator;
-
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.objectweb.asm.Opcodes;
-
-/**
- * Represents a field inside a class file.
- */
-public class FieldDescriptor extends ElementDescriptor {
-	String descriptor;
-	String signature;
-	Object value;
-
-	public FieldDescriptor(int access, String name, String desc, String signature, Object value) {
-		super(access, name);
-		this.descriptor = desc;
-		this.signature = signature;
-		this.value = value;
-	}
-
-	public boolean isEnum() {
-		return (this.access & Opcodes.ACC_ENUM) != 0;
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer
-			.append("Field : access(") //$NON-NLS-1$
-			.append(this.access)
-			.append(") ") //$NON-NLS-1$
-			.append(this.descriptor)
-			.append(' ')
-			.append(this.name)
-			.append(" isEnum constant ") //$NON-NLS-1$
-			.append(this.isEnum());
-		if (this.value != null) {
-			buffer.append(" = ").append(this.value); //$NON-NLS-1$
-		}
-		buffer.append(';').append(Util.LINE_DELIMITER);
-		if (this.signature != null) {
-			buffer
-				.append(" Signature : ") //$NON-NLS-1$
-				.append(this.signature).append(Util.LINE_DELIMITER);
-		}
-		return String.valueOf(buffer);
-	}
-	
-	int getElementType() {
-		return IDelta.FIELD_ELEMENT_TYPE;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/MemberTypeDescriptor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/MemberTypeDescriptor.java
deleted file mode 100644
index 990d849..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/MemberTypeDescriptor.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.comparator;
-
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-
-public class MemberTypeDescriptor extends ElementDescriptor {
-	public MemberTypeDescriptor(String name, int access) {
-		this.access = access;
-		IReferenceTypeDescriptor typeDescriptor = Factory.typeDescriptor(name);
-		this.name = typeDescriptor.getName();
-		this.handle = typeDescriptor;
-	}
-
-	public boolean equals(Object obj) {
-		if (obj instanceof MemberTypeDescriptor) {
-			MemberTypeDescriptor memberTypeDescriptor = (MemberTypeDescriptor) obj;
-			return this.name.equals(memberTypeDescriptor.name);
-		}
-		return false;
-	}
-
-	int getElementType() {
-		return IDelta.MEMBER_ELEMENT_TYPE;
-	}
-
-	public int hashCode() {
-		return this.name.hashCode();
-	}
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer
-			.append("Member type : access(") //$NON-NLS-1$
-			.append(this.access)
-			.append(") ") //$NON-NLS-1$
-			.append(this.name);
-		return String.valueOf(buffer);
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/MethodDescriptor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/MethodDescriptor.java
deleted file mode 100644
index 030957d..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/MethodDescriptor.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.comparator;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * Represents a method inside a clas file
- */
-public class MethodDescriptor extends ElementDescriptor {
-	private static final String INIT = "<init>"; //$NON-NLS-1$
-	private static final String CLINIT = "<clinit>"; //$NON-NLS-1$
-
-	Object defaultValue;
-	String descriptor;
-	Set exceptions;
-	String signature;
-
-	public MethodDescriptor(int access, String name, String desc, String signature, String[] exceptions) {
-		super(access, name);
-		this.descriptor = desc;
-		this.signature = signature;
-		if (exceptions != null) {
-			this.exceptions = new HashSet();
-			for (int i = 0, max = exceptions.length; i < max; i++) {
-				this.exceptions.add(exceptions[i].replace('/', '.'));
-			}
-		}
-	}
-	
-	public boolean isClinit() {
-		return this.name.equals(CLINIT);
-	}
-
-	public boolean isConstructor() {
-		return this.name.equals(INIT);
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer
-			.append("Method : access(") //$NON-NLS-1$
-			.append(this.access)
-			.append(") ") //$NON-NLS-1$
-			.append(this.descriptor)
-			.append(' ')
-			.append(this.name);
-		if (this.exceptions != null) {
-			buffer.append(" throws "); //$NON-NLS-1$
-			int i = 0;
-			for (Iterator iterator = this.exceptions.iterator(); iterator.hasNext(); ) {
-				if (i > 0) buffer.append(',');
-				i++;
-				buffer.append(iterator.next());
-			}
-		}
-		buffer.append(';').append(Util.LINE_DELIMITER);
-		if (this.signature != null) {
-			buffer
-				.append(" Signature : ") //$NON-NLS-1$
-				.append(this.signature).append(Util.LINE_DELIMITER);
-		}
-		return String.valueOf(buffer);
-	}
-	int getElementType() {
-		return this.isConstructor() ? IDelta.CONSTRUCTOR_ELEMENT_TYPE : IDelta.METHOD_ELEMENT_TYPE;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/SignatureDecoder.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/SignatureDecoder.java
deleted file mode 100644
index 0f861c7..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/SignatureDecoder.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.comparator;
-
-import org.objectweb.asm.signature.SignatureVisitor;
-
-/**
- * This class is used to decode a generic signature for class or method
- */
-final class SignatureDecoder implements SignatureVisitor {
-	static final int CLASS_BOUND = 1;
-	static final int DEFAULT = 0;
-	static final int INTERFACE_BOUND = 2;
-	static final int SUPER_CLASS = 3;
-	static final int NORMAL_TYPE_ARGUMENT = 4;
-	static final int EXTENDS_TYPE_ARGUMENT = 5;
-	static final int SUPER_TYPE_ARGUMENT = 6;
-
-	int mode = DEFAULT;
-	SignatureDescriptor signatureDescriptor;
-
-	public SignatureDecoder(SignatureDescriptor signatureDescriptor) {
-		this.signatureDescriptor = signatureDescriptor;
-	}
-	public SignatureVisitor visitArrayType() {
-		return this;
-	}
-
-	public void visitBaseType(char descriptor) {
-		// nothing to do
-	}
-
-	public SignatureVisitor visitClassBound() {
-		this.mode = CLASS_BOUND;
-		return this;
-	}
-
-	public void visitClassType(String name) {
-		String classTypeName = name.replace('/', '.');
-		switch(this.mode) {
-			case CLASS_BOUND :
-				this.signatureDescriptor.setClassBound(classTypeName);
-				break;
-			case INTERFACE_BOUND :
-				this.signatureDescriptor.addInterfaceBound(classTypeName);
-				break;
-			case SUPER_CLASS :
-				this.signatureDescriptor.setSuperclass(classTypeName);
-				break;
-			case EXTENDS_TYPE_ARGUMENT :
-			case SUPER_TYPE_ARGUMENT :
-			case NORMAL_TYPE_ARGUMENT :
-				this.signatureDescriptor.addTypeArgument(classTypeName);
-				break;
-		}
-		this.mode = DEFAULT;
-	}
-
-	public void visitEnd() {
-		// nothing to do
-	}
-
-	public SignatureVisitor visitExceptionType() {
-		// nothing to do
-		return this;
-	}
-
-	public void visitFormalTypeParameter(String name) {
-		this.signatureDescriptor.addTypeParameterDescriptor(name);
-	}
-
-	public void visitInnerClassType(String name) {
-	}
-
-	public SignatureVisitor visitInterface() {
-		return this;
-	}
-
-	public SignatureVisitor visitInterfaceBound() {
-		this.mode = INTERFACE_BOUND;
-		return this;
-	}
-
-	public SignatureVisitor visitParameterType() {
-		return this;
-	}
-
-	public SignatureVisitor visitReturnType() {
-		return this;
-	}
-
-	public SignatureVisitor visitSuperclass() {
-		this.mode = SUPER_CLASS;
-		return this;
-	}
-
-	public void visitTypeArgument() {
-	}
-
-	public SignatureVisitor visitTypeArgument(char wildcard) {
-		switch(wildcard) {
-			case SignatureVisitor.EXTENDS :
-				this.mode= EXTENDS_TYPE_ARGUMENT;
-				break;
-			case SignatureVisitor.SUPER :
-				this.mode= SUPER_TYPE_ARGUMENT;
-				break;
-			case SignatureVisitor.INSTANCEOF :
-				this.mode= NORMAL_TYPE_ARGUMENT;
-		}
-		return this;
-	}
-
-	public void visitTypeVariable(String name) {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/SignatureDescriptor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/SignatureDescriptor.java
deleted file mode 100644
index 8807423..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/SignatureDescriptor.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.comparator;
-
-class SignatureDescriptor {
-	private static final TypeParameterDescriptor[] EMPTY_TYPE_PARAMETER_DESCRIPTORS = new TypeParameterDescriptor[0];
-	private static final String[] EMPTY_TYPE_ARGUMENTS = new String[0];
-	static final int INITIAL_SIZE = 1;
-	
-	TypeParameterDescriptor currentTypeParameterDescriptor;
-	String superClass;
-	TypeParameterDescriptor[] typeParameterDescriptors;
-	int typeParameterDescriptorsCounter;
-	String[] typeArguments;
-	int typeArgumentsCounter;
-	
-	public SignatureDescriptor() {
-	}
-	
-	public void addInterfaceBound(String bound) {
-		this.currentTypeParameterDescriptor.addInterfaceBound(bound);
-	}
-
-	public void addTypeArgument(String typeArgument) {
-		if (this.typeArguments == null) {
-			this.typeArguments = new String[INITIAL_SIZE];
-			this.typeArgumentsCounter = 0;
-		} else {
-			int length = typeArguments.length; 
-			if (length == this.typeArgumentsCounter) {
-				// resize
-				System.arraycopy(this.typeArguments, 0, (this.typeArguments = new String[length * 2]), 0, length);
-			}
-		}
-		this.typeArguments[this.typeArgumentsCounter++] = typeArgument;
-	}
-
-	public void addTypeParameterDescriptor(String name) {
-		if (this.typeParameterDescriptors == null) {
-			this.typeParameterDescriptors = new TypeParameterDescriptor[INITIAL_SIZE];
-			this.typeParameterDescriptorsCounter = 0;
-		} else {
-			int length = this.typeParameterDescriptors.length;
-			if (this.typeParameterDescriptorsCounter == length) {
-				System.arraycopy(this.typeParameterDescriptors, 0, (this.typeParameterDescriptors = new TypeParameterDescriptor[length * 2]), 0, length);
-			}
-		}
-		TypeParameterDescriptor typeParameterDescriptor = new TypeParameterDescriptor(name);
-		this.currentTypeParameterDescriptor = typeParameterDescriptor;
-		this.typeParameterDescriptors[this.typeParameterDescriptorsCounter++] = typeParameterDescriptor;
-	}
-
-	public TypeParameterDescriptor[] getTypeParameterDescriptors() {
-		if (this.typeParameterDescriptors == null) {
-			return EMPTY_TYPE_PARAMETER_DESCRIPTORS;
-		}
-		int length = this.typeParameterDescriptors.length;
-		if (this.typeParameterDescriptorsCounter != length) {
-			System.arraycopy(this.typeParameterDescriptors, 0, (this.typeParameterDescriptors = new TypeParameterDescriptor[this.typeParameterDescriptorsCounter]), 0, this.typeParameterDescriptorsCounter);
-		}
-		return this.typeParameterDescriptors;
-	}
-
-	public String[] getTypeArguments() {
-		if (this.typeArguments == null) {
-			return EMPTY_TYPE_ARGUMENTS;
-		}
-		int length = this.typeArguments.length;
-		if (this.typeArgumentsCounter != length) {
-			System.arraycopy(this.typeArguments, 0, (this.typeArguments= new String[this.typeArgumentsCounter]), 0, this.typeArgumentsCounter);
-		}
-		return this.typeArguments;
-	}
-
-	public void setClassBound(String bound) {
-		this.currentTypeParameterDescriptor.setClassBound(bound);
-	}
-	
-	public void setSuperclass(String superclass) {
-		this.superClass = superclass;
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0, max = this.typeParameterDescriptorsCounter; i < max; i++) {
-			if (i > 0) buffer.append(',');
-			buffer.append(this.typeParameterDescriptors[i]);
-		}
-		buffer.append("superclass: " + this.superClass); //$NON-NLS-1$
-		for (int i = 0, max = this.typeArgumentsCounter; i < max; i++) {
-			if (i > 0) buffer.append(',');
-			buffer.append(this.typeArguments[i]);
-		}
-		return String.valueOf(buffer);
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/TypeDescriptor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/TypeDescriptor.java
deleted file mode 100644
index 18ea352..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/TypeDescriptor.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.comparator;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.objectweb.asm.ClassReader;
-import org.objectweb.asm.Opcodes;
-import org.objectweb.asm.tree.ClassNode;
-
-/**
- * This represents the type contained in a class file. It is used to create the deltas.
- */
-public class TypeDescriptor extends ElementDescriptor {
-	public static final int ANONYMOUS = 1;
-	public static final int LOCAL = 2;
-	public static final int MEMBER = 4;
-	
-	Map fields;
-	Set interfaces;
-	Map methods;
-	String signature;
-	Set typeMembers;
-
-	String superName;
-	int version;
-	public IClassFile classFile;
-	public int bits;
-
-	public TypeDescriptor(IClassFile classFile) throws CoreException {
-		this.classFile = classFile;
-		this.fields = new HashMap();
-		this.methods = new HashMap();
-		initialize(classFile.getContents());
-	}
-
-	TypeDescriptor(byte[] bytes) {
-		this.fields = new HashMap();
-		this.methods = new HashMap();
-		initialize(bytes);
-	}
-
-	public void addTypeMember(String memberName, int access) {
-		if (this.typeMembers == null) {
-			this.typeMembers = new HashSet();
-		}
-		this.typeMembers.add(new MemberTypeDescriptor(memberName, access));
-	}
-
-	private void initialize(byte[] bytes) {
-		ClassFileDescriptorBuilder visitor = new ClassFileDescriptorBuilder(new ClassNode(), this);
-		try {
-			ClassReader classReader = new ClassReader(bytes);
-			classReader.accept(visitor, ClassReader.SKIP_CODE | ClassReader.SKIP_FRAMES);
-		} catch (ArrayIndexOutOfBoundsException e) {
-			ApiPlugin.log(e);
-		}
-	}
-
-	public void initialize(int version,
-			int access,
-			String name,
-			String signature,
-			String superName,
-			String[] interfaces) {
-		
-		this.access = access;
-		this.name = name.replace('/', '.');
-		this.handle = Factory.typeDescriptor(this.name);
-		this.signature = signature;
-		if (superName != null) {
-			this.superName = superName.replace('/', '.');
-		}
-		if (interfaces != null && interfaces.length != 0) {
-			this.interfaces = new HashSet();
-			for (int i = 0, max = interfaces.length; i < max; i++) {
-				this.interfaces.add(interfaces[i].replace('/', '.'));
-			}
-		}
-	}
-
-	public boolean isAnnotation() {
-		return (this.access & Opcodes.ACC_ANNOTATION) != 0;
-	}
-
-	public boolean isEnum() {
-		return (this.access & Opcodes.ACC_ENUM) != 0;
-	}
-
-	public boolean isInterface() {
-		return (this.access & Opcodes.ACC_INTERFACE) != 0;
-	}
-
-	public boolean isNestedType() {
-		return (this.bits & (ANONYMOUS | LOCAL | MEMBER)) != 0;
-	}
-	
-	public void setAnonymous() {
-		this.bits |= ANONYMOUS;
-	}
-
-	public void setLocal() {
-		this.bits |= LOCAL;
-	}
-
-	public void setMember() {
-		this.bits |= MEMBER;
-	}
-
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer
-			.append("Type : access(") //$NON-NLS-1$
-			.append(this.access)
-			.append(") ") //$NON-NLS-1$
-			.append(this.name);
-		if (this.superName != null) {
-			buffer
-				.append(" superclass: ") //$NON-NLS-1$
-				.append(this.superName);
-		}
-		if (this.interfaces != null) {
-			buffer.append(" interfaces : "); //$NON-NLS-1$
-			int length = this.interfaces.size();
-			if (length != 0) {
-				int i = 0;
-				for (Iterator iterator = this.interfaces.iterator(); iterator.hasNext(); ) {
-					if (i > 0) buffer.append(',');
-					i++;
-					buffer.append(iterator.next());
-				}
-			} else {
-				buffer.append("none"); //$NON-NLS-1$
-			}
-		}
-		buffer.append(';').append(Util.LINE_DELIMITER);
-		if (this.signature != null) {
-			buffer
-				.append(" Signature : ") //$NON-NLS-1$
-				.append(this.signature).append(Util.LINE_DELIMITER);
-		}
-		buffer.append(Util.LINE_DELIMITER).append("Methods : ").append(Util.LINE_DELIMITER); //$NON-NLS-1$
-		for (Iterator iterator = this.methods.values().iterator(); iterator.hasNext();) {
-			Object next = iterator.next();
-			if (next instanceof List) {
-				List list = (List) next;
-				for (Iterator iterator2 = list.iterator(); iterator2.hasNext(); ) {
-					buffer.append(iterator2.next());
-				}
-			} else {
-				buffer.append(next);
-			}
-		}
-		buffer.append(Util.LINE_DELIMITER).append("Fields : ").append(Util.LINE_DELIMITER); //$NON-NLS-1$
-		for (Iterator iterator = this.fields.values().iterator(); iterator.hasNext();) {
-			Object next = iterator.next();
-			if (next instanceof List) {
-				List list = (List) next;
-				for (Iterator iterator2 = list.iterator(); iterator2.hasNext(); ) {
-					buffer.append(iterator2.next());
-				}
-			} else {
-				buffer.append(next);
-			}
-		}
-		return String.valueOf(buffer);
-	}
-	
-	int getElementType() {
-		if ((this.access & Opcodes.ACC_ENUM) != 0) {
-			return IDelta.ENUM_ELEMENT_TYPE;
-		}
-		if ((this.access & Opcodes.ACC_ANNOTATION) != 0) {
-			return IDelta.ANNOTATION_ELEMENT_TYPE;
-		}
-		if ((this.access & Opcodes.ACC_INTERFACE) != 0) {
-			return IDelta.INTERFACE_ELEMENT_TYPE;
-		}
-		return IDelta.CLASS_ELEMENT_TYPE;
-	}
-	
-	public boolean equals(Object obj) {
-		if (obj instanceof TypeDescriptor) {
-			TypeDescriptor typeDescriptor = (TypeDescriptor) obj;
-			return this.name.equals(typeDescriptor.name);
-		}
-		return false;
-	}
-	
-	public int hashCode() {
-		return this.name.hashCode();
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/TypeParameterDescriptor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/TypeParameterDescriptor.java
deleted file mode 100644
index 6b803e53..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/comparator/TypeParameterDescriptor.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.comparator;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * Represents a type parameter inside a generic signature
- */
-class TypeParameterDescriptor {
-	String classBound;
-	List interfaceBounds;
-	String name;
-
-	public TypeParameterDescriptor(String name) {
-		this.name = name;
-	}
-
-	public void addInterfaceBound(String bound) {
-		if (this.interfaceBounds == null) {
-			this.interfaceBounds = new ArrayList();
-		}
-		this.interfaceBounds.add(bound);
-	}
-	
-	public void setClassBound(String bound) {
-		this.classBound = bound;
-	}
-	
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("type parameter ").append(this.name).append(" : ").append(Util.LINE_DELIMITER); //$NON-NLS-1$ //$NON-NLS-2$
-		if (this.classBound != null) {
-			buffer.append("class bound : ").append(this.classBound).append(Util.LINE_DELIMITER); //$NON-NLS-1$
-		}
-		if (this.interfaceBounds != null) {
-			buffer.append("interface bounds : "); //$NON-NLS-1$
-			int i = 0;
-			for (Iterator iterator = this.interfaceBounds.iterator(); iterator.hasNext(); ) {
-				if (i > 0) buffer.append(',');
-				i++;
-				buffer.append(iterator.next());
-			}
-			buffer.append(Util.LINE_DELIMITER);
-		}
-		return String.valueOf(buffer);
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/coremessages.properties b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/coremessages.properties
deleted file mode 100644
index 44a9752..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/coremessages.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-ApiProfile_0=Profile not bound to an execution environment
-ApiProfile_1=Profile bound to {0}
-ApiProfile_2=Error occurred while binding execution environment
-ApiProfile_4=Profile not bound to execution environment
-ApiProfile_7=Profile has bundles requiring unavailable execution environments
-ApiProfile_8={0} is unavailable
-JavadocTagManager_class=class
-JavadocTagManager_extended=extended
-JavadocTagManager_field=field
-JavadocTagManager_implemented=implemented
-JavadocTagManager_instantiated=instantiated
-JavadocTagManager_interface=interface
-JavadocTagManager_method=method
-JavadocTagManager_not_intended_to_be=This {0} is not intended to be {1} by clients.
-JavadocTagManager_referenced=referenced
-JavadocTagManager_subclassed=subclassed
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/ArrayDescriptorImpl.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/ArrayDescriptorImpl.java
deleted file mode 100644
index a0d8de8..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/ArrayDescriptorImpl.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.descriptors;
-
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IArrayTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.ITypeDescriptor;
-
-/**
- * @since 1.0.0
- */
-public class ArrayDescriptorImpl extends ElementDescriptorImpl implements IArrayTypeDescriptor {
-	
-	/**
-	 * Type of elements in the array
-	 */
-	private ITypeDescriptor fComponentType;
-	
-	/**
-	 * Number of dimensions in the array
-	 */
-	private int fDimensions;
-	
-	/**
-	 * Constructs a descriptor for an array.
-	 * 
-	 * @param componentType type of elements
-	 * @param dimensions number of dimensions
-	 */
-	ArrayDescriptorImpl(ITypeDescriptor componentType, int dimensions) {
-		fComponentType = componentType;
-		fDimensions = dimensions;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IArrayTypeDescriptor#getComponentType()
-	 */
-	public ITypeDescriptor getComponentType() {
-		return fComponentType;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IArrayTypeDescriptor#getDimensions()
-	 */
-	public int getDimensions() {
-		return fDimensions;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(getComponentType().toString());
-		for (int i = 0; i < getDimensions(); i++) {
-			buffer.append('[').append(']');
-		}
-		return buffer.toString();
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof IArrayTypeDescriptor) {
-			IArrayTypeDescriptor array = (IArrayTypeDescriptor) obj;
-			return getComponentType().equals(array.getComponentType()) && getDimensions() == array.getDimensions();
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getComponentType().hashCode() + getDimensions();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.descriptors.ElementDescriptorImpl#getComparable()
-	 */
-	protected Comparable getComparable() {
-		return toString();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IElementDescriptor#getElementType()
-	 */
-	public int getElementType() {
-		return IElementDescriptor.T_ARRAY_TYPE;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.ITypeDescriptor#getSignature()
-	 */
-	public String getSignature() {
-		StringBuffer buf = new StringBuffer();
-		for (int i = 0; i < getDimensions(); i++) {
-			buf.append('[');
-		}
-		buf.append(getComponentType().getSignature());
-		return buf.toString();
-	}	
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/ElementDescriptorImpl.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/ElementDescriptorImpl.java
deleted file mode 100644
index 6a71c20..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/ElementDescriptorImpl.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.descriptors;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * Common base class for element descriptors.
- * 
- * @since 1.0.0
- */
-public abstract class ElementDescriptorImpl implements IElementDescriptor, Comparable {
-
-	/**
-	 * Constant used for controlling tracing in the descriptor framework
-	 */
-	private static boolean DEBUG = Util.DEBUG;
-	
-	/**
-	 * Method used for initializing tracing in the descriptor framework
-	 */
-	public static void setDebug(boolean debugValue) {
-		DEBUG = debugValue || Util.DEBUG;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IElementDescriptor#getParent()
-	 */
-	public IElementDescriptor getParent() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IElementDescriptor#getPath()
-	 */
-	public IElementDescriptor[] getPath() {
-		List list = new ArrayList();
-		IElementDescriptor element = this;
-		while (element != null) {
-			list.add(0, element);
-			element = element.getParent();
-		}
-		return (IElementDescriptor[]) list.toArray(new IElementDescriptor[list.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Comparable#compareTo(java.lang.Object)
-	 */
-	public int compareTo(Object o) {
-		if (o instanceof ElementDescriptorImpl) {
-			ElementDescriptorImpl element = (ElementDescriptorImpl) o;
-			return getComparable().compareTo(element.getComparable());
-		}
-		if (DEBUG) {
-			System.err.println(o.getClass());
-		}
-		return -1;
-	}
-
-	/**
-	 * Returns this element's comparable delegate.
-	 * 
-	 * @return comparable
-	 */
-	protected abstract Comparable getComparable();
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/FieldDescriptorImpl.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/FieldDescriptorImpl.java
deleted file mode 100644
index 20746ed..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/FieldDescriptorImpl.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.descriptors;
-
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IFieldDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-
-/**
- * Description of a field.
- * 
- * @since 1.0.0
- */
-public class FieldDescriptorImpl extends MemberDescriptorImpl implements IFieldDescriptor {
-	
-	/**
-	 * Constructs a field descriptor with the given name, declared by the given type.
-	 * 
-	 * @param name field name
-	 * @param parent type containing the field declaration
-	 * @param modifiers modifiers
-	 */
-	FieldDescriptorImpl(String name, IReferenceTypeDescriptor parent, int modifiers) {
-		super(name, parent, modifiers);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(getEnclosingType().getQualifiedName());
-		buffer.append("#"); //$NON-NLS-1$
-		buffer.append(getName());
-		return buffer.toString();
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof IFieldDescriptor) {
-			IFieldDescriptor field = (IFieldDescriptor) obj;
-			return getName().equals(field.getName()) && getEnclosingType().equals(field.getEnclosingType());
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getName().hashCode() + getEnclosingType().hashCode();
-	}		
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IElementDescriptor#getElementType()
-	 */
-	public int getElementType() {
-		return IElementDescriptor.T_FIELD;
-	}	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/MemberDescriptorImpl.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/MemberDescriptorImpl.java
deleted file mode 100644
index dea45bd..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/MemberDescriptorImpl.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.descriptors;
-
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMemberDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-
-/**
- * Description of a field.
- * 
- * @since 1.0.0
- */
-public abstract class MemberDescriptorImpl extends NamedElementDescriptorImpl implements IMemberDescriptor {
-	
-	/**
-	 * parent element or <code>null</code>
-	 */
-	private IElementDescriptor fParent;
-	
-	/**
-	 * Modifiers bit mask
-	 */
-	private int fModifiers;
-	
-	/**
-	 * Constructs a member with the given name and parent
-	 * 
-	 * @param name field name
-	 * @param parent type containing the field declaration or package containing the type
-	 * @param modifiers
-	 */
-	MemberDescriptorImpl(String name, IElementDescriptor parent, int modifiers) {
-		super(name);
-		fParent = parent;
-		fModifiers = modifiers;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IMemberDescriptor#getEnclosingType()
-	 */
-	public IReferenceTypeDescriptor getEnclosingType() {
-		IElementDescriptor parent = getParent();
-		if (parent instanceof IReferenceTypeDescriptor) {
-			return (IReferenceTypeDescriptor)parent;
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IMemberDescriptor#getPackage()
-	 */
-	public IPackageDescriptor getPackage() {
-		IElementDescriptor parent = getParent();
-		while (!(parent instanceof IPackageDescriptor)) {
-			parent = ((MemberDescriptorImpl)parent).getParent();
-		}
-		return (IPackageDescriptor) parent;
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IElementDescriptor#getParent()
-	 */
-	public IElementDescriptor getParent() {
-		return fParent;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.descriptors.IMemberDescriptor#getModifiers()
-	 */
-	public int getModifiers() {
-		return fModifiers;
-	}
-	
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/MethodDescriptorImpl.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/MethodDescriptorImpl.java
deleted file mode 100644
index 4fcb93a..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/MethodDescriptorImpl.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.descriptors;
-
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-
-/**
- * Description of a method.
- * 
- * @since 1.0.0
- */
-public class MethodDescriptorImpl extends MemberDescriptorImpl implements IMethodDescriptor {
-	
-	/**
-	 * Method signature
-	 */
-	private String fSignature;
-		
-	/**
-	 * Constructs a method descriptor.
-	 * 
-	 * @param name method name
-	 * @param enclosingType enclosing type
-	 * @param signature method signature
-	 * @param modifiers modifiers
-	 */
-	MethodDescriptorImpl(String name, IReferenceTypeDescriptor enclosingType, String signature, int modifiers) {
-		super(name, enclosingType, modifiers);
-		fSignature = signature.replace('/', '.');
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(getEnclosingType().getQualifiedName());
-		buffer.append("#"); //$NON-NLS-1$
-		buffer.append(Signature.toString(getSignature(), getName(), null, true, true));
-		return buffer.toString();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof IMethodDescriptor) {
-			IMethodDescriptor method = (IMethodDescriptor) obj;
-			return getName().equals(method.getName())
-				&& getEnclosingType().equals(method.getEnclosingType())
-				&& getSignature().equals(method.getSignature());
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getName().hashCode() + getEnclosingType().hashCode() + getSignature().hashCode();
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IElementDescriptor#getElementType()
-	 */
-	public int getElementType() {
-		return IElementDescriptor.T_METHOD;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IMethodDescriptor#getSignature()
-	 */
-	public String getSignature() {
-		return fSignature;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.descriptors.IMethodDescriptor#isSynthetic()
-	 */
-	public boolean isSynthetic() {
-		return Flags.isSynthetic(getModifiers());
-	}	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/NamedElementDescriptorImpl.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/NamedElementDescriptorImpl.java
deleted file mode 100644
index baced1b..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/NamedElementDescriptorImpl.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.descriptors;
-
-
-
-/**
- * Common base class for element descriptors with names.
- * 
- * @since 1.0.0
- */
-public abstract class NamedElementDescriptorImpl extends ElementDescriptorImpl {
-
-	/**
-	 * element name
-	 */
-	private String fName;
-	
-	/**
-	 * Constructs an element descriptor with the given name and parent.
-	 * 
-	 * @param name element name
-	 * @param parent parent element or <code>null</code>
-	 */
-	NamedElementDescriptorImpl(String name) {
-		fName = name;
-	}
-	
-	/**
-	 * Returns this element's simple name.
-	 * 
-	 * @return element name
-	 */
-	public String getName() {
-		return fName;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.descriptors.ElementDescriptorImpl#getComparable()
-	 */
-	protected Comparable getComparable() {
-		return getName();
-	}
-
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/PackageDescriptorImpl.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/PackageDescriptorImpl.java
deleted file mode 100644
index e3e9924..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/PackageDescriptorImpl.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.descriptors;
-
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-
-/**
- * Package description.
- * 
- * @since 1.0.0
- */
-public class PackageDescriptorImpl extends NamedElementDescriptorImpl implements IPackageDescriptor {
-
-	/**
-	 * Constructs a package description
-	 * 
-	 * @param name dot qualified package name, empty string for default package
-	 */
-	public PackageDescriptorImpl(String name) {
-		super(name);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IPackageDescriptor#getType(java.lang.String)
-	 */
-	public IReferenceTypeDescriptor getType(String typeQualifiedName) {
-		return getType(typeQualifiedName, 0);
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return getName();
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof IPackageDescriptor) {
-			IPackageDescriptor pkg = (IPackageDescriptor) obj;
-			return getName().equals(pkg.getName());
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getName().hashCode();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IElementDescriptor#getElementType()
-	 */
-	public int getElementType() {
-		return IElementDescriptor.T_PACKAGE;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IPackageDescriptor#getType(java.lang.String, java.lang.String)
-	 */
-	public IReferenceTypeDescriptor getType(String typeQualifiedName, String signature) {
-		String[] names = typeQualifiedName.split("\\$"); //$NON-NLS-1$
-		IReferenceTypeDescriptor typeDescriptor = new ReferenceTypeDescriptorImpl(names[0], this, signature, 0);
-		for (int i = 1; i < names.length; i++) {
-			typeDescriptor = typeDescriptor.getType(names[i]);
-		}
-		return typeDescriptor;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor#getType(java.lang.String, int)
-	 */
-	public IReferenceTypeDescriptor getType(String typeQualifiedName, int modifiers) {
-		String[] names = typeQualifiedName.split("\\$"); //$NON-NLS-1$
-		IReferenceTypeDescriptor typeDescriptor = new ReferenceTypeDescriptorImpl(names[0], this, modifiers);
-		for (int i = 1; i < names.length; i++) {
-			typeDescriptor = typeDescriptor.getType(names[i], modifiers);
-		}
-		return typeDescriptor;
-	}	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/PrimitiveDescriptorImpl.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/PrimitiveDescriptorImpl.java
deleted file mode 100644
index d031052..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/PrimitiveDescriptorImpl.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.descriptors;
-
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IArrayTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPrimitiveTypeDescriptor;
-
-/**
- * A primitive type.
- * 
- * @since 1.0.0
- */
-public class PrimitiveDescriptorImpl extends ElementDescriptorImpl implements IPrimitiveTypeDescriptor {
-
-	private String fSignature;
-	
-	/**
-	 * Constructs a primitive type descriptor based on the given signature.
-	 * 
-	 * @param signature primitive type signature
-	 */
-	public PrimitiveDescriptorImpl(String signature) {
-		fSignature = signature;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IPrimitiveTypeDescriptor#getArray(int)
-	 */
-	public IArrayTypeDescriptor getArray(int dimensions) {
-		return new ArrayDescriptorImpl(this, dimensions);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IPrimitiveTypeDescriptor#getSignature()
-	 */
-	public String getSignature() {
-		return fSignature;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return Signature.toString(getSignature());
-	}	
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof IPrimitiveTypeDescriptor) {
-			IPrimitiveTypeDescriptor prim = (IPrimitiveTypeDescriptor) obj;
-			return getSignature().equals(prim.getSignature());
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getSignature().hashCode();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.descriptors.ElementDescriptorImpl#getComparable()
-	 */
-	protected Comparable getComparable() {
-		return getSignature();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IElementDescriptor#getElementType()
-	 */
-	public int getElementType() {
-		return IElementDescriptor.T_PRIMITIVE_TYPE;
-	}	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/ReferenceTypeDescriptorImpl.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/ReferenceTypeDescriptorImpl.java
deleted file mode 100644
index eb59628..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/ReferenceTypeDescriptorImpl.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.descriptors;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IArrayTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IFieldDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-
-/**
- * Reference type descriptor.
- * 
- * @since 1.0.0
- */
-public class ReferenceTypeDescriptorImpl extends MemberDescriptorImpl implements IReferenceTypeDescriptor {
-	
-	/**
-	 * Fully qualified name
-	 */
-	private String fFullName = null;
-	
-	/**
-	 * Type signature
-	 */
-	private String fSignature = null;
-	
-	/**
-	 * Generic information or <code>null</code>
-	 */
-	private String fGenericSignature = null;
-
-	/**
-	 * Constructs a type descriptor with the given name and parent.
-	 * 
-	 * @param name simple type name
-	 * @param parent package or enclosing type
-	 * @param modifiers modifiers
-	 */
-	ReferenceTypeDescriptorImpl(String name, IElementDescriptor parent, int modifiers) {
-		super(name, parent, modifiers);
-		
-	}
-	
-	/**
-	 * Constructs a type descriptor with the given name and parent.
-	 * 
-	 * @param name simple type name
-	 * @param parent package or enclosing type
-	 * @param genericSignature generic signature info or <code>null</code>
-	 * @param modifiers modifiers
-	 */
-	ReferenceTypeDescriptorImpl(String name, IElementDescriptor parent, String genericSignature, int modifiers) {
-		this(name, parent, modifiers);
-		fGenericSignature = genericSignature;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IReferenceTypeDescriptor#getArray(int)
-	 */
-	public IArrayTypeDescriptor getArray(int dimensions) {
-		return new ArrayDescriptorImpl(this, dimensions);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IReferenceTypeDescriptor#getField(java.lang.String)
-	 */
-	public IFieldDescriptor getField(String name) {
-		return getField(name, 0);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor#getField(java.lang.String, int)
-	 */
-	public IFieldDescriptor getField(String name, int modifiers) {
-		return new FieldDescriptorImpl(name, this, modifiers);
-	}	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IReferenceTypeDescriptor#getMethod(java.lang.String, java.lang.String)
-	 */
-	public IMethodDescriptor getMethod(String name, String signature) {
-		return getMethod(name, signature, 0);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IReferenceTypeDescriptor#getType(java.lang.String)
-	 */
-	public IReferenceTypeDescriptor getType(String simpleName) {
-		return getType(simpleName, 0);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor#getType(java.lang.String, int)
-	 */
-	public IReferenceTypeDescriptor getType(String simpleName, int modifiers) {
-		return new ReferenceTypeDescriptorImpl(simpleName, this, modifiers);
-	}	
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return getQualifiedName();
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IReferenceTypeDescriptor#getQualifiedName()
-	 */
-	public synchronized String getQualifiedName() {
-		if (fFullName == null) {
-			StringBuffer buffer = new StringBuffer();
-			buffer.append(getPackage().getName());
-			if (buffer.length() > 0) {
-				buffer.append('.');
-			}
-			List all = null;
-			IReferenceTypeDescriptor enclosingType = getEnclosingType();
-			while (enclosingType != null) {
-				if (all == null) {
-					all = new ArrayList();
-				}
-				all.add(0, enclosingType);
-				enclosingType = enclosingType.getEnclosingType();
-			}
-			if (all != null) {
-				Iterator iterator = all.iterator();
-				while (iterator.hasNext()) {
-					buffer.append(((IReferenceTypeDescriptor)iterator.next()).getName());
-					buffer.append('$');
-				}
-			}
-			buffer.append(getName());
-			fFullName = buffer.toString();
-		}
-		return fFullName;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof IReferenceTypeDescriptor) {
-			IReferenceTypeDescriptor refType = (IReferenceTypeDescriptor) obj;
-			return getQualifiedName().equals(refType.getQualifiedName());
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getQualifiedName().hashCode();
-	}		
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.descriptors.ElementDescriptorImpl#getComparable()
-	 */
-	protected Comparable getComparable() {
-		return getQualifiedName();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IElementDescriptor#getElementType()
-	 */
-	public int getElementType() {
-		return IElementDescriptor.T_REFERENCE_TYPE;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IReferenceTypeDescriptor#getSignature()
-	 */
-	public String getSignature() {
-		if (fSignature == null) {
-			StringBuffer buf = new StringBuffer();
-			buf.append('L');
-			buf.append(getQualifiedName());
-			buf.append(';');
-			fSignature = buf.toString();
-		}
-		return fSignature;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.model.component.IReferenceTypeDescriptor#getGenericSignature()
-	 */
-	public String getGenericSignature() {
-		return fGenericSignature;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.descriptors.IReferenceTypeDescriptor#isAnonymous()
-	 */
-	public boolean isAnonymous() {
-		if (getEnclosingType() != null) {
-			try {
-				Integer.parseInt(getName());
-				return true;
-			} catch (NumberFormatException e) {
-			}
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor#getMethod(java.lang.String, java.lang.String, int)
-	 */
-	public IMethodDescriptor getMethod(String name, String signature, int modifiers) {
-		return new MethodDescriptorImpl(name, this, signature, modifiers);
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/ResourceDescriptorImpl.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/ResourceDescriptorImpl.java
deleted file mode 100644
index 54b0e19..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/descriptors/ResourceDescriptorImpl.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.descriptors;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IResourceDescriptor;
-
-/**
- * An element descriptor that can describe an {@link IResource}
- * 
- * @since 0.1.0
- */
-public class ResourceDescriptorImpl extends NamedElementDescriptorImpl implements IResourceDescriptor {
-
-	/**
-	 * The backing path for this {@link IElementDescriptor}
-	 */
-	/*private IPath fPath = null;*/
-	
-	private IResource fResourceHandle = null;
-	
-	/**
-	 * Constructor
-	 * @param name
-	 */
-	public ResourceDescriptorImpl(IResource resource) {
-		super(resource.getName());
-		fResourceHandle = resource;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.descriptors.ElementDescriptorImpl#getPath()
-	 */
-	public IElementDescriptor[] getPath() {
-		ArrayList paths = new ArrayList();
-		IProject project = fResourceHandle.getProject();
-		if(project != null) {
-			IPath path = fResourceHandle.getProjectRelativePath();
-			IResource res = null;
-			for(int i = 1; i < path.segmentCount()+1; i++) {
-				res = project.findMember(path.uptoSegment(i));
-				if(res == null) {
-					//if any part of the path no longer exists, clear partial path collection and stop processing
-					paths.clear();
-					break;
-				}
-				paths.add(new ResourceDescriptorImpl(res));
-			}
-		}
-		return (IElementDescriptor[]) paths.toArray(new IElementDescriptor[paths.size()]);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.descriptors.ElementDescriptorImpl#getParent()
-	 */
-	public IElementDescriptor getParent() {
-		return new ResourceDescriptorImpl(fResourceHandle.getParent());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor#getElementType()
-	 */
-	public int getElementType() {
-		return T_RESOURCE;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return getName();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.descriptors.IResourceDescriptor#getResourceType()
-	 */
-	public int getResourceType() {
-		return fResourceHandle.getType();
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getName().hashCode();
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if(obj instanceof IResourceDescriptor) {
-			return ((IResourceDescriptor)obj).getName().equals(getName());
-		}
-		return super.equals(obj);
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/natures/ApiToolProjectNature.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/natures/ApiToolProjectNature.java
deleted file mode 100644
index 1d6fbae..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/natures/ApiToolProjectNature.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.natures;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IProjectNature;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-
-public class ApiToolProjectNature implements IProjectNature {
-	
-	IProject project;
-
-	/**
-	 * Add the Api plugin builder in the project build spec
-	 */
-	public void configure() throws CoreException {
-		addToBuildSpec(ApiPlugin.BUILDER_ID);
-	}
-
-	/**
-	 * Remove the Api plugin builder from the project build spec
-	 */
-	public void deconfigure() throws CoreException {
-		removeFromBuildSpec(ApiPlugin.BUILDER_ID);
-	}
-
-	/**
-	 * Retrieve the current project
-	 * 
-	 * @return the current project
-	 */
-	public IProject getProject() {
-		return this.project;
-	}
-
-	/**
-	 * Sset the current project
-	 */
-	public void setProject(IProject project) {
-		this.project = project;
-	}
-
-	/**
-	 * Adds a builder to the build spec for the given project.
-	 */
-	protected void addToBuildSpec(String builderID) throws CoreException {
-		IProjectDescription description = this.project.getDescription();
-		ICommand[] oldBuildSpec = description.getBuildSpec();
-		int oldApiCommandIndex = -1;
-		int length = oldBuildSpec.length;
-		loop: for (int i = 0; i < length; ++i) {
-			if (oldBuildSpec[i].getBuilderName().equals(builderID)) {
-				oldApiCommandIndex = i;
-				break loop;
-			}
-		}
-		ICommand[] newCommands;
-
-		ICommand newCommand = description.newCommand();
-		newCommand.setBuilderName(builderID);
-
-		if (oldApiCommandIndex == -1) {
-			// Add a API build spec after all existing builders
-			newCommands = new ICommand[length + 1];
-			System.arraycopy(oldBuildSpec, 0, newCommands, 0, length);
-			newCommands[length] = newCommand;
-		} else {
-			oldBuildSpec[oldApiCommandIndex] = newCommand;
-			newCommands = oldBuildSpec;
-		}
-
-		// Commit the spec change into the project
-		description.setBuildSpec(newCommands);
-		this.project.setDescription(description, null);
-	}
-	
-	/**
-	 * Removes the given builder from the build spec for the given project.
-	 */
-	protected void removeFromBuildSpec(String builderID) throws CoreException {
-		IProjectDescription description = this.project.getDescription();
-		ICommand[] commands = description.getBuildSpec();
-		for (int i = 0; i < commands.length; ++i) {
-			if (commands[i].getBuilderName().equals(builderID)) {
-				ICommand[] newCommands = new ICommand[commands.length - 1];
-				System.arraycopy(commands, 0, newCommands, 0, i);
-				System.arraycopy(commands, i + 1, newCommands, i, commands.length - i - 1);
-				description.setBuildSpec(newCommands);
-				this.project.setDescription(description, null);
-				return;
-			}
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/problems/ApiProblem.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/problems/ApiProblem.java
deleted file mode 100644
index d42064a..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/problems/ApiProblem.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.problems;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * A description of an api problem
- * 
- * @since 1.0.0
- */
-public class ApiProblem implements IApiProblem {
-
-	/**
-	 * Human readable message for the problem
-	 * TODO should not be passed in  by user, should be derived (lazily loaded)
-	 */
-	private String fMessage = null;
-	/**
-	 * The resource path for this problem
-	 */
-	private String fResourcePath = null;
-	/**
-	 * The composite id of the problem. Contains the category, 
-	 * element kind, kind, and flags for a specific problem
-	 */
-	private int fId = 0;
-	/**
-	 * The listing of extra argument ids for the problem
-	 */
-	private String[] fExtraArgumentIds = null;
-	/**
-	 * The listing of corresponding arguments for the problem
-	 */
-	private Object[] fExtraArguments = null;
-	/**
-	 * The listing of arguments used to fill localized messages
-	 */
-	private String[] fMessageArguments = null;
-	/**
-	 * The line number the problem occurred on
-	 */
-	private int fLineNumber = -1;
-	/**
-	 * The start of a character selection range
-	 */
-	private int fCharStart = -1;
-	/**
-	 * The end of a character selection range
-	 */
-	private int fCharEnd = -1;
-	
-	/**
-	 * Masks to get the original bits out of the id
-	 */
-	public static final int CATEGORY_MASK = 0xF0000000;
-	public static final int ELEMENT_KIND_MASK = 0x0F000000;
-	public static final int KIND_MASK = 0x00F00000;
-	public static final int FLAGS_MASK = 0x000FF000;
-	public static final int MESSAGE_MASK = 0x00000FFF;
-	
-	/**
-	 * Constructor
-	 * @param resource the resource this problem occurs on / in
-	 * @param messageargs arguments to be passed into a localized message for the problem
-	 * @param argumentids the ids of arguments passed into the problem
-	 * @param arguments the arguments that correspond to the listing of ids
-	 * @param linenumber the line this problem occurred on
-	 * @param charstart the char selection start position
-	 * @param charend the char selection end position
-	 * @param severity the severity level of the problem
-	 * @param id the id of the problem
-	 */
-	public ApiProblem(String path, String[] messageargs, String[] argumentids, Object[] arguments, int linenumber, int charstart, int charend, int id) {
-		this.fResourcePath = path;
-		this.fId = id;
-		this.fExtraArgumentIds = argumentids;
-		this.fExtraArguments = arguments;
-		this.fLineNumber = linenumber;
-		this.fCharStart = charstart;
-		this.fCharEnd = charend;
-		this.fMessageArguments = messageargs;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiProblem#getId()
-	 */
-	public int getId() {
-		return fId;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiProblem#getCategory()
-	 */
-	public int getCategory() {
-		return (fId & CATEGORY_MASK);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem#getMessageid()
-	 */
-	public int getMessageid() {
-		return (fId & MESSAGE_MASK) >> OFFSET_MESSAGE;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiProblem#getFlags()
-	 */
-	public int getFlags() {
-		return (fId & FLAGS_MASK) >> OFFSET_FLAGS;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiProblem#getKind()
-	 */
-	public int getKind() {
-		return (fId & KIND_MASK) >> OFFSET_KINDS;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiProblem#getMessage()
-	 */
-	public String getMessage() {
-		if(fMessage == null) {
-			fMessage = ApiProblemFactory.getLocalizedMessage(this);
-		}
-		return fMessage;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem#getResourcePath()
-	 */
-	public String getResourcePath() {
-		return fResourcePath;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiProblem#getSeverity()
-	 */
-	public int getSeverity() {
-		if(ApiPlugin.isRunningInFramework()) {
-			return ApiPlugin.getDefault().getSeverityLevel(ApiProblemFactory.getProblemSeverityId(this), null);
-		}
-		return IMarker.SEVERITY_WARNING;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiProblem#getElementKind()
-	 */
-	public int getElementKind() {
-		return (fId & ELEMENT_KIND_MASK) >> OFFSET_ELEMENT;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem#getLineNumber()
-	 */
-	public int getLineNumber() {
-		return fLineNumber;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem#getCharStart()
-	 */
-	public int getCharStart() {
-		return fCharStart;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem#getCharEnd()
-	 */
-	public int getCharEnd() {
-		return fCharEnd;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem#getExtraMarkerAttributeNames()
-	 */
-	public String[] getExtraMarkerAttributeIds() {
-		if(fExtraArguments == null || fExtraArgumentIds == null) {
-			return new String[0];
-		}
-		if(fExtraArgumentIds.length != fExtraArguments.length) {
-			return new String[0];
-		}
-		return fExtraArgumentIds;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem#getExtraMarkerAttributeValues()
-	 */
-	public Object[] getExtraMarkerAttributeValues() {
-		if(fExtraArguments == null || fExtraArgumentIds == null) {
-			return new String[0];
-		}
-		if(fExtraArgumentIds.length != fExtraArguments.length) {
-			return new String[0];
-		}
-		return fExtraArguments;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem#getMessageArguments()
-	 */
-	public String[] getMessageArguments() {
-		if(fMessageArguments == null) {
-			return new String[0];
-		}
-		return fMessageArguments;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if(obj instanceof IApiProblem) {
-			IApiProblem problem = (IApiProblem) obj;
-			return problem.getId() == fId &&
-					new Path(problem.getResourcePath()).equals(new Path(fResourcePath));
-		}
-		return super.equals(obj);
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Api problem: "); //$NON-NLS-1$
-		buffer.append(fResourcePath);
-		buffer.append("[severity: "); //$NON-NLS-1$
-		buffer.append(Util.getSeverity(getSeverity()));
-		buffer.append(" category: "); //$NON-NLS-1$
-		buffer.append(Util.getProblemCategory(getCategory()));
-		buffer.append(" element kind: "); //$NON-NLS-1$
-		buffer.append(Util.getProblemElementKind(getCategory(), getElementKind()));
-		buffer.append(" kind: "); //$NON-NLS-1$
-		buffer.append(Util.getProblemKind(getCategory(), getKind()));
-		buffer.append(" flags: "); //$NON-NLS-1$
-		buffer.append(Util.getDeltaFlagsName(getFlags()));
-		buffer.append("]"); //$NON-NLS-1$
-		return buffer.toString();
-	}	
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getId() + fResourcePath.hashCode();
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/problems/ApiProblemFactory.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/problems/ApiProblemFactory.java
deleted file mode 100644
index aa545de..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/problems/ApiProblemFactory.java
+++ /dev/null
@@ -1,579 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.problems;
-
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.pde.api.tools.internal.builder.BuilderMessages;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemTypes;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Factory for creating {@link IApiProblem}s
- * 
- * @since 1.0.0
- */
-public class ApiProblemFactory {
-	
-	/**
-	 * The current mapping of problem id to message
-	 */
-	private static Hashtable fMessages = null;
-	
-	/**
-	 * Creates a new {@link IApiProblem}
-	 * @param resourcepath the path to the resource this problem was found in
-	 * @param messageargs listing of arguments to pass in to the localized message.
-	 * The arguments are passed into the string in the order they appear in the array.
-	 * @param argumentids the ids of arguments passed into the problem
-	 * @param arguments the arguments that correspond to the listing of ids
-	 * @param linenumber the number of the line the problem occurred on
-	 * @param charstart the start of a char selection range
-	 * @param charend the end of a char selection range
-	 * @param category the category of the problem. See {@link IApiProblem} for categories
-	 * @param element the id of the backing element for this problem See {@link IElementDescriptor}, {@link IDelta} and {@link IJavaElement} for kinds
-	 * @param kind the kind of the problem
-	 * @param flags any additional flags for the kind
-	 * @return a new {@link IApiProblem}
-	 */
-	public static IApiProblem newApiProblem(String resourcepath, String[] messageargs, String[] argumentids, Object[] arguments, int linenumber, int charstart, int charend, int category, int element, int kind, int flags) {
-		return newApiProblem(resourcepath, messageargs, argumentids, arguments, linenumber, charstart, charend, createProblemId(category, element, kind, flags));
-	}
-	
-	/**
-	 * Creates a new {@link IApiProblem}
-	 * @param resourcepath the path to the resource this problem was found in
-	 * @param messageargs listing of arguments to pass in to the localized message.
-	 * The arguments are passed into the string in the order they appear in the array.
-	 * @param argumentids the ids of arguments passed into the problem
-	 * @param arguments the arguments that correspond to the listing of ids
-	 * @param linenumber the number of the line the problem occurred on
-	 * @param charstart the start of a char selection range
-	 * @param charend the end of a char selection range
-	 * @param id the composite id of the problem
-	 * @return a new {@link IApiProblem}
-	 */
-	public static IApiProblem newApiProblem(String resourcepath, String[] messageargs, String[] argumentids, Object[] arguments, int linenumber, int charstart, int charend, int id) {
-		return new ApiProblem(resourcepath, messageargs, argumentids, arguments, linenumber, charstart, charend, id);
-	}
-	
-	/**
-	 * Creates a new API usage {@link IApiProblem}
-	 * @param resourcepath the path to the resource this problem was found in
-	 * @param messageargs listing of arguments to pass in to the localized message.
-	 * The arguments are passed into the string in the order they appear in the array.
-	 * @param argumentids the ids of arguments passed into the problem
-	 * @param arguments the arguments that correspond to the listing of ids
-	 * @param linenumber the number of the line the problem occurred on
-	 * @param charstart the start of a char selection range
-	 * @param charend the end of a char selection range
-	 * @param severity the severity of the problem
-	 * @param element the element kind
-	 * @param kind the kind
-	 * @return a new {@link IApiProblem} for API usage
-	 */
-	public static IApiProblem newApiUsageProblem(String resourcepath, String[] messageargs, String[] argumentids, Object[] arguments, int linenumber, int charstart, int charend, int element, int kind) {
-		int id = createProblemId(IApiProblem.CATEGORY_USAGE, element, kind, IApiProblem.NO_FLAGS);
-		return newApiProblem(resourcepath, messageargs, argumentids, arguments, linenumber, charstart, charend, id);
-	}
-
-	/**
-	 * Creates a new API usage {@link IApiProblem}
-	 * @param resourcepath the path to the resource this problem was found in
-	 * @param messageargs listing of arguments to pass in to the localized message.
-	 * The arguments are passed into the string in the order they appear in the array.
-	 * @param argumentids the ids of arguments passed into the problem
-	 * @param arguments the arguments that correspond to the listing of ids
-	 * @param linenumber the number of the line the problem occurred on
-	 * @param charstart the start of a char selection range
-	 * @param charend the end of a char selection range
-	 * @param severity the severity of the problem
-	 * @param element the element kind
-	 * @param kind the kind
-	 * @param flags the flags
-	 * @return a new {@link IApiProblem} for API usage
-	 */
-	public static IApiProblem newApiUsageProblem(String resourcepath, String[] messageargs, String[] argumentids, Object[] arguments, int linenumber, int charstart, int charend, int element, int kind, int flags) {
-		int id = createProblemId(IApiProblem.CATEGORY_USAGE, element, kind, flags);
-		return newApiProblem(resourcepath, messageargs, argumentids, arguments, linenumber, charstart, charend, id);
-	}
-	
-	/**
-	 * Creates a new API usage {@link IApiProblem}
-	 * @param resourcepath the path to the resource this problem was found in
-	 * @param messageargs listing of arguments to pass in to the localized message.
-	 * The arguments are passed into the string in the order they appear in the array.
-	 * @param argumentids the ids of arguments passed into the problem
-	 * @param arguments the arguments that correspond to the listing of ids
-	 * @param linenumber the number of the line the problem occurred on
-	 * @param charstart the start of a char selection range
-	 * @param charend the end of a char selection range
-	 * @param severity the severity of the problem
-	 * @param element the element kind
-	 * @param kind the kind
-	 * @return a new {@link IApiProblem} for API usage
-	 */
-	public static IApiProblem newApiProfileProblem(String resourcepath, String[] messageargs, String[] argumentids, Object[] arguments, int linenumber, int charstart, int charend, int element, int kind) {
-		int id = createProblemId(IApiProblem.CATEGORY_API_PROFILE, element, kind, IApiProblem.NO_FLAGS);
-		return newApiProblem(resourcepath, messageargs, argumentids, arguments, linenumber, charstart, charend, id);
-	}
-	
-	/**
-	 * Creates a new since tag {@link IApiProblem}
-	 * @param resourcepath the path to the resource this problem was found in
-	 * @param messageargs listing of arguments to pass in to the localized message.
-	 * The arguments are passed into the string in the order they appear in the array.
-	 * @param argumentids the ids of arguments passed into the problem
-	 * @param arguments the arguments that correspond to the listing of ids
-	 * @param linenumber the number of the line the problem occurred on
-	 * @param charstart the start of a char selection range
-	 * @param charend the end of a char selection range
-	 * @param severity the severity
-	 * @param element the element kind
-	 * @param kind the kind
-	 * @return a new {@link IApiProblem} for since tags
-	 */
-	public static IApiProblem newApiSinceTagProblem(String resourcepath, String[] messageargs, String[] argumentids, Object[] arguments, int linenumber, int charstart, int charend, int element, int kind) {
-		int id = createProblemId(IApiProblem.CATEGORY_SINCETAGS, element, kind, IApiProblem.NO_FLAGS);
-		return newApiProblem(resourcepath, messageargs, argumentids, arguments, linenumber, charstart, charend, id);
-	}
-	
-	/**
-	 * Creates a new version number {@link IApiProblem}
-	 * @param resourcepath the path to the resource this problem was found in
-	 * @param messageargs listing of arguments to pass in to the localized message.
-	 * The arguments are passed into the string in the order they appear in the array.
-	 * @param argumentids the ids of arguments passed into the problem
-	 * @param arguments the arguments that correspond to the listing of ids
-	 * @param linenumber the number of the line the problem occurred on
-	 * @param charstart the start of a char selection range
-	 * @param charend the end of a char selection range
-	 * @param severity the severity
-	 * @param element the element kind
-	 * @param kind the kind
-	 * @return a new {@link IApiProblem} for version numbers
-	 */
-	public static IApiProblem newApiVersionNumberProblem(String resourcepath, String[] messageargs, String[] argumentids, Object[] arguments, int linenumber, int charstart, int charend, int element, int kind) {
-		int id = createProblemId(IApiProblem.CATEGORY_VERSION, element, kind, IApiProblem.NO_FLAGS);
-		return newApiProblem(resourcepath, messageargs, argumentids, arguments, linenumber, charstart, charend, id);
-	}
-	
-	/**
-	 * Returns the localized message for the given {@link IApiProblem}. Returns
-	 * <code>null</code> if no localized message cannot be created.
-	 * @param problemid the id of the problem to create a message for
-	 * @param arguments the arguments to pass into the localized string. The arguments are passed in to the string
-	 * in the order they appear in the array.
-	 * 
-	 * @return a localized message for the given {@link IApiProblem} or <code>null</code>
-	 */
-	public static String getLocalizedMessage(IApiProblem problem) {
-		return getLocalizedMessage(problem.getMessageid(), problem.getMessageArguments());
-	}
-	
-	/**
-	 * Returns the localized message for the given category, element kind, kind, flags and message arguments. Returns
-	 * <code>null</code> if no localized message cannot be created.
-	 * @param messageid
-	 * @param messageargs
-	 * @return a localized message for the given arguments of <code>null</code>
-	 */
-	public static String getLocalizedMessage(int messageid, String[] messageargs){
-		if(fMessages == null) {
-			fMessages = loadMessageTemplates(Locale.getDefault());
-		}
-		String message = (String) fMessages.get(new Integer(messageid));
-		if(message == null) {
-			return MessageFormat.format(BuilderMessages.ApiProblemFactory_problem_message_not_found, new String[] {Integer.toString(messageid)});
-		}
-		return MessageFormat.format(message, messageargs);
-	}
-	
-	/**
-	 * This method initializes the MessageTemplates class variable according
-	 * to the current Locale.
-	 * @param loc Locale
-	 * @return HashtableOfInt
-	 */
-	public static Hashtable loadMessageTemplates(Locale loc) {
-		ResourceBundle bundle = null;
-		String bundleName = "org.eclipse.pde.api.tools.internal.problems.problemmessages"; //$NON-NLS-1$
-		try {
-			bundle = ResourceBundle.getBundle(bundleName, loc); 
-		} catch(MissingResourceException e) {
-			System.out.println("Missing resource : " + bundleName.replace('.', '/') + ".properties for locale " + loc); //$NON-NLS-1$//$NON-NLS-2$
-			throw e;
-		}
-		Hashtable templates = new Hashtable(700);
-		Enumeration keys = bundle.getKeys();
-		while (keys.hasMoreElements()) {
-		    String key = (String)keys.nextElement();
-		    try {
-		        int messageID = Integer.parseInt(key);
-				templates.put(new Integer(messageID), bundle.getString(key));
-		    } catch(NumberFormatException e) {
-		        // key ill-formed
-			} catch (MissingResourceException e) {
-				// available ID
-		    }
-		}
-		return templates;
-	}
-	
-	/**
-	 * Creates a problem id from the composite members of a problem id.
-	 * @param category
-	 * @param element
-	 * @param kind
-	 * @param flags
-	 * @return a new problem id
-	 */
-	public static int createProblemId(int category, int element, int kind, int flags) {
-		return category | element << IApiProblem.OFFSET_ELEMENT | 
-						  kind << IApiProblem.OFFSET_KINDS | 
-						  flags << IApiProblem.OFFSET_FLAGS |
-						  getProblemMessageId(category, element, kind, flags);
-	}
-	
-	/**
-	 * Returns the kind of the problem from the given problem id. The returned kind is not checked to see if it
-	 * is correct or existing.
-	 * 
-	 * @see IApiProblem#getKind()
-	 * @see IDelta#getKind()
-	 * 
-	 * @param problemid
-	 * @return the kind from the given problem id
-	 */
-	public static int getProblemKind(int problemid) {
-		return (problemid & ApiProblem.KIND_MASK) >> IApiProblem.OFFSET_KINDS;
-	}
-	
-	/**
-	 * Returns the kind of element from the given problem id. The returned element kind is not checked to see if it
-	 * is correct or existing.
-	 * 
-	 * @see IElementDescriptor#getElementType()
-	 * @see IDelta#getElementType()
-	 * 
-	 * @param problemid
-	 * @return the element kind from the given problem id
-	 */
-	public static int getProblemElementKind(int problemid) {
-		return (problemid & ApiProblem.ELEMENT_KIND_MASK) >> IApiProblem.OFFSET_ELEMENT;
-	}
-	
-	/**
-	 * Returns the flags from the given problem id. The returned flags are not checked to see if they
-	 * are correct or existing.
-	 * 
-	 * @see IDelta#getFlags()
-	 * 
-	 * @param problemid
-	 * @return the flags from the given problem id
-	 */
-	public static int getProblemFlags(int problemid) {
-		return (problemid & ApiProblem.FLAGS_MASK) >> IApiProblem.OFFSET_FLAGS;
-	}
-	
-	/**
-	 * Returns the category of the given problem id. The returned category is not checked to see if it
-	 * is correct or existing.
-	 * 
-	 * @see IApiProblem#getCategory()
-	 * 
-	 * @param problemid
-	 * @return the category of this problem id
-	 */
-	public static int getProblemCategory(int problemid) {
-		return (problemid & ApiProblem.CATEGORY_MASK);
-	}
-	
-	/**
-	 * Returns the problem message id for the given problem parameters.
-	 * @param category
-	 * @param element
-	 * @param kind
-	 * @param flags
-	 * @return the id of the message to use for the given problem parameters or <code>0</code>
-	 */
-	public static int getProblemMessageId(int category, int element, int kind, int flags) {
-		switch(category) {
-			case IApiProblem.CATEGORY_API_PROFILE: {
-				switch(kind) {
-					case IApiProblem.API_PROFILE_MISSING: return 1;
-				}
-			}
-			case IApiProblem.CATEGORY_SINCETAGS: {
-				switch(kind) {
-					case IApiProblem.SINCE_TAG_INVALID: return 2;
-					case IApiProblem.SINCE_TAG_MALFORMED: return 3;
-					case IApiProblem.SINCE_TAG_MISSING: return 4;
-				}
-			}
-			case IApiProblem.CATEGORY_VERSION: {
-				switch(kind) {
-					case IApiProblem.MAJOR_VERSION_CHANGE: return 5;
-					case IApiProblem.MAJOR_VERSION_CHANGE_NO_BREAKAGE: return 6;
-					case IApiProblem.MINOR_VERSION_CHANGE: return 7;
-				}
-			}
-			case IApiProblem.CATEGORY_USAGE: {
-				switch(kind) {
-					case IApiProblem.ILLEGAL_IMPLEMENT: return 8;
-					case IApiProblem.ILLEGAL_EXTEND: return 9;
-					case IApiProblem.ILLEGAL_INSTANTIATE: return 10;
-					case IApiProblem.ILLEGAL_OVERRIDE: return 11;
-					case IApiProblem.ILLEGAL_REFERENCE: return 12;
-					case IApiProblem.API_LEAK: {
-						switch(flags) {
-							case IApiProblem.LEAK_EXTENDS: return 13;
-							case IApiProblem.LEAK_IMPLEMENTS: return 14;
-							case IApiProblem.LEAK_FIELD: return 15;
-							case IApiProblem.LEAK_RETURN_TYPE: return 16;
-							case IApiProblem.LEAK_METHOD_PARAMETER: return 17;
-						}
-					}
-				}
-			}
-			case IApiProblem.CATEGORY_BINARY: {
-				switch(kind) {
-					case IDelta.ADDED: {
-						switch(element) {
-							case IDelta.CLASS_ELEMENT_TYPE: {
-								switch(flags) {
-									case IDelta.FIELD: return 37;
-									case IDelta.METHOD: return 41;
-									case IDelta.TYPE_MEMBER: return 47;
-								}
-							}
-							case IDelta.ENUM_ELEMENT_TYPE: {
-								switch(flags) {
-									case IDelta.FIELD: return 38;
-									case IDelta.METHOD: return 42;
-									case IDelta.TYPE_MEMBER: return 48;
-								}
-							}
-							case IDelta.ANNOTATION_ELEMENT_TYPE: {
-								switch(flags) {
-									case IDelta.FIELD: return 39;
-									case IDelta.METHOD: return 43;
-									case IDelta.TYPE_MEMBER: return 46;
-								}
-							}
-							case IDelta.INTERFACE_ELEMENT_TYPE: {
-								switch(flags) {
-									case IDelta.FIELD: return 40;
-									case IDelta.METHOD: return 44;
-									case IDelta.TYPE_MEMBER: return 45;
-								}
-							}
-						}
-						switch(flags) {
-							case IDelta.ANNOTATION_DEFAULT_VALUE: return 18;
-							case IDelta.API_COMPONENT: return 19;
-							case IDelta.CHECKED_EXCEPTION: return 20;
-							case IDelta.CLASS_BOUND: return 21;
-							case IDelta.CLINIT: return 22;
-							case IDelta.CONSTRUCTOR: return 23;
-							case IDelta.ENUM_CONSTANT: return 24;
-							case IDelta.EXECUTION_ENVIRONMENT: return 25;
-							case IDelta.INTERFACE_BOUND: return 26;
-							case IDelta.INTERFACE_BOUNDS: return 27;
-							case IDelta.METHOD_WITH_DEFAULT_VALUE: return 28;
-							case IDelta.METHOD_WITHOUT_DEFAULT_VALUE: return 29;
-							case IDelta.SUPERCLASS: return 30;
-							case IDelta.TYPE: return 31;
-							case IDelta.TYPE_PARAMETER: return 32;
-							case IDelta.TYPE_ARGUMENTS: return 33;
-							case IDelta.TYPE_PARAMETERS: return 34;
-							case IDelta.UNCHECKED_EXCEPTION: return 35;
-							case IDelta.VALUE: return 36;
-							
-						}
-					}
-					case IDelta.CHANGED: {
-						switch(element) {
-							case IDelta.FIELD_ELEMENT_TYPE: {
-								switch(flags) {
-									case IDelta.TYPE: return 81;
-									case IDelta.VALUE: return 84;
-								}
-							}
-						}
-						switch(flags) {
-							case IDelta.ABSTRACT_TO_NON_ABSTRACT: return 49;
-							case IDelta.ANNOTATION_DEFAULT_VALUE: return 50;
-							case IDelta.ARRAY_TO_VARARGS: return 51;
-							case IDelta.CLASS_BOUND: return 52;
-							case IDelta.CONTRACTED_SUPERCLASS_SET: return 53;
-							case IDelta.CONTRACTED_SUPERINTERFACES_SET: return 54;
-							case IDelta.DECREASE_ACCESS: return 55;
-							case IDelta.EXPANDED_SUPERCLASS_SET: return 57;
-							case IDelta.EXPANDED_SUPERINTERFACES_SET: return 58;
-							case IDelta.FINAL_TO_NON_FINAL: return 59;
-							case IDelta.FINAL_TO_NON_FINAL_NON_STATIC: return 60;
-							case IDelta.FINAL_TO_NON_FINAL_STATIC_CONSTANT: return 61;
-							case IDelta.FINAL_TO_NON_FINAL_STATIC_NON_CONSTANT: return 62;
-							case IDelta.INCREASE_ACCESS: return 63;
-							case IDelta.INTERFACE_BOUND: return 64;
-							case IDelta.NATIVE_TO_NON_NATIVE: return 65;
-							case IDelta.NON_ABSTRACT_TO_ABSTRACT: return 66;
-							case IDelta.NON_FINAL_TO_FINAL: return 67;
-							case IDelta.NON_NATIVE_TO_NATIVE: return 68;
-							case IDelta.NON_STATIC_TO_STATIC: return 69;
-							case IDelta.NON_SYNCHRONIZED_TO_SYNCHRONIZED: return 70;
-							case IDelta.NON_TRANSIENT_TO_TRANSIENT: return 71;
-							case IDelta.RESTRICTIONS: return 72;
-							case IDelta.STATIC_TO_NON_STATIC: return 73;
-							case IDelta.SUPERCLASS: return  74;
-							case IDelta.SYNCHRONIZED_TO_NON_SYNCHRONIZED: return 75;
-							case IDelta.TO_ANNOTATION: return 76;
-							case IDelta.TO_CLASS: return 77;
-							case IDelta.TO_ENUM: return 78;
-							case IDelta.TO_INTERFACE: return 79;
-							case IDelta.TRANSIENT_TO_NON_TRANSIENT: return 80;
-							case IDelta.TYPE_PARAMETER_NAME: return 82;
-							case IDelta.TYPE_VISIBILITY: return 83;
-							case IDelta.VARARGS_TO_ARRAY: return 85;
-						}
-					}
-					case IDelta.REMOVED: {
-						switch(flags) {
-							case IDelta.ANNOTATION_DEFAULT_VALUE: return 86;
-							case IDelta.API_COMPONENT: return 87;
-							case IDelta.CHECKED_EXCEPTION: return 88;
-							case IDelta.CLASS_BOUND: return 89;
-							case IDelta.CLINIT: return 90;
-							case IDelta.CONSTRUCTOR: return 91;
-							case IDelta.ENUM_CONSTANT: return 92;
-							case IDelta.EXECUTION_ENVIRONMENT: return 93;
-							case IDelta.FIELD: return 94;
-							case IDelta.FIELD_MOVED_UP: return 95;
-							case IDelta.INTERFACE_BOUND: return 96;
-							case IDelta.INTERFACE_BOUNDS: return 97;
-							case IDelta.METHOD: return 98;
-							case IDelta.METHOD_MOVED_UP: return 99;
-							case IDelta.METHOD_WITH_DEFAULT_VALUE: return 100;
-							case IDelta.METHOD_WITHOUT_DEFAULT_VALUE: return 101;
-							case IDelta.TYPE: return 102;
-							case IDelta.TYPE_ARGUMENTS: return 103;
-							case IDelta.TYPE_MEMBER: return 104;
-							case IDelta.TYPE_PARAMETER: return 105;
-							case IDelta.TYPE_PARAMETERS: return 106;
-							case IDelta.UNCHECKED_EXCEPTION: return 107;
-							case IDelta.VALUE : return 108;
-						}
-					}
-				}
-			}
-		}
-		return 0;
-	}
-	
-	/**
-	 * Returns the problem severity id for the given problem parameters.
-	 * @param category
-	 * @param element
-	 * @param kind
-	 * @param flags
-	 * @return the id of the preference to use to lookup the user specified severity level for the given {@link IApiProblem}
-	 */
-	public static String getProblemSeverityId(IApiProblem problem) {
-		switch(problem.getCategory()) {
-			case IApiProblem.CATEGORY_API_PROFILE: {
-				switch(problem.getKind()) {
-					case IApiProblem.API_PROFILE_MISSING: return IApiProblemTypes.MISSING_DEFAULT_API_PROFILE;
-				}
-			}
-			case IApiProblem.CATEGORY_SINCETAGS: {
-				switch(problem.getKind()) {
-					case IApiProblem.SINCE_TAG_INVALID: return IApiProblemTypes.INVALID_SINCE_TAG_VERSION;
-					case IApiProblem.SINCE_TAG_MALFORMED: return IApiProblemTypes.MALFORMED_SINCE_TAG;
-					case IApiProblem.SINCE_TAG_MISSING: return IApiProblemTypes.MISSING_SINCE_TAG;
-				}
-			}
-			case IApiProblem.CATEGORY_VERSION: {
-				return IApiProblemTypes.INCOMPATIBLE_API_COMPONENT_VERSION;
-			}
-			case IApiProblem.CATEGORY_USAGE: {
-				switch(problem.getKind()) {
-					case IApiProblem.ILLEGAL_IMPLEMENT: return IApiProblemTypes.ILLEGAL_IMPLEMENT;
-					case IApiProblem.ILLEGAL_EXTEND: return IApiProblemTypes.ILLEGAL_EXTEND;
-					case IApiProblem.ILLEGAL_INSTANTIATE: return IApiProblemTypes.ILLEGAL_INSTANTIATE;
-					case IApiProblem.ILLEGAL_OVERRIDE: return IApiProblemTypes.ILLEGAL_OVERRIDE;
-					case IApiProblem.ILLEGAL_REFERENCE: return IApiProblemTypes.ILLEGAL_REFERENCE;
-					case IApiProblem.API_LEAK: return IApiProblemTypes.API_LEAK;
-				}
-			}
-			case IApiProblem.CATEGORY_BINARY: {
-				return Util.getDeltaPrefererenceKey(problem.getElementKind(), problem.getKind(), problem.getFlags());
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the problem kind from the given preference key.
-	 * 
-	 * @see IApiProblemTypes for a listing of all preference keys
-	 * @param prefkey
-	 * @return the corresponding kind for the given preference key, or 0 if the pref key is unknown
-	 */
-	public static int getProblemKindFromPref(String prefkey) {
-		if(IApiProblemTypes.ILLEGAL_EXTEND.equals(prefkey)) {
-			return IApiProblem.ILLEGAL_EXTEND;
-		}
-		if(IApiProblemTypes.ILLEGAL_IMPLEMENT.equals(prefkey)) {
-			return IApiProblem.ILLEGAL_IMPLEMENT;
-		}
-		if(IApiProblemTypes.ILLEGAL_INSTANTIATE.equals(prefkey)) {
-			return IApiProblem.ILLEGAL_INSTANTIATE;
-		}
-		if(IApiProblemTypes.ILLEGAL_REFERENCE.equals(prefkey)) {
-			return IApiProblem.ILLEGAL_REFERENCE;
-		}
-		if(IApiProblemTypes.ILLEGAL_OVERRIDE.equals(prefkey)) {
-			return IApiProblem.ILLEGAL_OVERRIDE;
-		}
-		if(IApiProblemTypes.MISSING_SINCE_TAG.equals(prefkey)) {
-			return IApiProblem.SINCE_TAG_MISSING;
-		}
-		if(IApiProblemTypes.MALFORMED_SINCE_TAG.equals(prefkey)) {
-			return IApiProblem.SINCE_TAG_MALFORMED;
-		}
-		if(IApiProblemTypes.INVALID_SINCE_TAG_VERSION.equals(prefkey)) {
-			return IApiProblem.SINCE_TAG_INVALID;
-		}
-		if(prefkey != null) {
-			if(prefkey.indexOf("ADDED") > -1) { //$NON-NLS-1$
-				return IDelta.ADDED;
-			}
-			if(prefkey.indexOf("CHANGED") > -1) { //$NON-NLS-1$
-				return IDelta.CHANGED;
-			}
-			if(prefkey.indexOf("REMOVED") > -1) { //$NON-NLS-1$
-				return IDelta.REMOVED;
-			}
-		}
-		return 0;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/problems/ApiProblemFilter.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/problems/ApiProblemFilter.java
deleted file mode 100644
index f5b8d6f..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/problems/ApiProblemFilter.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.problems;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemFilter;
-
-/**
- * Base implementation of {@link IApiProblemFilter}
- * 
- * @since 1.0.0
- */
-public class ApiProblemFilter implements IApiProblemFilter, Cloneable {
-
-	private String fComponentId = null;
-	private IApiProblem fProblem = null;
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param componentid
-	 * @param problem
-	 */
-	public ApiProblemFilter(String componentid, IApiProblem problem) {
-		fComponentId = componentid;
-		Assert.isNotNull(problem);
-		fProblem = problem;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.IApiProblemFilter#getComponentId()
-	 */
-	public String getComponentId() {
-		return fComponentId;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if(obj instanceof IApiProblemFilter) {
-			IApiProblemFilter filter = (IApiProblemFilter) obj;
-			return elementsEqual(filter.getComponentId(), fComponentId) &&
-					filter.getUnderlyingProblem().equals(fProblem);
-		}
-		else if(obj instanceof IApiProblem) {
-			return fProblem.equals(obj);
-		}
-		return super.equals(obj);
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return fProblem.hashCode() + fComponentId.hashCode();
-	}
-	
-	/**
-	 * Returns if the two specified objects are equal.
-	 * Objects are considered equal if:
-	 * <ol>
-	 * <li>they are both null</li>
-	 * <li>they are equal via the default .equals() method</li>
-	 * </ol>
-	 * @param s1
-	 * @param s2
-	 * @return true if the objects are equal, false otherwise
-	 */
-	private boolean elementsEqual(Object s1, Object s2) {
-		return (s1 == null && s2 == null) || (s1 != null && s1.equals(s2));
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Filter for : "); //$NON-NLS-1$
-		buffer.append(fProblem.toString());
-		return buffer.toString();
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#clone()
-	 */
-	public Object clone() {
-		return new ApiProblemFilter(this.fComponentId, fProblem);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IApiProblemFilter#getUnderlyingProblem()
-	 */
-	public IApiProblem getUnderlyingProblem() {
-		return fProblem;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/problems/problemmessages.properties b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/problems/problemmessages.properties
deleted file mode 100644
index f2589ad..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/problems/problemmessages.properties
+++ /dev/null
@@ -1,135 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-#
-# the slot 56 has been removed. So it is open again for another message
-#
-#api profile
-1 = An API baseline has not been set for the current workspace.
-
-#invalid since tag problems
-2 = Invalid @since tag: {0}; the expected @since tag value is {1}
-3 = Invalid @since tag: {0}; the @since tag can only have two fragments
-4 = Missing @since tag
-
-#version number problems
-5 = The major version should be incremented in version {0}, since API breakage occurred since version {1}
-6 = The major version should be identical in version {0}, since no API breakage occurred since version {1}
-7 = The minor version should be incremented in version {0}, since new APIs have been added since version {1}
-
-#api usage problems
-8 = Illegally implements {0}
-9 = Illegally extends {0}
-10 = Illegally instantiates {0}
-11 = Illegally overrides {0}.{1}
-12 = Illegally references {0}.{1}
-13 = Leaks non-API type {0} via extends
-14 = Leaks non-API type {0} via implements
-15 = Leaks non-API type {0} via field declaration
-16 = Leaks non-API type {0} via return type
-17 = Leaks non-API type {0} via method parameter
-
-#binary problems
-
-#added
-18 = Added an annotation default value
-19 = Added API component {0}
-20 = Added checked exception {0}
-21 = Added class bound {0}
-22 = Added a static initializer
-23 = Added a constructor
-24 = Added an enum constant
-25 = Added the execution environment {0}
-26 = Added interface bound {0}
-27 = Added interface bounds
-28 = Added a method with a default value
-29 = Added a method without a default value
-30 = Added superclass {0}
-31 = Added a type
-32 = Added a new type parameter to existing type parameters
-33 = Added type arguments
-34 = Added type parameters
-35 = Added unchecked exception {0}
-36 = Added a compile-time constant value
-37 = Added field {0} in a class that is intended to be extended
-38 = Added field {0} in an enum that is intended to be extended
-39 = Added field {0} in an annotation that is intended to be extended
-40 = Added field {0} in an interface that is intended to be implemented
-41 = Added method {0} in a class that is intended to be extended
-42 = Added method {0} in an enum that is intended to be extended
-43 = Added method {0} in an annotation that is intended to be extended
-44 = Added method {0} in an interface that is intended to be implemented
-45 = Added type member {0} in an interface that is intended to be implemented
-46 = Added type member {0} in an annotation that is intended to be extended
-47 = Added type member {0} in a class that is intended to be extended
-48 = Added type member {0} in an enum that is intended to be extended
-
-#changed
-49 = The 'abstract' keyword has been removed from {0}
-50 = Changed the annotation default value
-51 = Replaced an array type with a variable argument type
-52 = The class bound has been changed
-53 = The superclass set has been reduced
-54 = The super interfaces set has been reduced
-55 = Member visibility reduced
-57 = The superclass set has been expanded
-58 = The super interfaces set has been expanded
-59 = The 'final' keyword has been removed for a static member
-60 = The 'final' keyword has been removed for an instance member
-61 = The 'final' keyword has been removed for a compile-time constant static field
-62 = The 'final' keyword has been removed for a static field
-63 = Member visibility increased
-64 = The interface bound has been changed
-65 = The 'native' keyword has been removed
-66 = The 'abstract' keyword has been added
-67 = The 'final' keyword has been added
-68 = The 'native' keyword has been added
-69 = The 'static' keyword has been added
-70 = The 'synchronized' keyword has been added
-71 = The 'transient' keyword has been added
-72 = The restrictions have been changed
-73 = The static member has been converted to an instance member
-74 = The superclass has changed
-75 = The 'synchronized' keyword has been removed
-76 = The type has been changed to an annotation declaration
-77 = The type has been changed to a class declaration
-78 = The type has been changed to an enum declaration
-79 = The type has been changed to an interface declaration
-80 = The 'transient' keyword has been removed
-81 = The type of the field has been changed
-82 = The name of the type parameter has been changed
-83 = The visibility of the type has been changed
-84 = The constant value of the field has been changed
-85 = A variable argument type has been converted to an array type
-
-#removed
-86 = The default value of the annotation {0} has been removed
-87 = The API component {0} has been removed
-88 = The checked exception {0} has been removed
-89 = The class bound for the type parameter {0} has been removed
-90 = The static initializer for type {0} has been removed
-91 = The constructor {0} has been removed
-92 = The enum constant {0} has been removed
-93 = The execution environment {0} has been removed
-94 = The field {0} has been removed
-95 = The field {0} has been moved up in the hierarchy
-96 = The interface bound {0} has been removed
-97 = The interface bounds has been removed for {0}
-98 = The method {0} has been removed
-99 = The method {0} has been moved up in the hierarchy
-100 = The method {0} with a default value has been removed
-101 = The method {0} without a default value has been removed
-102 = The type {0} has been removed
-103 = The type arguments have been removed for {0}
-104 = The type member {0} has been removed
-105 = The type parameter {0} has been removed
-106 = The type parameters have been removed for {0}
-107 = The unchecked exception {0} has been removed
-108 = The constant value {0} has been removed
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/ApiDescriptionVisitor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/ApiDescriptionVisitor.java
deleted file mode 100644
index a44e408..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/ApiDescriptionVisitor.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional;
-
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-
-/**
- * A visitor for an API component. Component visitors must subclass
- * this class.
- * <p>
- * Package nodes are visited, followed by its type nodes. Component
- * specific nodes are visited before children nodes. 
- * </p>
- * <p> 
- * Specific visit ordering:
- * <pre>
- * ComponentDescription := [visitElement[PackageDescription] endVisitElement[PackageDescription]]*
- * PackageDescription := [visitElement[TypeDescription] endVisitElement[TypeDescription]]*
- * TypeDescription := [[visitElement[OverrideDescription] endVisitElement[OverrideDescription]]* [visitElement[MemberDescription] endVisitElement[MemberDescription]]*]*
- * MemberDescription := MethodDescription | FieldDescription
- * OverrideDescription := PackageDescription | TypeDescription | MethodDescription | FieldDescription
- * </pre>
- * 
- * MemberDescriptions are visited in the order they are keyed for the backing {@link HashMap}
- * </p>
- * 
- * @since 1.0.0
- */
-public class ApiDescriptionVisitor {
-
-	/**
-	 * Visits an element in the manifest and returns whether children nodes
-	 * in the manifest should be visited.
-	 * <p>
-	 * The default implementation does nothing and returns <code>true</code>.
-	 * Subclasses may re-implement.
-	 * </p>
-	 * @param element element being visited
-	 * @param componentContext specific component the API applies to or <code>null</code>
-	 * @param description description of the element visited 
-	 * @return whether child elements should be visited
-	 */
-	public boolean visitElement(IElementDescriptor element, String componentContext, IApiAnnotations description) {
-		return true;
-	}
-	
-	/**
-	 * End visiting an element.
-	 * <p>
-	 * The default implementation does nothing. Subclasses may re-implement.
-	 * </p>
-	 * @param element element being end-visited
-	 * @param componentContext specific component the API applies to or <code>null</code>
-	 * @param description description of the element end-visited
-	 */
-	public void endVisitElement(IElementDescriptor element, String componentContext, IApiAnnotations description) {
-		// subclasses may re-implement
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/ApiPlugin.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/ApiPlugin.java
deleted file mode 100644
index 2574a72..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/ApiPlugin.java
+++ /dev/null
@@ -1,582 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ISaveContext;
-import org.eclipse.core.resources.ISaveParticipant;
-import org.eclipse.core.resources.ProjectScope;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.preferences.IPreferencesService;
-import org.eclipse.core.runtime.preferences.IScopeContext;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.pde.api.tools.internal.ApiDescriptionManager;
-import org.eclipse.pde.api.tools.internal.ApiFilterStore;
-import org.eclipse.pde.api.tools.internal.ApiProfile;
-import org.eclipse.pde.api.tools.internal.ApiProfileManager;
-import org.eclipse.pde.api.tools.internal.JavadocTagManager;
-import org.eclipse.pde.api.tools.internal.PluginProjectApiComponent;
-import org.eclipse.pde.api.tools.internal.builder.ApiAnalysisBuilder;
-import org.eclipse.pde.api.tools.internal.comparator.ClassFileComparator;
-import org.eclipse.pde.api.tools.internal.descriptors.ElementDescriptorImpl;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemTypes;
-import org.eclipse.pde.api.tools.internal.provisional.scanner.TagScanner;
-import org.eclipse.pde.api.tools.internal.search.ClassFileVisitor;
-import org.eclipse.pde.api.tools.internal.search.SearchEngine;
-import org.osgi.framework.BundleContext;
-
-/**
- * API Tools core plug-in.
- * API tools can be run with or without an OSGi framework.
- * 
- * @since 1.0.0
- */
-public class ApiPlugin extends Plugin implements ISaveParticipant {
-	
-	/**
-	 * Constant representing the name of the javadoc tag extension point.
-	 * Value is <code>apiJavadocTags</code>
-	 */
-	public static final String EXTENSION_JAVADOC_TAGS = "apiJavadocTags"; //$NON-NLS-1$
-	/**
-	 * The plug-in identifier of the PDE API tool support
-	 * (value <code>"org.eclipse.pde.api.tools"</code>).
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.pde.api.tools" ; //$NON-NLS-1$
-	/**
-	 * The API tooling nature id
-	 * (value <code>"org.eclipse.pde.api.tools.apiAnalysisNature"</code>).
-	 */
-	public static final String NATURE_ID = PLUGIN_ID + ".apiAnalysisNature" ; //$NON-NLS-1$
-	/**
-	 * Status code indicating an unexpected internal error.
-	 */
-	public static final int INTERNAL_ERROR = 120;
-	/**
-	 * Status code indicating an unexpected error
-	 */
-	public static final int ERROR = 121;
-	
-	/**
-	 * Constant representing severity levels for error/warning preferences
-	 * Value is: <code>0</code>
-	 */
-	public static final int SEVERITY_IGNORE = 0;
-	/**
-	 * Constant representing severity levels for error/warning preferences
-	 * Value is: <code>1</code>
-	 */
-	public static final int SEVERITY_WARNING = 1;
-	/**
-	 * Constant representing severity levels for error/warning preferences
-	 * Value is: <code>2</code>
-	 */
-	public static final int SEVERITY_ERROR = 2;
-	
-	/**
-	 * Constant representing the preference value 'ignore'.
-	 * Value is: <code>Ignore</code>
-	 */
-	public static final String VALUE_IGNORE = "Ignore"; //$NON-NLS-1$
-	/**
-	 * Constant representing the preference value 'warning'.
-	 * Value is: <code>Warning</code>
-	 */
-	public static final String VALUE_WARNING = "Warning"; //$NON-NLS-1$
-	/**
-	 * Constant representing the preference value 'error'.
-	 * Value is: <code>Error</code>
-	 */
-	public static final String VALUE_ERROR = "Error"; //$NON-NLS-1$
-	
-	/**
-	 * The identifier for the Api builder
-	 * Value is: <code>"org.eclipse.pde.api.tools.apiAnalysisBuilder"</code>
-	 */
-	public static final String BUILDER_ID = PLUGIN_ID + ".apiAnalysisBuilder" ; //$NON-NLS-1$
-	
-	/**
-	 * Constant representing the id of the workspace {@link IApiProfile}.
-	 * Value is: <code>workspace</code>
-	 */
-	public static final String WORKSPACE_API_PROFILE_ID = "workspace"; //$NON-NLS-1$
-	
-	/**
-	 * Singleton instance of the plugin
-	 */
-	private static ApiPlugin fgDefault = null;
-	/**
-	 * Singleton instance of the {@link JavadocTagManager}
-	 */
-	private static JavadocTagManager fgTagManager = null;
-	/**
-	 * Singleton instance of the {@link IApiProfileManager}
-	 */
-	private static IApiProfileManager fgApiProfileManager = null;
-
-	/**
-	 * Private debug options
-	 */
-	private static final String BUILDER_DEBUG = PLUGIN_ID + "/debug/builder" ; //$NON-NLS-1$
-	private static final String DELTA_DEBUG = PLUGIN_ID + "/debug/delta" ; //$NON-NLS-1$
-	private static final String CLASSFILE_VISITOR_DEBUG = PLUGIN_ID + "/debug/classfilevisitor" ; //$NON-NLS-1$
-	private static final String SEARCH_DEBUG = PLUGIN_ID + "/debug/search" ; //$NON-NLS-1$
-	private static final String DESCRIPTOR_FRAMEWORK_DEBUG = PLUGIN_ID + "/debug/descriptor/framework" ; //$NON-NLS-1$
-	private static final String TAG_SCANNER_DEBUG = PLUGIN_ID + "/debug/tagscanner" ; //$NON-NLS-1$
-	private static final String PLUGIN_WORKSPACE_COMPONENT_DEBUG = PLUGIN_ID + "/debug/pluginworkspacecomponent"; //$NON-NLS-1$
-	private static final String API_PROFILE_MANAGER_DEBUG = PLUGIN_ID + "/debug/profilemanager"; //$NON-NLS-1$
-	private static final String API_PROFILE_DEBUG = PLUGIN_ID + "/debug/apiprofile" ; //$NON-NLS-1$
-	private static final String API_FILTER_STORE_DEBUG = PLUGIN_ID + "/debug/apifilterstore"; //$NON-NLS-1$
-
-	public final static String TRUE = "true"; //$NON-NLS-1$
-
-	public static String[] AllBinaryCompatibilityKeys = new String[] {
-		IApiProblemTypes.API_PROFILE_REMOVED_API_COMPONENT,
-		IApiProblemTypes.API_COMPONENT_REMOVED_TYPE,
-		IApiProblemTypes.ANNOTATION_ADDED_TYPE_MEMBER,
-		IApiProblemTypes.ANNOTATION_ADDED_FIELD,
-		IApiProblemTypes.ANNOTATION_ADDED_METHOD,
-		IApiProblemTypes.ANNOTATION_REMOVED_FIELD,
-		IApiProblemTypes.ANNOTATION_REMOVED_METHOD_DEFAULT_VALUE,
-		IApiProblemTypes.ANNOTATION_REMOVED_METHOD_NO_DEFAULT_VALUE,
-		IApiProblemTypes.ANNOTATION_REMOVED_TYPE_MEMBER,
-		IApiProblemTypes.ANNOTATION_REMOVED_TYPE_PARAMETERS,
-		IApiProblemTypes.ANNOTATION_REMOVED_TYPE_PARAMETER,
-		IApiProblemTypes.ANNOTATION_REMOVED_CLASS_BOUND,
-		IApiProblemTypes.ANNOTATION_REMOVED_INTERFACE_BOUND,
-		IApiProblemTypes.ANNOTATION_REMOVED_INTERFACE_BOUNDS,
-		IApiProblemTypes.ANNOTATION_CHANGED_INTERFACE_BOUNDS,
-		IApiProblemTypes.ANNOTATION_CHANGED_CONTRACTED_SUPERINTERFACES_SET,
-		IApiProblemTypes.ANNOTATION_CHANGED_CLASS_BOUND,
-		IApiProblemTypes.ANNOTATION_CHANGED_INTERFACE_BOUND,
-		IApiProblemTypes.ANNOTATION_CHANGED_TO_CLASS,
-		IApiProblemTypes.ANNOTATION_CHANGED_TO_ENUM,
-		IApiProblemTypes.ANNOTATION_CHANGED_TO_INTERFACE,
-		IApiProblemTypes.ANNOTATION_CHANGED_RESTRICTIONS,
-		IApiProblemTypes.ANNOTATION_ADDED_TYPE_PARAMETER,
-		IApiProblemTypes.ANNOTATION_ADDED_CLASS_BOUND,
-		IApiProblemTypes.ANNOTATION_ADDED_INTERFACE_BOUND,
-		IApiProblemTypes.ANNOTATION_ADDED_INTERFACE_BOUNDS,
-		IApiProblemTypes.ANNOTATION_ADDED_METHOD_NO_DEFAULT_VALUE,
-		IApiProblemTypes.INTERFACE_ADDED_FIELD,
-		IApiProblemTypes.INTERFACE_ADDED_METHOD,
-		IApiProblemTypes.INTERFACE_ADDED_TYPE_MEMBER,
-		IApiProblemTypes.INTERFACE_ADDED_CLASS_BOUND,
-		IApiProblemTypes.INTERFACE_ADDED_INTERFACE_BOUND,
-		IApiProblemTypes.INTERFACE_ADDED_INTERFACE_BOUNDS,
-		IApiProblemTypes.INTERFACE_ADDED_TYPE_PARAMETER,
-		IApiProblemTypes.INTERFACE_REMOVED_TYPE_PARAMETER,
-		IApiProblemTypes.INTERFACE_REMOVED_TYPE_PARAMETERS,
-		IApiProblemTypes.INTERFACE_REMOVED_CLASS_BOUND,
-		IApiProblemTypes.INTERFACE_REMOVED_INTERFACE_BOUND,
-		IApiProblemTypes.INTERFACE_REMOVED_INTERFACE_BOUNDS,
-		IApiProblemTypes.INTERFACE_REMOVED_FIELD,
-		IApiProblemTypes.INTERFACE_REMOVED_METHOD,
-		IApiProblemTypes.INTERFACE_REMOVED_TYPE_MEMBER,
-		IApiProblemTypes.INTERFACE_CHANGED_CLASS_BOUND,
-		IApiProblemTypes.INTERFACE_CHANGED_INTERFACE_BOUND,
-		IApiProblemTypes.INTERFACE_CHANGED_INTERFACE_BOUNDS,
-		IApiProblemTypes.INTERFACE_CHANGED_TO_CLASS,
-		IApiProblemTypes.INTERFACE_CHANGED_TO_ENUM,
-		IApiProblemTypes.INTERFACE_CHANGED_TO_ANNOTATION,
-		IApiProblemTypes.INTERFACE_CHANGED_CONTRACTED_SUPERINTERFACES_SET,
-		IApiProblemTypes.INTERFACE_CHANGED_RESTRICTIONS,
-		IApiProblemTypes.ENUM_ADDED_FIELD,
-		IApiProblemTypes.ENUM_ADDED_METHOD,
-		IApiProblemTypes.ENUM_CHANGED_CONTRACTED_SUPERINTERFACES_SET,
-		IApiProblemTypes.ENUM_CHANGED_TO_ANNOTATION,
-		IApiProblemTypes.ENUM_CHANGED_TO_CLASS,
-		IApiProblemTypes.ENUM_CHANGED_TO_INTERFACE,
-		IApiProblemTypes.ENUM_CHANGED_RESTRICTIONS,
-		IApiProblemTypes.ENUM_REMOVED_FIELD,
-		IApiProblemTypes.ENUM_REMOVED_ENUM_CONSTANT,
-		IApiProblemTypes.ENUM_REMOVED_METHOD,
-		IApiProblemTypes.ENUM_REMOVED_CONSTRUCTOR,
-		IApiProblemTypes.ENUM_REMOVED_TYPE_MEMBER,
-		IApiProblemTypes.CLASS_ADDED_FIELD,
-		IApiProblemTypes.CLASS_ADDED_METHOD,
-		IApiProblemTypes.CLASS_ADDED_TYPE_PARAMETER,
-		IApiProblemTypes.CLASS_ADDED_CLASS_BOUND,
-		IApiProblemTypes.CLASS_ADDED_INTERFACE_BOUND,
-		IApiProblemTypes.CLASS_ADDED_INTERFACE_BOUNDS,
-		IApiProblemTypes.CLASS_CHANGED_CONTRACTED_SUPERINTERFACES_SET,
-		IApiProblemTypes.CLASS_CHANGED_CONTRACTED_SUPERCLASS_SET,
-		IApiProblemTypes.CLASS_CHANGED_SUPERCLASS,
-		IApiProblemTypes.CLASS_CHANGED_CLASS_BOUND,
-		IApiProblemTypes.CLASS_CHANGED_INTERFACE_BOUND,
-		IApiProblemTypes.CLASS_CHANGED_NON_ABSTRACT_TO_ABSTRACT,
-		IApiProblemTypes.CLASS_CHANGED_NON_FINAL_TO_FINAL,
-		IApiProblemTypes.CLASS_CHANGED_TO_ANNOTATION,
-		IApiProblemTypes.CLASS_CHANGED_TO_ENUM,
-		IApiProblemTypes.CLASS_CHANGED_TO_INTERFACE,
-		IApiProblemTypes.CLASS_CHANGED_DECREASE_ACCESS,
-		IApiProblemTypes.CLASS_CHANGED_RESTRICTIONS,
-		IApiProblemTypes.CLASS_REMOVED_FIELD,
-		IApiProblemTypes.CLASS_REMOVED_METHOD,
-		IApiProblemTypes.CLASS_REMOVED_CONSTRUCTOR,
-		IApiProblemTypes.CLASS_REMOVED_TYPE_MEMBER,
-		IApiProblemTypes.CLASS_REMOVED_TYPE_PARAMETER,
-		IApiProblemTypes.CLASS_REMOVED_TYPE_PARAMETERS,
-		IApiProblemTypes.CLASS_REMOVED_CLASS_BOUND,
-		IApiProblemTypes.CLASS_REMOVED_INTERFACE_BOUND,
-		IApiProblemTypes.CLASS_REMOVED_INTERFACE_BOUNDS,
-		IApiProblemTypes.FIELD_ADDED_VALUE,
-		IApiProblemTypes.FIELD_CHANGED_TYPE,
-		IApiProblemTypes.FIELD_CHANGED_VALUE,
-		IApiProblemTypes.FIELD_CHANGED_DECREASE_ACCESS,
-		IApiProblemTypes.FIELD_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT,
-		IApiProblemTypes.FIELD_CHANGED_NON_FINAL_TO_FINAL,
-		IApiProblemTypes.FIELD_CHANGED_STATIC_TO_NON_STATIC,
-		IApiProblemTypes.FIELD_CHANGED_NON_STATIC_TO_STATIC,
-		IApiProblemTypes.FIELD_REMOVED_VALUE,
-		IApiProblemTypes.FIELD_REMOVED_TYPE_ARGUMENTS,
-		IApiProblemTypes.METHOD_ADDED_CLASS_BOUND,
-		IApiProblemTypes.METHOD_ADDED_INTERFACE_BOUND,
-		IApiProblemTypes.METHOD_ADDED_INTERFACE_BOUNDS,
-		IApiProblemTypes.METHOD_ADDED_TYPE_PARAMETER,
-		IApiProblemTypes.METHOD_CHANGED_CLASS_BOUND,
-		IApiProblemTypes.METHOD_CHANGED_INTERFACE_BOUND,
-		IApiProblemTypes.METHOD_CHANGED_TYPE_PARAMETER,
-		IApiProblemTypes.METHOD_CHANGED_VARARGS_TO_ARRAY,
-		IApiProblemTypes.METHOD_CHANGED_DECREASE_ACCESS,
-		IApiProblemTypes.METHOD_CHANGED_NON_ABSTRACT_TO_ABSTRACT,
-		IApiProblemTypes.METHOD_CHANGED_NON_STATIC_TO_STATIC,
-		IApiProblemTypes.METHOD_CHANGED_STATIC_TO_NON_STATIC,
-		IApiProblemTypes.METHOD_CHANGED_NON_FINAL_TO_FINAL,
-		IApiProblemTypes.METHOD_REMOVED_ANNOTATION_DEFAULT_VALUE,
-		IApiProblemTypes.METHOD_REMOVED_TYPE_PARAMETERS,
-		IApiProblemTypes.METHOD_REMOVED_TYPE_PARAMETER,
-		IApiProblemTypes.METHOD_REMOVED_CLASS_BOUND,
-		IApiProblemTypes.METHOD_REMOVED_INTERFACE_BOUND,
-		IApiProblemTypes.METHOD_REMOVED_INTERFACE_BOUNDS,
-		IApiProblemTypes.CONSTRUCTOR_ADDED_CLASS_BOUND,
-		IApiProblemTypes.CONSTRUCTOR_ADDED_INTERFACE_BOUND,
-		IApiProblemTypes.CONSTRUCTOR_ADDED_INTERFACE_BOUNDS,
-		IApiProblemTypes.CONSTRUCTOR_ADDED_TYPE_PARAMETER,
-		IApiProblemTypes.CONSTRUCTOR_CHANGED_CLASS_BOUND,
-		IApiProblemTypes.CONSTRUCTOR_CHANGED_INTERFACE_BOUND,
-		IApiProblemTypes.CONSTRUCTOR_CHANGED_TYPE_PARAMETER,
-		IApiProblemTypes.CONSTRUCTOR_CHANGED_VARARGS_TO_ARRAY,
-		IApiProblemTypes.CONSTRUCTOR_CHANGED_DECREASE_ACCESS,
-		IApiProblemTypes.CONSTRUCTOR_CHANGED_NON_ABSTRACT_TO_ABSTRACT,
-		IApiProblemTypes.CONSTRUCTOR_CHANGED_NON_STATIC_TO_STATIC,
-		IApiProblemTypes.CONSTRUCTOR_CHANGED_STATIC_TO_NON_STATIC,
-		IApiProblemTypes.CONSTRUCTOR_CHANGED_NON_FINAL_TO_FINAL,
-		IApiProblemTypes.CONSTRUCTOR_REMOVED_ANNOTATION_DEFAULT_VALUE,
-		IApiProblemTypes.CONSTRUCTOR_REMOVED_TYPE_PARAMETERS,
-		IApiProblemTypes.CONSTRUCTOR_REMOVED_TYPE_PARAMETER,
-		IApiProblemTypes.CONSTRUCTOR_REMOVED_CLASS_BOUND,
-		IApiProblemTypes.CONSTRUCTOR_REMOVED_INTERFACE_BOUND,
-		IApiProblemTypes.CONSTRUCTOR_REMOVED_INTERFACE_BOUNDS,
-	};
-	/**
-	 * A set of listeners that want to participate in the saving life-cycle of the workbench
-	 * via this plugin
-	 */
-	private HashSet savelisteners = new HashSet();
-	
-	/**
-	 * Constructor
-	 */
-	public ApiPlugin() {
-		super();
-		fgDefault = this;
-	}
-	
-	/**
-	 * @return The singleton instance of the plugin
-	 */
-	public static ApiPlugin getDefault() {
-		return fgDefault;
-	}
-	
-	/**
-	 * @return the id of this plugin.
-	 * Value is <code>org.eclipse.pde.api.tools</code>
-	 */
-	public static String getPluginIdentifier() {
-		return PLUGIN_ID;
-	}
-	
-	/**
-	 * Logs the specified status with this plug-in's log.
-	 * 
-	 * @param status status to log
-	 */
-	public static void log(IStatus status) {
-		if (getDefault() == null) {
-			Throwable exception = status.getException();
-			if (exception != null) {
-				exception.printStackTrace();
-			}
-		} else {
-			getDefault().getLog().log(status);
-		}
-	}
-	
-	/**
-	 * Logs the specified throwable with this plug-in's log.
-	 * 
-	 * @param t throwable to log 
-	 */
-	public static void log(Throwable t) {
-		log(newErrorStatus("Error logged from API Tools Core: ", t)); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Logs an internal error with the specified message.
-	 * 
-	 * @param message the error message to log
-	 */
-	public static void logErrorMessage(String message) {
-		// this message is intentionally not internationalized, as an exception may
-		// be due to the resource bundle itself
-		log(newErrorStatus("Internal message logged from API Tools Core: " + message, null)); //$NON-NLS-1$	
-	}
-	
-	/**
-	 * Returns a new error status for this plug-in with the given message
-	 * @param message the message to be included in the status
-	 * @param exception the exception to be included in the status or <code>null</code> if none
-	 * @return a new error status
-	 */
-	public static IStatus newErrorStatus(String message, Throwable exception) {
-		return new Status(IStatus.ERROR, getPluginIdentifier(), INTERNAL_ERROR, message, exception);
-	}
-	
-	/**
-	 * Returns whether the API tools bundle is running inside an OSGi framework.
-	 * 
-	 * @return whether the API tools bundle is running inside an OSGi framework
-	 */
-	public static boolean isRunningInFramework() {
-		return fgDefault != null;
-	}
-
-	/**
-	 * Returns the {@link IApiProfileManager}, allowing clients to add/remove and search
-	 * for {@link IApiProfile}s stored in the manager.
-	 * 
-	 * @return the singleton instance of the {@link IApiProfileManager}
-	 */
-	public IApiProfileManager getApiProfileManager() {
-		if(fgApiProfileManager == null) {
-			fgApiProfileManager = new ApiProfileManager();
-		}
-		return fgApiProfileManager;
-	}
-	
-	/**
-	 * @return The singleton instance of the {@link JavadocTagManager}
-	 */
-	public static JavadocTagManager getJavadocTagManager() {
-		if(fgTagManager == null) {
-			fgTagManager = new JavadocTagManager();
-		}
-		return fgTagManager;
-	}
-	
-	/**
-	 * Adds the given save participant to the listing of participants to 
-	 * be notified when the workbench saving life-cycle occurs. If the specified
-	 * participant is <code>null</code> no changes are made.
-	 * @param participant
-	 */
-	public void addSaveParticipant(ISaveParticipant participant) {
-		if(participant != null) {
-			savelisteners.add(participant);
-		}
-	}
-	
-	/**
-	 * Removes the given save participant from the current listing.
-	 * If the specified participant is <code>null</code> no changes are made.
-	 * @param participant
-	 */
-	public void removeSaveParticipant(ISaveParticipant participant) {
-		if(participant != null) {
-			savelisteners.remove(participant);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.ISaveParticipant#doneSaving(org.eclipse.core.resources.ISaveContext)
-	 */
-	public void doneSaving(ISaveContext context) {
-		ISaveParticipant sp = null;
-		for(Iterator iter = savelisteners.iterator(); iter.hasNext();) {
-			sp = (ISaveParticipant) iter.next();
-			sp.doneSaving(context);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.ISaveParticipant#prepareToSave(org.eclipse.core.resources.ISaveContext)
-	 */
-	public void prepareToSave(ISaveContext context) throws CoreException {
-		ISaveParticipant sp = null;
-		for(Iterator iter = savelisteners.iterator(); iter.hasNext();) {
-			sp = (ISaveParticipant) iter.next();
-			sp.prepareToSave(context);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.ISaveParticipant#rollback(org.eclipse.core.resources.ISaveContext)
-	 */
-	public void rollback(ISaveContext context) {
-		ISaveParticipant sp = null;
-		for(Iterator iter = savelisteners.iterator(); iter.hasNext();) {
-			sp = (ISaveParticipant) iter.next();
-			sp.rollback(context);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.ISaveParticipant#saving(org.eclipse.core.resources.ISaveContext)
-	 */
-	public void saving(ISaveContext context) throws CoreException {
-		if(context.getKind() == ISaveContext.FULL_SAVE) {
-			context.needDelta();
-		}
-		ISaveParticipant sp = null;
-		for(Iterator iter = savelisteners.iterator(); iter.hasNext();) {
-			sp = (ISaveParticipant) iter.next();
-			sp.saving(context);
-		}
-		savePluginPreferences();
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		try {
-			super.start(context);
-		} finally {
-			ResourcesPlugin.getWorkspace().addSaveParticipant(this, this);
-			configurePluginDebugOptions();
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		try {
-			ApiDescriptionManager.shutdown();
-			ResourcesPlugin.getWorkspace().removeSaveParticipant(this);
-		}
-		finally {
-			super.stop(context);
-		}
-	}
-
-	/**
-	 * Returns the severity for the specific key from the given {@link IProject}.
-	 * If the project does not have project specific settings, the workspace preference
-	 * is returned. If <code>null</code> is passed in as the project the workspace
-	 * preferences are consulted.
-	 * 
-	 * @param prefkey the given preference key
-	 * @param project the given project or <code>null</code>
-	 * @return the severity level for the given pref key
-	 */
-	public int getSeverityLevel(String prefkey, IProject project) {
-		IPreferencesService service = Platform.getPreferencesService();
-		List scopes = new ArrayList();
-		scopes.add(new InstanceScope());
-		if(project != null) {
-			scopes.add(new ProjectScope(project));
-		}
-		String value = service.getString(ApiPlugin.getPluginIdentifier(), prefkey, null, (IScopeContext[]) scopes.toArray(new IScopeContext[scopes.size()]));
-		if(value == null) {
-			value = getPluginPreferences().getDefaultString(prefkey);
-		}
-		if(VALUE_ERROR.equals(value)) {
-			return SEVERITY_ERROR;
-		}
-		if(VALUE_WARNING.equals(value)) {
-			return SEVERITY_WARNING;
-		}
-		return SEVERITY_IGNORE;
-	}
-
-	/**
-	 * Method to configure all of the debug options for this plugin
-	 */
-	public void configurePluginDebugOptions(){
-		if(ApiPlugin.getDefault().isDebugging()){
-			String option = Platform.getDebugOption(BUILDER_DEBUG);
-			if(option != null) {
-				boolean debugValue = option.equalsIgnoreCase(TRUE);
-				ApiAnalysisBuilder.setDebug(debugValue);
-			}
-			
-			option = Platform.getDebugOption(DELTA_DEBUG);
-			if(option != null) {
-				boolean debugValue = option.equalsIgnoreCase(TRUE);
-				ClassFileComparator.setDebug(debugValue);
-				ApiComparator.setDebug(debugValue);
-			}
-
-			option = Platform.getDebugOption(CLASSFILE_VISITOR_DEBUG);
-			if(option != null) {
-				ClassFileVisitor.setDebug(option.equalsIgnoreCase(TRUE));
-			}
-
-			option = Platform.getDebugOption(SEARCH_DEBUG);
-			if(option != null) {
-				SearchEngine.setDebug(option.equalsIgnoreCase(TRUE));
-			}
-
-			option = Platform.getDebugOption(DESCRIPTOR_FRAMEWORK_DEBUG);
-			if(option != null) {
-				ElementDescriptorImpl.setDebug(option.equalsIgnoreCase(TRUE));
-			}
-
-			option = Platform.getDebugOption(TAG_SCANNER_DEBUG);
-			if(option != null) {
-				TagScanner.setDebug(option.equalsIgnoreCase(TRUE));
-			}
-
-			option = Platform.getDebugOption(PLUGIN_WORKSPACE_COMPONENT_DEBUG);
-			if(option != null) {
-				PluginProjectApiComponent.setDebug(option.equalsIgnoreCase(TRUE));
-			}
-			
-			option = Platform.getDebugOption(API_PROFILE_MANAGER_DEBUG);
-			if(option != null) {
-				ApiProfileManager.setDebug(option.equalsIgnoreCase(TRUE));
-			}
-			
-			option = Platform.getDebugOption(API_PROFILE_DEBUG);
-			if(option != null) {
-				ApiProfile.setDebug(option.equalsIgnoreCase(TRUE));
-			}
-			option = Platform.getDebugOption(API_FILTER_STORE_DEBUG);
-			if(option != null) {
-				ApiFilterStore.setDebug(option.equalsIgnoreCase(TRUE));
-			}
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/ClassFileContainerVisitor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/ClassFileContainerVisitor.java
deleted file mode 100644
index 8238de7..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/ClassFileContainerVisitor.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional;
-
-
-
-/**
- * Visits class files in a class file container.
- * 
- * @since 1.0.0
- */
-public class ClassFileContainerVisitor {	
-
-	/**
-	 * Visits a component in the container and returns whether class files
-	 * in the component should be visited. This method is only called when
-	 * the class file container being visited is contained in an API component.
-	 * <p>
-	 * The default implementation does nothing and returns <code>true</code>.
-	 * Subclasses may re-implement.
-	 * </p>
-	 * @param component API component being visited 
-	 * @return whether class files in the component should be visited
-	 */
-	public boolean visit(IApiComponent component) {
-		return true;
-	}
-
-	/**
-	 * End visiting a component. This method is only called when
-	 * the class file container being visited is contained in an API component.
-	 * <p>
-	 * The default implementation does nothing. Subclasses may re-implement.
-	 * </p>
-	 * @param component API component 
-	 */
-	public void end(IApiComponent component) {
-		// subclasses may re-implement
-	}
-
-	/**
-	 * Visits a package in the container and returns whether class files
-	 * in the package should be visited.
-	 * <p>
-	 * The default implementation does nothing and returns <code>true</code>.
-	 * Subclasses may re-implement.
-	 * </p>
-	 * @param packageName fully qualified dot separated package name or the empty
-	 * 	string for the default package 
-	 * @return whether class files in the package should be visited
-	 */
-	public boolean visitPackage(String packageName) {
-		return true;
-	}
-	
-	/**
-	 * End visiting a package.
-	 * <p>
-	 * The default implementation does nothing. Subclasses may re-implement.
-	 * </p>
-	 * @param packageName fully qualified dot separated package name or the empty
-	 * 	string for the default package 
-	 */	
-	public void endVisitPackage(String packageName) {
-		// subclasses may re-implement
-	}
-	
-	/**
-	 * Visits a class file from the specified package.
-	 * <p>
-	 * The default implementation does nothing.
-	 * </p>
-	 * @param packageName fully qualified dot separated package name or the empty
-	 * 	string for the default package 
-	 * @param classFile class file
-	 */
-	public void visit(String packageName, IClassFile classFile) {
-		// subclasses may re-implement
-	}
-	
-	/**
-	 * End visiting a class file.
-	 * <p>
-	 * The default implementation does nothing. Subclasses may re-implement.
-	 * </p>
-	 * @param packageName fully qualified dot separated package name or the empty
-	 * 	string for the default package
-	 * @param classFile class file
-	 */	
-	public void end(String packageName, IClassFile classFile) {
-		// subclasses may re-implement
-	}	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/Factory.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/Factory.java
deleted file mode 100644
index 99f3c99..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/Factory.java
+++ /dev/null
@@ -1,287 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional;
-
-import java.io.File;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.pde.api.tools.internal.ApiProfile;
-import org.eclipse.pde.api.tools.internal.ApiProfileManager;
-import org.eclipse.pde.api.tools.internal.descriptors.PackageDescriptorImpl;
-import org.eclipse.pde.api.tools.internal.descriptors.PrimitiveDescriptorImpl;
-import org.eclipse.pde.api.tools.internal.descriptors.ResourceDescriptorImpl;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IFieldDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPrimitiveTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IResourceDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.ITypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchEngine;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchScope;
-import org.eclipse.pde.api.tools.internal.search.SearchCriteria;
-import org.eclipse.pde.api.tools.internal.search.SearchEngine;
-import org.eclipse.pde.api.tools.internal.search.SearchScope;
-import org.eclipse.pde.api.tools.internal.search.TypeScope;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * Factory to create API model objects.
- * 
- * @since 1.0
- */
-public class Factory {
-
-	/**
-	 * Creates a new empty API profile with the given name. Its execution
-	 * environment will be automatically resolved when components are added
-	 * to it.
-	 * <p>
-	 * Note, a profile can only automatically resolve an execution environment
-	 * when it is created within an Eclipse SDK. A profile created in a non-OSGi
-	 * environment must have its execution environment specified at creation
-	 * time.
-	 * </p>
-	 *
-	 * @param name profile name
-	 */
-	public static IApiProfile newApiProfile(String name) {
-		return new ApiProfile(name);
-	}
-	
-	/**
-	 * Creates a new empty API profile with the specified execution environment.
-	 * <p>
-	 * The execution environment description file describes how an execution 
-	 * environment profile is provided by or mapped to a specific JRE. The format for
-	 * this file is described here
-	 * <code>http://wiki.eclipse.org/index.php/Execution_Environment_Descriptions</code>.
-	 * </p>
-	 * @param name profile name
-	 * @param eeDescription execution environment description file
-	 * @return API profile
-	 * @throws CoreException if unable to create a new profile with the specified attributes 
-	 */
-	public static IApiProfile newApiProfile(String name, File eeDescription) throws CoreException {
-		return new ApiProfile(name, eeDescription);
-	}
-
-	/**
-	 * Returns a type descriptor for the primitive boolean type.
-	 * 
-	 * @return an {@link IPrimitiveTypeDescriptor} for a boolean type
-	 */
-	public static IPrimitiveTypeDescriptor booleanType() {
-		return new PrimitiveDescriptorImpl(Signature.SIG_BOOLEAN);
-	}
-	
-	/**
-	 * Returns a type descriptor for the primitive byte type.
-	 * 
-	 * @return an {@link IPrimitiveTypeDescriptor} for a byte type
-	 */
-	public static IPrimitiveTypeDescriptor byteType() {
-		return new PrimitiveDescriptorImpl(Signature.SIG_BYTE);
-	}	
-	
-	/**
-	 * Returns a type descriptor for the primitive char type.
-	 * 
-	 * @return an {@link IPrimitiveTypeDescriptor} for a char type
-	 */
-	public static IPrimitiveTypeDescriptor charType() {
-		return new PrimitiveDescriptorImpl(Signature.SIG_CHAR);
-	}	
-	
-	/**
-	 * Returns a type descriptor for the primitive double type.
-	 * 
-	 * @return an {@link IPrimitiveTypeDescriptor} for a double type
-	 */
-	public static IPrimitiveTypeDescriptor doubleType() {
-		return new PrimitiveDescriptorImpl(Signature.SIG_DOUBLE);
-	}	
-	
-	/**
-	 * Returns a type descriptor for the primitive float type.
-	 * 
-	 * @return an {@link IPrimitiveTypeDescriptor} for a float type
-	 */
-	public static IPrimitiveTypeDescriptor floatType() {
-		return new PrimitiveDescriptorImpl(Signature.SIG_FLOAT);
-	}	
-	
-	/**
-	 * Returns a type descriptor for the primitive int type.
-	 * 
-	 * @return an {@link IPrimitiveTypeDescriptor} for an int type
-	 */
-	public static IPrimitiveTypeDescriptor intType() {
-		return new PrimitiveDescriptorImpl(Signature.SIG_INT);
-	}
-	
-	/**
-	 * Returns a type descriptor for the primitive long type.
-	 * 
-	 * @return an {@link IPrimitiveTypeDescriptor} for a long type
-	 */
-	public static IPrimitiveTypeDescriptor longType() {
-		return new PrimitiveDescriptorImpl(Signature.SIG_LONG);
-	}	
-	
-	/**
-	 * Returns a type descriptor for the primitive short type.
-	 * 
-	 * @return an {@link IPrimitiveTypeDescriptor} for a short type
-	 */
-	public static IPrimitiveTypeDescriptor shortType() {
-		return new PrimitiveDescriptorImpl(Signature.SIG_SHORT);
-	}
-	
-	/**
-	 * Returns a package descriptor for the package with the given name.
-	 * An empty string indicates the default package. Package names are
-	 * dot qualified.
-	 *  
-	 * @param packageName package name
-	 * @return an {@link IPackageDescriptor} for the package
-	 */
-	public static IPackageDescriptor packageDescriptor(String packageName) {
-		return new PackageDescriptorImpl(packageName);
-	}
-	
-	/**
-	 * Returns a resource descriptor for the given path.
-	 * 
-	 * @param resource the handle to the backing {@link IResource}
-	 * @return an {@link IResourceDescriptor} for the given resource
-	 */
-	public static IResourceDescriptor resourceDescriptor(IResource resource) {
-		return new ResourceDescriptorImpl(resource);
-	}
-	
-	/**
-	 * Utility method to create a type descriptor for a type with the
-	 * given fully qualified name. Package names are dot qualified and
-	 * type names are '$'-qualified.
-	 * 
-	 * @param fullyQualifiedName
-	 * @return an {@link ITypeDescriptor} for the type
-	 */
-	public static IReferenceTypeDescriptor typeDescriptor(String fullyQualifiedName) {
-		String packageName = Util.getPackageName(fullyQualifiedName);
-		String typeName = Util.getTypeName(fullyQualifiedName);
-		return packageDescriptor(packageName).getType(typeName);
-	}
-	
-	/**
-	 * Utility method to create a type descriptor for a method contained within the given 
-	 * type
-	 * 
-	 * @param typename the name of the enclosing type for the method
-	 * @param name the name of the method
-	 * @param signaturethe signature of the method
-	 * @return an {@link IMethodDescriptor} for the method
-	 */
-	public static IMethodDescriptor methodDescriptor(String typename, String name, String signature) {
-		IReferenceTypeDescriptor type = typeDescriptor(typename);
-		return type.getMethod(name, signature);
-	}
-	
-	/**
-	 * Utility method to create a type descriptor for a field contained within the given type
-	 * 
-	 * @param typename the name of the enclosing type for the field
-	 * @param name the name of the field
-	 * @return an {@link IFieldDescriptor} for the field
-	 */
-	public static IFieldDescriptor fieldDescriptor(String typename , String name) {
-		IReferenceTypeDescriptor type = typeDescriptor(typename);
-		return type.getField(name);
-	}
-	
-	/**
-	 * Returns a scope containing all elements in the given components.
-	 * 
-	 * @param components API components
-	 * @return search scope
-	 */
-	public static IApiSearchScope newScope(IApiComponent[] components) {
-		SearchScope scope = new SearchScope();
-		for (int i = 0; i < components.length; i++) {
-			scope.addComponent(components[i]);
-		}
-		return scope;
-	}
-	
-	/**
-	 * Returns a scope containing the specified elements in the given component.
-	 * 
-	 * @param component API component
-	 * @param elements elements in the component
-	 * @return search scope
-	 */
-	public static IApiSearchScope newScope(IApiComponent component, IElementDescriptor[] elements) {
-		SearchScope scope = new SearchScope();
-		for (int i = 0; i < elements.length; i++) {
-			scope.addElement(component, elements[i]);
-		}
-		return scope;
-	}
-	
-	/**
-	 * Returns a new scope containing the specified types in the given component.
-	 * 
-	 * @param component API component
-	 * @param types reference types
-	 * @return search scope
-	 */
-	public static IApiSearchScope newTypeScope(IApiComponent component, IReferenceTypeDescriptor[] types) {
-		return new TypeScope(component, types);
-	}
-	
-	/**
-	 * Creates and returns a new search engine.
-	 * 
-	 * @return search engine
-	 */
-	public static IApiSearchEngine newSearchEngine() {
-		return new SearchEngine();
-	}
-	
-	/**
-	 * Creates and returns an API profile from the given input stream. The
-	 * contents of the stream must have been created with
-	 * {@link IApiProfile#writeProfileDescription(java.io.OutputStream)}.
-	 * 
-	 * @param descriptionStream profile description
-	 * @return API profile
-	 * @exception CoreException if unable to create a profile from the stream
-	 */
-	public static IApiProfile createProfile(InputStream descriptionStream) throws CoreException {
-		return ApiProfileManager.restoreProfile(descriptionStream);
-	}
-	
-	/**
-	 * Creates and returns a new search criteria.
-	 * 
-	 * @return new search criteria
-	 */
-	public static IApiSearchCriteria newSearchCriteria() {
-		return new SearchCriteria();
-	}
-}
-
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiAnnotations.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiAnnotations.java
deleted file mode 100644
index 9df17e8..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiAnnotations.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional;
-
-
-/**
- * Describes API usage restrictions and visibility of an element contained
- * in an API component. 
- *   
- * @since 1.0.0
- */
-public interface IApiAnnotations {
-	
-	/**
-	 * Returns the visibility modifiers annotation.
-	 * 
-	 * @return a visibility constant defined by {@link VisibilityModifiers} 
-	 */
-	public int getVisibility();
-	
-	/**
-	 * Returns the restriction modifiers annotation.
-	 * 
-	 * @return restriction constant defined by {@link RestrictionModifiers}
-	 */
-	public int getRestrictions();
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiComponent.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiComponent.java
deleted file mode 100644
index bd188c0..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiComponent.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional;
-
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemFilter;
-
-
-
-/**
- * Describes the API of a software component. An API component
- * is composed of a set of class files owned by the component and
- * a description (manifest) of the component's API. 
- * 
- * @since 1.0.0
- */
-public interface IApiComponent extends IClassFileContainer {
-	
-	/**
-	 * Export option key {@link String} value specifying an absolute file
-	 * system path to a directory where the component should be exported.
-	 */
-	public static final String EXPORT_DIRECTORY = "EXPORT_DIRECTORY"; //$NON-NLS-1$
-	
-	/**
-	 * Optional export option key for a {@link Boolean} value indicating if class
-	 * files should be exported as stubs rather than original class files.
-	 * Has no effect if the component was generated from stubs - since original
-	 * class files cannot be regenerated from stubs. When unspecified class files
-	 * are exported in their original form.
-	 */
-	public static final String EXPORT_CLASS_FILE_STUBS = "EXPORT_CLASS_FILE_STUBS"; //$NON-NLS-1$
-	
-	/**
-	 * Optional export option key for a {@link Boolean} value indicating if generated
-	 * archive should be compressed. When unspecified, archive is not compressed.
-	 */
-	public static final String EXPORT_COMPRESS = "EXPORT_COMPRESS"; //$NON-NLS-1$	
-
-	/**
-	 * Returns a human readable name for this component.
-	 * 
-	 * @return component name
-	 * @exception CoreException if unable to retrieve the name
-	 */
-	public String getName() throws CoreException;
-	
-	/**
-	 * Returns this component's symbolic name.
-	 * 
-	 * @return component's symbolic name
-	 */
-	public String getId();
-	
-	/**
-	 * Returns this component's API description.
-	 * 
-	 * @return API manifest
-	 * @throws CoreException if there was a problem creating the API description for this component
-	 */
-	public IApiDescription getApiDescription() throws CoreException;
-	
-	/**
-	 * Returns this component's version identifier.
-	 * 
-	 * @return component version
-	 */
-	public String getVersion(); 
-	
-	/**
-	 * Returns the execution environments required by this component for building
-	 * and running. An execution environment is represented by a unique identifier
-	 * as defined by OSGi - for example "J2SE-1.4" or "CDC-1.0/Foundation-1.0".
-	 * Any of the environments will allow this component to be resolved.
-	 * 
-	 * @return execution environment identifier
-	 */
-	public String[] getExecutionEnvironments();
-	
-	/**
-	 * Returns class file containers containing the class files associated with
-	 * this component in the order they would appear on the build path
-	 * or class path.
-	 * 
-	 * @return class file containers
-	 */
-	public IClassFileContainer[] getClassFileContainers();
-	
-	/**
-	 * Returns class file containers containing the class files associated with
-	 * this component that comes from the given component id in the order they 
-	 * would appear on the build path or class path.
-	 * 
-	 * This is used to filter out the class file containers coming from a fragment
-	 * 
-	 * @param id the given component id
-	 * @return class file containers
-	 */
-	public IClassFileContainer[] getClassFileContainers(String id);
-
-	/**
-	 * Returns a collection of descriptions of components required by this
-	 * component, or an empty collection if none.
-	 * 
-	 * @return required component descriptions, possibly empty
-	 */
-	public IRequiredComponentDescription[] getRequiredComponents();	
-	
-	/**
-	 * Returns the location of this API component.
-	 * 
-	 * @return location
-	 */
-	public String getLocation();
-	
-	/**
-	 * Returns if the component is a system component (a JRE definition for example) or not.
-	 * System components are not persisted with profiles, as they are recreated dynamically
-	 * by the framework 
-	 * @return true if the component is a system component, false otherwise
-	 */
-	public boolean isSystemComponent();
-	
-	/**
-	 * Returns if the component is a source component or not.
-	 * A source component is not persisted with profiles, as they don't contain any binaries.
-	 * 
-	 * <p>A component is a source component if and only if one of the following conditions is true:</p>
-	 * <ul>
-	 * <li>its manifest contains an entry called <code>Eclipse-SourceBundle</code></li>
-	 * <li>its <code>plugin.xml</code> file contains an extension for the extension point if the
-	 * component is not a fragment.
-	 * <li>its <code>fragment.xml</code> file contains an extension for the extension point if the
-	 * component is a fragment.
-	 * <code>org.eclipse.pde.core.source</code></li>
-	 * </ul>
-	 *
-	 * @return true if the component is a source component, false otherwise
-	 */
-	public boolean isSourceComponent();
-	/**
-	 * Disposes this API component. Clients must call this method when done
-	 * with an API component. Note that disposing an {@link IApiProfile} will dispose all of
-	 * its components. 
-	 */
-	public void dispose();
-	
-	/**
-	 * Returns the profile this component is contained in.
-	 * 
-	 * @return API profile
-	 */
-	public IApiProfile getProfile();
-	
-	/**
-	 * Exports this API component based on the supplied export options.
-	 * 
-	 * @param options export options
-	 * @param monitor progress monitor or <code>null</code> if none
-	 * @throws CoreException
-	 */
-	public void export(Map options, IProgressMonitor monitor) throws CoreException;
-	
-	/**
-	 * Returns a store of problem filters defined for this component or <code>null</code>
-	 * if none.
-	 * 
-	 * @return filter store or <code>null</code>
-	 * @throws CoreException
-	 */
-	public IApiFilterStore getFilterStore() throws CoreException;
-	
-	/**
-	 * Creates and returns a new problem filter for the given 
-	 * {@link IApiProblem}
-	 * 
-	 * @param problem
-	 * @return new problem filter
-	 */
-	public IApiProblemFilter newProblemFilter(IApiProblem problem);
-	
-	/**
-	 * Returns whether this API component is a fragment.
-	 * 
-	 * @return whether this API component is a fragment
-	 */
-	public boolean isFragment();
-	
-	/**
-	 * Returns whether this API component is the host of one or more fragments.
-	 * 
-	 * @return whether this API component is the host of one or more fragments
-	 */
-	public boolean hasFragments();
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiDescription.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiDescription.java
deleted file mode 100644
index d5a55ce..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiDescription.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-
-
-/**
- * Describes the API of an API component. Annotates types as public API,
- * for private use, etc.
- * 
- * @noimplement This interface is not to be implemented by clients
- * 
- * @since 1.0
- */
-public interface IApiDescription {
-	
-	/**
-	 * Status code indicating an element was not found when attempting to
-	 * set its visibility or usage restrictions.
-	 */
-	public static final int ELEMENT_NOT_FOUND = 100;
-	
-	/**
-	 * Sets the visibility for the specified element in the context of the specified component
-	 * and returns a status describing whether the operation succeeded.
-	 * 
-	 * @param component the component the visibility applies to or <code>null</code> for all components
-	 * @param element the element the visibility applies to 
-	 * @param visibility element visibility. See {@linkplain VisibilityModifiers} for
-	 * supported modifiers
-	 * @return status of the operation 
-	 */
-	public IStatus setVisibility(String component, IElementDescriptor element, int visibility);
-	
-	/**
-	 * Sets the restrictions for the specified element in the context of the specified component
-	 * and returns a status describing whether the operation succeeded.
-	 *  
-	 * @param component the component the visibility applies to or <code>null</code> for all components
-	 * @param element the element the restrictions apply to 
-	 * @param restrictions the restrictions to place on the element. See {@linkplain RestrictionModifiers} for
-	 * supported modifiers 
-	 * @return status of the operation
-	 */
-	public IStatus setRestrictions(String component, IElementDescriptor element, int restrictions);
-	
-	/**
-	 * Returns annotations for the specified element when referenced from the specified component. 
-	 * <p>
-	 * The parent package annotation will be returned if the requested {@link IElementDescriptor} 
-	 * does not exist in the API description. 
-	 * If no inherited annotations can be derived <code>null</code> is returned.
-	 * </p>
-	 * <p>
-	 * If there is no component specific API for the specified element, the general
-	 * annotations for the element are returned.
-	 * </p>
-	 * 
-	 * @param component the component the element was referenced from or <code>null</code>
-	 * @param element element to resolve API description for
-	 * @return API annotations or <code>null</code> 
-	 */
-	public IApiAnnotations resolveAnnotations(String component, IElementDescriptor element);
-
-	/**
-	 * Traverses this description with the given visitor.
-	 * 
-	 * @param visitor description visitor
-	 */
-	public void accept(ApiDescriptionVisitor visitor);
-	
-	/**
-	 * Removes the {@link IElementDescriptor} from this description
-	 * 
-	 * @param element the element to remove
-	 * @return true if the element was removed, false otherwise
-	 */
-	public boolean removeElement(IElementDescriptor element);
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiFilterStore.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiFilterStore.java
deleted file mode 100644
index 33f159a..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiFilterStore.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblemFilter;
-
-/**
- * Stores API problem filters for an API component.
- * 
- * @since 1.0.0
- */
-public interface IApiFilterStore {
-
-	/**
-	 * Adds the given filter to this filter store.
-	 * If the filter to add is <code>null</code> or already exists in the store
-	 * no work is done.
-	 * 
-	 * @param filters filters to add to this store
-	 */
-	public void addFilters(IApiProblemFilter[] filters);
-	
-	/**
-	 * Creates an {@link IApiProblemFilter} for the given {@link IApiProblem} and adds that 
-	 * filter to the store.
-	 * If the problem creates a filter that already exists in the store, or the problem is <code>null</code> 
-	 * no work is done.
-	 * 
-	 * @param problems problems to create a filter for and add to this store
-	 */
-	public void addFilters(IApiProblem[] problems);
-	
-	/**
-	 * Returns all filters for the specified project relative resource
-	 * 
-	 * @param resourcepath the project relative resource to get filters for
-	 * @return all filters for the given project relative resource or an empty array, never <code>null</code>
-	 */
-	public IApiProblemFilter[] getFilters(IResource resourc);
-	
-	/**
-	 * Returns all of the resource paths that have filters contained in this
-	 * filter store. If there are no resource paths with filters or the store has not
-	 * been initialized yet an empty array is returned, never <code>null</code>.
-	 * 
-	 * The returned resources are not guaranteed to exist.
-	 * 
-	 * @return the resource paths that have filters
-	 */
-	public IResource[] getResources();
-	
-	/**
-	 * Removes the specified filter from this filter store.
-	 * 
-	 * @param filters the filters to remove
-	 * @return true if all of the filters were removed, false otherwise
-	 */
-	public boolean removeFilters(IApiProblemFilter[] filters);
-	
-	/**
-	 * Returns whether a problem contained in the specified element of the given type and
-	 * kind is filtered based on all the filters in this store.
-	 * 
-	 * @param problem the problem we want to know is filtered or not
-	 * @return whether the problem is filtered
-	 */
-	public boolean isFiltered(IApiProblem problem);
-	
-	/**
-	 * Disposes the filter store.
-	 */
-	public void dispose();
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiJavadocTag.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiJavadocTag.java
deleted file mode 100644
index 789f62d..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiJavadocTag.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional;
-
-
-/**
- * Describes a contributed javadoc tag
- * 
- * @noimplement this interface is not to be implemented by clients
- * 
- * @since 1.0.0
- */
-public interface IApiJavadocTag {
-
-	/**
-	 * Type constant representing the tag applies to a Java class.
-	 * Values is <code>1</code>
-	 */
-	public static final int TYPE_CLASS = 0x1;
-	/**
-	 * Type constant representing the tag applies to a Java interface.
-	 * Values is <code>2</code>
-	 */
-	public static final int TYPE_INTERFACE = 0x1 << 1;
-	/**
-	 * Member constant representing the tag applies to a Java method.
-	 * Values is <code>4</code>
-	 */
-	public static final int MEMBER_METHOD = 0x1 << 2; 
-	/**
-	 * Member constant representing the tag applies to a Java field.
-	 * Values is <code>8</code>
-	 */
-	public static final int MEMBER_FIELD = 0x1 << 3;
-	
-	/**
-	 * Member constant representing the tag applies to a Java type declaration
-	 * - not to a member.
-	 * Values is <code>16</code>
-	 */
-	public static final int MEMBER_NONE = 0x1 << 4;
-	
-	/**
-	 * Returns the restriction modifier for the tag, or 
-	 * {@link RestrictionModifiers#NO_RESTRICTIONS} if the restriction 
-	 * cannot be parsed into an integer. 
-	 * See {@link RestrictionModifiers} for a listing of platform
-	 * modifiers.
-	 * 
-	 * @return the restriction modifier for the tag or {@link RestrictionModifiers#NO_RESTRICTIONS}
-	 */
-	public int getRestrictionModifier();
-	
-	/**
-	 * Returns the formatted javadoc tag label. A formatted javadoc tag label takes the 
-	 * form '@'+'tag name'.
-	 * <br>
-	 * For example:
-	 * <pre>
-	 * <code>@noimplement</code>
-	 * </pre>
-	 * @return the formatted javadoc tag label
-	 */
-	public String getTagLabel();
-	
-	/**
-	 * Returns the complete formatted javadoc tag for an element of the specified
-	 * kind. A complete javadoc tag takes the form '@'+'tagname'+'tagcomment'
-	 *  <br>
-	 * For example:
-	 * <pre>
-	 * <code>@noimplement</code> this interface is not to be implemented by clients
-	 * </pre>
-	 * 
-	 * @param type one of <code>CLASS</code> or <code>INTERFACE</code>
-	 * @param member one of <code>METHOD</code> or <code>FIELD</code> or <code>NONE</code>
-	 * @return the complete javadoc tag
-	 */
-	public String getCompleteTag(int type, int member);
-	
-	/**
-	 * Returns whether this tag is applicable to the specified kind of type and member.
-	 * 
-	 * @param type one of <code>CLASS</code> or <code>INTERFACE</code>
-	 * @param member one of <code>METHOD</code> or <code>FIELD</code> or <code>NONE</code>
-	 * @return whether this tag applies to this kind of element
-	 */
-	public boolean isApplicable(int type, int member);
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiMarkerConstants.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiMarkerConstants.java
deleted file mode 100644
index 760cf3b..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiMarkerConstants.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional;
-
-/**
- * Interface that defines all the constants used to create the Api tooling markers.
- * 
- * This interface is not intended to be extended or implemented.
- *
- * @since 1.0.0
- */
-public interface IApiMarkerConstants {
-
-	/**
-	 * Constant representing the name of the 'problem' attribute on api tooling markers.
-	 * Value is: <code>problemid</code>
-	 */
-	public static final String MARKER_ATTR_PROBLEM_ID = "problemid"; //$NON-NLS-1$
-	/**
-	 * Constant representing the name of the 'kind' attribute on API tooling markers.
-	 * Value is: <code>kind</code>
-	 */
-	public static final String MARKER_ATTR_KIND = "kind"; //$NON-NLS-1$
-	/**
-	 * Constant representing the handle id attribute of a java element.
-	 * Value is: <code>org.eclipse.jdt.internal.core.JavaModelManager.handleId</code>
-	 */
-	public static final String MARKER_ATTR_HANDLE_ID = "org.eclipse.jdt.internal.core.JavaModelManager.handleId" ; //$NON-NLS-1$
-	/**
-	 * Constant representing the name of the @since tag version attribute on API tooling markers,
-	 * or the new value for the bundle version.
-	 * Value is: <code>version</code>
-	 */
-	public static final String MARKER_ATTR_VERSION = "version"; //$NON-NLS-1$
-	/**
-	 * Constant representing the name of the message arguments attribute on API tooling markers.
-	 * Value is <code>messagearguments</code>
-	 */
-	public static final String MARKER_ATTR_MESSAGE_ARGUMENTS = "messagearguments"; //$NON-NLS-1$
-	/**
-	 * Constant representing the id for the default API profile problem marker.
-	 * Value is: <code>org.eclipse.pde.api.tools.api_profile</code>
-	 */
-	public static final String DEFAULT_API_PROFILE_PROBLEM_MARKER = ApiPlugin.PLUGIN_ID + ".api_profile"; //$NON-NLS-1$
-	/**
-	 * Constant representing the id for the binary compatibility problem marker.
-	 * Value is: <code>org.eclipse.pde.api.tools.binary_compatibility</code> 
-	 */
-	public static final String BINARY_COMPATIBILITY_PROBLEM_MARKER = ApiPlugin.PLUGIN_ID + ".binary_compatibility"; //$NON-NLS-1$
-	/**
-	 * Constant representing the id for the API usage problem marker.
-	 * Value is: <code>org.eclipse.pde.api.tools.api_usage</code> 
-	 */
-	public static final String API_USAGE_PROBLEM_MARKER = ApiPlugin.PLUGIN_ID + ".api_usage"; //$NON-NLS-1$
-	/**
-	 * Constant representing the id for the version numbering problem marker.
-	 * Value is: <code>org.eclipse.pde.api.tools.version_numbering</code> 
-	 */
-	public static final String VERSION_NUMBERING_PROBLEM_MARKER = ApiPlugin.PLUGIN_ID + ".version_numbering"; //$NON-NLS-1$
-	/**
-	 * Constant representing the id for the missing @since tag problem marker.
-	 * Value is: <code>org.eclipse.pde.api.tools.marker.sincetags</code> 
-	 */
-	public static final String SINCE_TAGS_PROBLEM_MARKER = ApiPlugin.PLUGIN_ID + ".marker.sincetags"; //$NON-NLS-1$
-	/**
-	 * Constant representing the name of the 'apiMarkerID' attribute on API tooling markers.
-	 * Value is: <code>apiMarkerID</code>
-	 */
-	public static final String API_MARKER_ATTR_ID = "apiMarkerID"; //$NON-NLS-1$
-	/**
-	 * Constant representing the apiMarkerID value for default api profile markers.
-	 * Value is: <code>1</code>
-	 */
-	public static final int DEFAULT_API_PROFILE_MARKER_ID = 1;
-	/**
-	 * Constant representing the apiMarkerID value for binary compatibility markers.
-	 * Value is: <code>2</code>
-	 */
-	public static final int BINARY_COMPATIBILITY_MARKER_ID = 2;
-	/**
-	 * Constant representing the apiMarkerID value for api usage markers.
-	 * Value is: <code>3</code>
-	 */
-	public static final int API_USAGE_MARKER_ID = 3;
-	/**
-	 * Constant representing the apiMarkerID value for version numbering markers.
-	 * Value is: <code>4</code>
-	 */
-	public static final int VERSION_NUMBERING_MARKER_ID = 4;
-	/**
-	 * Constant representing the apiMarkerID value for since tags markers.
-	 * Value is: <code>5</code>
-	 */
-	public static final int SINCE_TAG_MARKER_ID = 5;
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiProfile.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiProfile.java
deleted file mode 100644
index 18db658..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiProfile.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional;
-
-import java.io.OutputStream;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-
-/**
- * A collection of related API components that together make up
- * an API profile that can be compared with another profile.
- * 
- * @since 1.0.0
- */
-public interface IApiProfile {
-	
-	/**
-	 * Returns all API components in this profile. The components
-	 * are returned in the order that components are searched when
-	 * performing name lookup for a type (simulates the order
-	 * components would be searched when performing class loading
-	 * at runtime or name resolution at compile time).
-	 *  
-	 * @return all API components in this profile
-	 */
-	public IApiComponent[] getApiComponents();
-	
-	/**
-	 * Returns a human readable name for this API profile.
-	 * 
-	 * @return baseline name
-	 */
-	public String getName();
-	
-	/**
-	 * Allows the name of the profile to be changed to the new name.
-	 * If the new name is <code>null</code>, no changes are made.
-	 * @param name the new name for the profile
-	 */
-	public void setName(String name);
-	
-	/**
-	 * Adds the given API components to this profile, excluding all the source components.
-	 * 
-	 * @param components components to add
-	 */
-	public void addApiComponents(IApiComponent[] components);
-	
-	/**
-	 * Removes the specified API components from this profile.
-	 * 
-	 * @param components components to remove
-	 */
-	public void removeApiComponents(IApiComponent[] components);
-	
-	/**
-	 * Returns the API components that provides the specified package when referenced from
-	 * the specified source component or <code>null</code> if none.
-	 * 
-	 * @param sourceComponent component referencing the package
-	 * @param packageName name of referenced package
-	 * @return API components providing the package or <code>null</code>
-	 * @exception CoreException if an exception occurs
-	 */
-	public IApiComponent[] resolvePackage(IApiComponent sourceComponent, String packageName) throws CoreException;
-	
-	/**
-	 * Creates and returns a new API component for this profile at the specified
-	 * location or <code>null</code> if the location specified does not contain
-	 * a valid API component. The component is not added to the profile.
-	 * 
-	 * @param location absolute path in the local file system to the API component
-	 * @return API component or <code>null</code> if the location specified does not contain a valid
-	 * 	API component
-	 * @exception CoreException if unable to create the component
-	 */
-	public IApiComponent newApiComponent(String location) throws CoreException;
-
-	/**
-	 * Creates and returns a new API component for this profile based on the given
-	 * model or <code>null</code> if the given model cannot be resolved or does not contain
-	 * a valid API component. The component is not added to the profile.
-	 *
-	 * @param model the given model
-	 * @return API component or <code>null</code> if the given model cannot be resolved or does not contain
-	 * a valid API component
-	 * @exception CoreException if unable to create the component
-	 */
-	public IApiComponent newApiComponent(IPluginModelBase model) throws CoreException;
-
-	/**
-	 * Returns the API component in this profile with the given symbolic name
-	 * or <code>null</code> if none.
-	 * 
-	 * @param id component symbolic name
-	 * @return API component or <code>null</code>
-	 */
-	public IApiComponent getApiComponent(String id);
-	
-	/**
-	 * Returns the execution environment this profile is resolved with, or
-	 * <code>null</code> if none (not yet determined or unable to bind to an
-	 * execution environment). A profile can be created with a specific execution
-	 * environment, or be created to automatically resolve an execution environment
-	 * as components are added to it.
-	 * <p> 
-	 * An execution environment is represented by a unique identifier
-	 * as defined by OSGi - for example "J2SE-1.4" or "CDC-1.0/Foundation-1.0".
-	 * </p>
-	 * @return execution environment identifier or <code>null</code>
-	 */
-	public String getExecutionEnvironment();
-	
-	/**
-	 * Returns a status describing how the execution environment bound to this API
-	 * profile satisfies the requirements of the components in this profile.
-	 * 
-	 * @return status describing execution environment bound to this profile
-	 */
-	public IStatus getExecutionEnvironmentStatus();
-	
-	/**
-	 * Disposes this API profile. Clients must call this method when done
-	 * with a profile in order to free system resources.
-	 * <p>
-	 * All API components in this profile are disposed.
-	 * </p>
-	 */
-	public void dispose();
-	
-	/**
-	 * Writes a description of this profile to the given output stream.
-	 * The profile can be recreated using the {@link Factory}.
-	 * 
-	 * @param stream output stream to write description to
-	 * @throws CoreException if something goes terribly wrong
-	 */
-	public void writeProfileDescription(OutputStream stream) throws CoreException;
-	
-	/**
-	 * Returns all components in this profile depending on the given components.
-	 * The returned collection includes the given components and all dependents.
-	 * 
-	 * @param components the initial set of components
-	 * @return an array of components for the given roots and all
-	 * 	components in the state that depend on them
-	 */
-	public IApiComponent[] getDependentComponents(IApiComponent[] components);
-
-	/**
-	 * Returns all the prerequisite components in this profile for the given components. 
-	 * The returned collection includes the given components and all prerequisites.
-	 * 
-	 * @param components the initial set of components
-	 * @return an array of components for the given leaves and their
-	 * 	prerequisite components in this profile
-	 */
-	public IApiComponent[] getPrerequisiteComponents(IApiComponent[] components);
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiProfileManager.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiProfileManager.java
deleted file mode 100644
index b4f4566..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IApiProfileManager.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional;
-
-
-/**
- * Interface describing the {@link ApiProfileManager}
- * 
- * @noimplement this interface is not to be implemented by clients
- * @since 1.0.0
- */
-public interface IApiProfileManager {
-	
-	/**
-	 * Allows a new profile to be added to the managers' cache of profiles.
-	 * New profiles are added to the cache on a replace policy, meaning if there
-	 * already exists an {@link IApiProfile} entry it will be replaced with the 
-	 * new profile provided. If <code>null</code> is passed in as a new profile 
-	 * no work is done.
-	 * 
-	 * @param newprofile the new profile to add to the manager
-	 */
-	public void addApiProfile(IApiProfile newprofile);
-	
-	/**
-	 * Returns the complete listing of {@link IApiProfile}s contained in the 
-	 * manager or an empty array, never <code>null</code>.
-	 * 
-	 * @return the complete listing of {@link IApiProfile}s or an empty array
-	 */
-	public IApiProfile[] getApiProfiles();
-	
-	/**
-	 * Returns the {@link IApiProfile} object with the given id, or
-	 * <code>null</code> if there is no profile with the given id.
-	 * 
-	 * @param name the name of the profile to fetch
-	 * @return the {@link IApiProfile} with the given id or <code>null</code>
-	 */
-	public IApiProfile getApiProfile(String name);
-	
-	/**
-	 * Removes the {@link IApiProfile} with the given id from 
-	 * the manager, which propagates to the file-system to remove the 
-	 * underlying stored profile (if it exists).
-	 * 
-	 * @param name the unique name of the profile to remove from the manager
-	 * @return true if the removal was successful false otherwise. A successful removal 
-	 * constitutes the associated profile being removed from the manager and/or the 
-	 * persisted state file being removed from disk.
-	 */
-	public boolean removeApiProfile(String name);
-	
-	/**
-	 * Allows the {@link IApiProfile} with the specified id to be set as 
-	 * the default profile. This method will accept <code>null</code>, which will remove
-	 * a default {@link IApiProfile} setting.
-	 * @param name the name of the {@link IApiProfile} to be the default
-	 */
-	public void setDefaultApiProfile(String name);
-	
-	/**
-	 * Returns the {@link IApiProfile} that is the current default, or <code>null</code>
-	 * if one has not been set, or the currently specified id for the default profile no longer exists.
-	 * 
-	 * @return the default {@link IApiProfile} or <code>null</code>
-	 */
-	public IApiProfile getDefaultApiProfile();
-	
-	/**
-	 * Returns the workspace profile. Creates a new one if one does not exist.
-	 * If this method is called without the framework running it returns <code>null</code>
-	 * <p>
-	 * The workspace profile should be re-retrieved each time it is required
-	 * as some workspace modifications cause the underlying profile object to
-	 * change (for example, modification of MANIFEST.MF, build.properties,
-	 * or project build paths).
-	 * </p>
-	 * @return the workspace profile or <code>null</code>
-	 */
-	public IApiProfile getWorkspaceProfile();
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IClassFile.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IClassFile.java
deleted file mode 100644
index e9e35f2..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IClassFile.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional;
-
-import java.io.InputStream;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Handle to bytes in a class file.
- * 
- * @since 1.0.0
- */
-public interface IClassFile {
-
-	/**
-	 * Returns the fully qualified name of the type contained in this class file.
-	 * Package names are dot separated and type names are '$'-separated.
-	 * 
-	 * @return fully qualified type name
-	 */
-	public String getTypeName();
-	
-	/**
-	 * Returns the bytes of this class file. 
-	 *
-	 * @return class file bytes
-	 * @exception CoreException if unable to obtain the bytes
-	 */
-	public byte[] getContents() throws CoreException;
-	
-	/**
-	 * Returns an input stream for reading this class file. Clients are responsible
-	 * for closing the input stream.
-	 * 
-	 * @return input stream
-	 */
-	public InputStream getInputStream() throws CoreException;
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IClassFileContainer.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IClassFileContainer.java
deleted file mode 100644
index dd50318..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IClassFileContainer.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A class file container contains a set of class files.
- * 
- * @since 1.0.0
- */
-public interface IClassFileContainer {
-
-	/**
-	 * Returns the names of all packages in this container in dot
-	 * separated format. Does not include empty packages.
-	 * 
-	 * @return names of all packages in this container
-	 * @exception if unable to retrieve package names
-	 */
-	public String[] getPackageNames() throws CoreException;
-
-	/**
-	 * Returns the class file with the given fully qualified name
-	 * or <code>null</code> if none.
-	 * 
-	 * @param qualifiedName fully qualified type name. Package names
-	 * are dot separated and type names are '$'-separated.
-	 * @return class file or <code>null</code>
-	 * @exception if an exception occurs retrieving the class file
-	 */
-	public IClassFile findClassFile(String qualifiedName) throws CoreException;
-
-	/**
-	 * Returns the class file with the given fully qualified name
-	 * coming from the component with the given id or <code>null</code> if none.
-	 * 
-	 * @param qualifiedName fully qualified type name. Package names
-	 * are dot separated and type names are '$'-separated.
-	 * @param id the API component id to consider
-	 * @return class file or <code>null</code>
-	 * @exception if an exception occurs retrieving the class file
-	 */
-	public IClassFile findClassFile(String qualifiedName, String id) throws CoreException;
-
-	/**
-	 * Visits all class files in this container.
-	 * 
-	 * @param visitor class file visitor.
-	 * @exception CoreException if unable to visit this container
-	 */
-	public void accept(ClassFileContainerVisitor visitor) throws CoreException;
-	
-	/**
-	 * Closes this class file container. The container may still be used after closing,
-	 * but clients should close the container when they are done with it to free
-	 * system resources.
-	 * 
-	 * @throws CoreException if closing fails
-	 */
-	public void close() throws CoreException;
-	
-	/**
-	 * Returns the id of the component from where the receiver is coming from.
-	 * 
-	 * @return the id of the origin of this class file container
-	 */
-	public String getOrigin();
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IRequiredComponentDescription.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IRequiredComponentDescription.java
deleted file mode 100644
index 63e2049..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IRequiredComponentDescription.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional;
-
-
-/**
- * Describes an API component required by another component.
- * 
- * @since 1.0.0
- */
-public interface IRequiredComponentDescription {
-	
-	/**
-	 * Returns the symbolic name of the required component.
-	 * 
-	 * @return symbolic name of the required component
-	 */
-	public String getId();
-	
-	/**
-	 * Returns a range of compatible versions of the required component.
-	 * 
-	 * @return compatible version range
-	 */
-	public IVersionRange getVersionRange();
-	
-	/**
-	 * Returns true of the required component is optional, false otherwise.
-	 * 
-	 * @return true of the required component is optional, false otherwise.
-	 */
-	public boolean isOptional();
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IVersionRange.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IVersionRange.java
deleted file mode 100644
index d1a75e8..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/IVersionRange.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional;
-
-/**
- * Describes an interval or range of versions.
- * 
- * @since 1.0.0
- */
-public interface IVersionRange {
-	
-	/**
-	 * Returns the minimum version in this range.
-	 * 
-	 * @return minimum version 
-	 */
-	public String getMinimumVersion();
-	
-	/**
-	 * Returns whether the minimum version is included in the range.
-	 * 
-	 * @return whether the minimum version is included in the range
-	 */
-	public boolean isIncludeMinimum();
-	
-	/**
-	 * Returns the maximum version in this range.
-	 * 
-	 * @return maximum version 
-	 */	
-	public String getMaximumVersion();
-	
-	/**
-	 * Returns whether the maximum version is included in the range.
-	 * 
-	 * @return whether the maximum version is included in the range
-	 */
-	public boolean isIncludeMaximum();	
-	
-	/**
-	 * Returns whether the given version is included in this range.
-	 * 
-	 * @param version version identifier
-	 * @return whether included in this version range
-	 */
-	public boolean isIncluded(String version);
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/RestrictionModifiers.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/RestrictionModifiers.java
deleted file mode 100644
index 9b56c46..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/RestrictionModifiers.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional;
-
-/**
- * Class containing constants and utility methods for restriction modifiers
- * 
- * @since 1.0.0
- */
-public class RestrictionModifiers {
-
-	/**
-	 * Restriction kind constant indicating there are no restrictions on a type
-	 */
-	public static final int NO_RESTRICTIONS = 0x0000;
-	/**
-	 * Restriction kind constant indicating an interface cannot be implemented
-	 */
-	public static final int NO_IMPLEMENT = 0x0100;
-	/**
-	 * Restriction kind constant indicating a type or member cannot be extended.
-	 */
-	public static final int NO_EXTEND = 0x0200;
-	/**
-	 * Restriction kind constant indicating a class cannot be instantiated.
-	 */
-	public static final int NO_INSTANTIATE = 0x0400;
-	/**
-	 * Restriction kind constant indicating a class cannot have a member referenced
-	 */
-	public static final int NO_REFERENCE = 0x0800;
-	
-	/**
-	 * Bit mask of all restrictions.
-	 */
-	public static final int ALL_RESTRICTIONS = 0xFFFF;
-	
-	/**
-	 * Returns if the no_implement modifier has been set in the specified modifiers
-	 * @param modifiers the modifiers to resolve
-	 * @return if the no_implement modifier has been set in the specified modifiers
-	 */
-	public static final boolean isImplementRestriction(int modifiers) {
-		return (modifiers & NO_IMPLEMENT) > 0;
-	}
-	
-	/**
-	 * Returns if the no_subclass modifier has been set in the specified modifiers
-	 * @param modifiers the modifiers to resolve
-	 * @return if the no_subclass modifier has been set in the specified modifiers
-	 */
-	public static final boolean isExtendRestriction(int modifiers) {
-		return (modifiers & NO_EXTEND) > 0;
-	}
-	
-	/**
-	 * Returns if the no_instantiate modifier has been set in the specified modifiers
-	 * @param modifiers the modifiers to resolve
-	 * @return if the no_instantiate modifier has been set in the specified modifiers
-	 */
-	public static final boolean isInstantiateRestriction(int modifiers) {
-		return (modifiers & NO_INSTANTIATE) > 0;
-	}
-	
-	/**
-	 * Returns if the no_reference modifier has been set in the specified modifiers
-	 * @param modifiers the modifiers to resolve
-	 * @return if the no_reference modifier has been set in the specified modifiers
-	 */
-	public static final boolean isReferenceRestriction(int modifiers) {
-		return (modifiers & NO_REFERENCE) > 0;
-	}
-	
-	/**
-	 * Returns if the modifiers indicate no restrictions.
-	 * @param modifiers the modifiers to test
-	 * @return if the modifiers indicate no restrictions
-	 */
-	public static final boolean isUnrestricted(int modifiers) {
-		return modifiers == NO_RESTRICTIONS;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/VisibilityModifiers.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/VisibilityModifiers.java
deleted file mode 100644
index 3761e8a..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/VisibilityModifiers.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional;
-
-/**
- * Class containing constants and utility methods for visibility modifiers
- * 
- * @since 1.0.0
- */
-public class VisibilityModifiers {
-	
-	/**
-	 * Visibility constant indicating an element is public API.
-	 */
-	public static final int API = 0x0001;
-	/**
-	 * Visibility constant indicating a element should not be referenced. This 
-	 * indicates the element is internal and not intended for general use.
-	 */
-	public static final int PRIVATE = 0x0002;
-	/**
-	 * Visibility constant indicating an element is public for a specific
-	 * audience (service provider interface).
-	 */
-	public static final int SPI = 0x0004;
-	
-	/**
-	 * Visibility constant indicating an element is private, but some
-	 * clients have been permitted access to the element.
-	 */
-	public static final int PRIVATE_PERMISSIBLE = 0x0008;
-	
-	/**
-	 * Bit mask of all visibilities.
-	 */
-	public static final int ALL_VISIBILITIES = 0xFFFF;
-	
-	/**
-	 * Returns if the modifier is 'API'
-	 * @param modifiers the modifiers to resolve
-	 * @return if the modifier is 'API'
-	 */
-	public static final boolean isAPI(int modifiers) {
-		return (modifiers & API) > 0;
-	}
-	
-	/**
-	 * Returns if the modifier is 'SPI'
-	 * @param modifiers the modifiers to resolve
-	 * @return if the modifier is 'SPI'
-	 */
-	public static final boolean isSPI(int modifiers) {
-		return (modifiers & SPI) > 0;
-	}
-	
-	/**
-	 * Returns if the modifier is 'Private'
-	 * @param modifiers the modifiers to resolve
-	 * @return if the modifier is 'Private'
-	 */
-	public static final boolean isPrivate(int modifiers) {
-		return (modifiers & PRIVATE) > 0;
-	}
-	
-	/**
-	 * Returns if the modifier is 'Private Permissible'
-	 * @param modifiers the modifiers to resolve
-	 * @return if the modifier is 'Private Permissible'
-	 */
-	public static final boolean isPermissiblePrivate(int modifiers) {
-		return (modifiers & PRIVATE_PERMISSIBLE) > 0;
-	}	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/builder/IApiProblemReporter.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/builder/IApiProblemReporter.java
deleted file mode 100644
index c77d648..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/builder/IApiProblemReporter.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.builder;
-
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-
-/**
- * Describes a problem reporter used by the framework of API builders.
- * Problem reporters are used to collect problems from an associated
- * API builder and optionally create workspace markers.
- * <p>
- * Clients may implement this interface
- * </p>
- * 
- * @since 1.0.0
- * 
- */
-public interface IApiProblemReporter {
-
-	/**
-	 * Creates a new problem and adds it to this listing of problems this reporter is keeping track of.
-	 * If the problem is already in the reporter no work is done.
-	 * @param problem the problem to add
-	 * @return true if a problem was added to the reporter, false otherwise
-	 */
-	public boolean addProblem(IApiProblem problem);
-	
-	/**
-	 * Creates new markers for the listing of problems added to this reporter.
-	 */
-	public void createMarkers();
-	
-	/**
-	 * Cleans up all the reporter and frees any used memory.
-	 * This method is called at the end of the build cycle this reporter
-	 * is taking part in.
-	 */
-	public void dispose();
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/ApiComparator.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/ApiComparator.java
deleted file mode 100644
index dec89c4..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/ApiComparator.java
+++ /dev/null
@@ -1,550 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.comparator;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.comparator.ClassFileComparator;
-import org.eclipse.pde.api.tools.internal.comparator.Delta;
-import org.eclipse.pde.api.tools.internal.comparator.TypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * This class defines a comparator to get a IDelta out of the comparison of two elements.
- *
- * @since 1.0
- */
-public class ApiComparator {
-	public static final IDelta NO_DELTA = new Delta();
-
-	/**
-	 * Constant used for controlling tracing in the API comparator
-	 */
-	private static boolean DEBUG = Util.DEBUG;
-	
-	/**
-	 * Method used for initializing tracing in the API comparator
-	 */
-	public static void setDebug(boolean debugValue) {
-		DEBUG = debugValue || Util.DEBUG;
-	}
-
-	/**
-	 * Returns a delta that corresponds to the comparison of the given class file with the reference. 
-	 * 
-	 * @param classFile2 the given class file that comes from the <code>component2</code>
-	 * @param component the given API component from the reference
-	 * @param component2 the given API component to compare with
-	 * @param referenceProfile the given API profile from which the given component <code>component</code> is coming from
-	 * @param profile the given API profile from which the given component <code>component2</code> is coming from
-	 * @param visibilityModifiers the given visibility that triggers what visibility should be used for the comparison
-	 *
-	 * @return a delta, an empty delta if no difference is found or null if the delta detection failed
-	 * @exception IllegalArgumentException if:<ul>
-	 * <li>the given class file is null</li>
-	 * <li>one of the given components is null</li>
-	 * <li>one of the given profiles is null</li>
-	 * </ul>
-	 */
-	public static IDelta compare(
-			final IClassFile classFile2,
-			final IApiComponent component,
-			final IApiComponent component2,
-			final IApiProfile referenceProfile,
-			final IApiProfile profile,
-			final int visibilityModifiers) {
-		
-		if (classFile2 == null) {
-			throw new IllegalArgumentException("The given class file is null"); //$NON-NLS-1$
-		}
-		if (component == null || component2 == null) {
-			throw new IllegalArgumentException("One of the given components is null"); //$NON-NLS-1$
-		}
-		if (referenceProfile == null || profile == null) {
-			throw new IllegalArgumentException("One of the given profiles is null"); //$NON-NLS-1$
-		}
-
-		try {
-			TypeDescriptor typeDescriptor = new TypeDescriptor(classFile2);
-			if (typeDescriptor.isNestedType()) {
-				// we skip nested types (member, local and anonymous)
-				return NO_DELTA;
-			}
-			String typeName = classFile2.getTypeName();
-			IClassFile classFile = component.findClassFile(typeName);
-			if (classFile == null) {
-				return new Delta(IDelta.API_COMPONENT_ELEMENT_TYPE, IDelta.ADDED, IDelta.TYPE, classFile2, typeName, null);
-			}
-			final IApiDescription apiDescription = component2.getApiDescription();
-			IApiAnnotations elementDescription = apiDescription.resolveAnnotations(null, Factory.typeDescriptor(typeName));
-			if (elementDescription != null) {
-				int visibility = elementDescription.getVisibility();
-				if ((visibility & visibilityModifiers) == 0) {
-					// check visibility in the reference
-					final IApiDescription referenceApiDescription = component.getApiDescription();
-					elementDescription = referenceApiDescription.resolveAnnotations(null, Factory.typeDescriptor(typeName));
-					if (elementDescription != null && (visibility & visibilityModifiers) == 0) {
-						// no delta
-						return NO_DELTA;
-					}
-					// visibility has been changed
-					if (((visibility & VisibilityModifiers.API) != 0)
-							&& ((visibilityModifiers & VisibilityModifiers.API) != 0)) {
-						// was API and is no longer API
-						return new Delta(IDelta.API_COMPONENT_ELEMENT_TYPE, IDelta.REMOVED, IDelta.TYPE, classFile2, typeName, typeName);
-					}
-					// no delta
-					return new Delta(IDelta.API_COMPONENT_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TYPE_VISIBILITY, classFile2, typeName, null);
-				}
-			}
-			ClassFileComparator comparator = new ClassFileComparator(classFile, classFile2, component, component2, referenceProfile, profile, visibilityModifiers);
-			return comparator.getDelta();
-		} catch (CoreException e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Returns a delta that corresponds to the comparison of the given class file. 
-	 * 
-	 * @param classFile the given class file
-	 * @param classFile2 the given class file to compare with
-	 * @param component the given API component from which the given class file is coming from
-	 * @param component2 the given API component to compare with
-	 * @param referenceProfile the given API profile from which the given component <code>component</code> is coming from
-	 * @param profile the given API profile from which the given component <code>component2</code> is coming from
-	 * @param visibilityModifiers the given visibility that triggers what visibility should be used for the comparison
-	 *
-	 * @return a delta, an empty delta if no difference is found or null if the delta detection failed
-	 * @exception IllegalArgumentException if:<ul>
-	 * <li>one of the given components is null</li>
-	 * <li>one of the given profiles is null</li>
-	 * </ul>
-	 */
-	public static IDelta compare(
-			final IClassFile classFile,
-			final IClassFile classFile2,
-			final IApiComponent component,
-			final IApiComponent component2,
-			final IApiProfile referenceProfile,
-			final IApiProfile profile,
-			final int visibilityModifiers) {
-		
-		if (classFile == null || classFile2 == null) {
-			throw new IllegalArgumentException("One of the given class files is null"); //$NON-NLS-1$
-		}
-		if (component == null || component2 == null) {
-			throw new IllegalArgumentException("One of the given components is null"); //$NON-NLS-1$
-		}
-		if (referenceProfile == null || profile == null) {
-			throw new IllegalArgumentException("One of the given profiles is null"); //$NON-NLS-1$
-		}
-		ClassFileComparator comparator =
-			new ClassFileComparator(
-					classFile,
-					classFile2,
-					component,
-					component2,
-					referenceProfile,
-					profile,
-					visibilityModifiers);
-		return comparator.getDelta();
-	}
-
-	/**
-	 * Returns a delta that corresponds to the comparison of the two given API profiles. 
-	 * 
-	 * @param referenceProfile the given API profile which is the reference
-	 * @param profile the given API profile to compare with
-	 * @param force a flag to force the comparison of nested API components with the same versions 
-	 *
-	 * @return a delta, an empty delta if no difference is found or null if the delta detection failed
-	 * @throws IllegalArgumentException if one of the two profiles is null
-	 */
-	public static IDelta compare(
-			final IApiProfile referenceProfile,
-			final IApiProfile profile,
-			final boolean force) {
-		return compare(referenceProfile, profile, VisibilityModifiers.ALL_VISIBILITIES, force);
-	}
-
-	/**
-	 * Returns a delta that corresponds to the comparison of the two given API profiles.
-	 * Nested API components with the same versions are not compared.
-	 * <p>Equivalent to: compare(profile, profile2, false);</p>
-	 * 
-	 * @param referenceProfile the given API profile which is the reference
-	 * @param profile the given API profile to compare with
-	 *
-	 * @return a delta, an empty delta if no difference is found or null if the delta detection failed
-	 * @throws IllegalArgumentException if one of the two profiles is null
-	 */
-	public static IDelta compare(
-			final IApiProfile referenceProfile,
-			final IApiProfile profile) {
-		return compare(referenceProfile, profile, VisibilityModifiers.ALL_VISIBILITIES, false);
-	}
-
-	/**
-	 * Returns a delta that corresponds to the comparison of the two given API profiles. 
-	 * Nested API components with the same versions are not compared.
-	 * <p>Equivalent to: compare(profile, profile2, visibilityModifiers, false);</p>
-	 * 
-	 * @param referenceProfile the given API profile which is the reference
-	 * @param profile the given API profile to compare with
-	 * @param visibilityModifiers the given visibility that triggers what visibility should be used for the comparison
-	 *
-	 * @return a delta, an empty delta if no difference is found or null if the delta detection failed
-	 * @throws IllegalArgumentException if one of the two profiles is null
-	 */
-	public static IDelta compare(
-			final IApiProfile referenceProfile,
-			final IApiProfile profile,
-			final int visibilityModifiers) {
-		return compare(referenceProfile, profile, visibilityModifiers, false);
-	}
-
-	/**
-	 * Returns a delta that corresponds to the difference between the given profile and the reference.
-	 * 
-	 * @param referenceProfile the given API profile which is used as the reference
-	 * @param profile the given API profile to compare with
-	 * @param visibilityModifiers the given visibility that triggers what visibility should be used for the comparison
-	 * @param force a flag to force the comparison of nested API components with the same versions 
-	 *
-	 * @return a delta, an empty delta if no difference is found or null if the delta detection failed
-	 * @throws IllegalArgumentException if one of the two profiles is null
-	 */
-	public static IDelta compare(
-			final IApiProfile referenceProfile,
-			final IApiProfile profile,
-			final int visibilityModifiers,
-			final boolean force) {
-		if (referenceProfile == null || profile == null) {
-			throw new IllegalArgumentException("None of the profiles must be null"); //$NON-NLS-1$
-		}
-		IApiComponent[] apiComponents = referenceProfile.getApiComponents();
-		IApiComponent[] apiComponents2 = profile.getApiComponents();
-		Set apiComponentsIds = new HashSet();
-		final Delta globalDelta = new Delta();
-		for (int i = 0, max = apiComponents.length; i < max; i++) {
-			IApiComponent apiComponent = apiComponents[i];
-			if (!apiComponent.isSystemComponent()) {
-				String id = apiComponent.getId();
-				IApiComponent apiComponent2 = profile.getApiComponent(id);
-				IDelta delta = null;
-				if (apiComponent2 == null) {
-					// report removal of an API component
-					delta = new Delta(IDelta.API_PROFILE_ELEMENT_TYPE, IDelta.REMOVED, IDelta.API_COMPONENT, null, id, id);
-				} else {
-					apiComponentsIds.add(id);
-					if (!apiComponent.getVersion().equals(apiComponent2.getVersion())
-							|| force) {
-						long time = System.currentTimeMillis();
-						try {
-							delta = compare(apiComponent, apiComponent2, referenceProfile, profile, visibilityModifiers);
-						} finally {
-							if (DEBUG) {
-								System.out.println("Time spent for " + id+ " " + apiComponent.getVersion() + " : " + (System.currentTimeMillis() - time) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-							}
-						}
-					}
-				}
-				if (delta != null && delta != NO_DELTA) {
-					globalDelta.add(delta);
-				}
-			}
-		}
-		for (int i = 0, max = apiComponents2.length; i < max; i++) {
-			IApiComponent apiComponent = apiComponents2[i];
-			if (!apiComponent.isSystemComponent()) {
-				String id = apiComponent.getId();
-				if (!apiComponentsIds.contains(id)) {
-					// addition of an API component
-					globalDelta.add(new Delta(IDelta.API_PROFILE_ELEMENT_TYPE, IDelta.ADDED, IDelta.API_COMPONENT, null, id, id));
-				}
-			}
-		}
-		return globalDelta.isEmpty() ? NO_DELTA : globalDelta;
-	}
-
-	/**
-	 * Returns a delta that corresponds to the difference between the given component and the reference profile.
-	 * 
-	 * @param component the given component to compare with the given reference profile
-	 * @param referenceProfile the given API profile which is used as the reference
-	 * @param visibilityModifiers the given visibility that triggers what visibility should be used for the comparison
-	 * @param force a flag to force the comparison of nested API components with the same versions 
-	 *
-	 * @return a delta, an empty delta if no difference is found or null if the delta detection failed
-	 * @exception IllegalArgumentException if:<ul>
-	 * <li>the given component is null</li>
-	 * <li>the reference profile is null</li>
-	 * </ul>
-	 */
-	public static IDelta compare(
-			final IApiComponent component,
-			final IApiProfile referenceProfile,
-			final int visibilityModifiers,
-			final boolean force) {
-		
-		if (component == null) {
-			throw new IllegalArgumentException("The composent cannot be null"); //$NON-NLS-1$
-		}
-		if (referenceProfile == null) {
-			throw new IllegalArgumentException("The reference profile cannot be null"); //$NON-NLS-1$
-		}
-		IDelta delta = null;
-		if (!component.isSystemComponent()) {
-			String id = component.getId();
-			IApiComponent apiComponent2 = referenceProfile.getApiComponent(id);
-			if (apiComponent2 == null) {
-				// report addition of an API component
-				delta = new Delta(IDelta.API_PROFILE_ELEMENT_TYPE, IDelta.ADDED, IDelta.API_COMPONENT, null, id, id);
-			} else {
-				if (!component.getVersion().equals(apiComponent2.getVersion())
-						|| force) {
-					long time = System.currentTimeMillis();
-					try {
-						delta = compare(apiComponent2, component, visibilityModifiers);
-					} finally {
-						if (DEBUG) {
-							System.out.println("Time spent for " + id+ " " + component.getVersion() + " : " + (System.currentTimeMillis() - time) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-						}
-					}
-				}
-			}
-			if (delta != null && delta != NO_DELTA) {
-				return delta;
-			}
-		}
-		return NO_DELTA;
-	}
-
-	/**
-	 * Returns a delta that corresponds to the difference between the given component and the given reference component.
-	 * The given component cannot be null.
-	 * 
-	 * @param referenceComponent the given API component that is used as the reference
-	 * @param component the given component to compare with
-	 * @param visibilityModifiers the given visibility that triggers what visibility should be used for the comparison
-	 * @param force a flag to force the comparison of nested API components with the same versions 
-	 *
-	 * @return a delta, an empty delta if no difference is found or null if the delta detection failed
-	 * @exception IllegalArgumentException if:<ul>
-	 * <li>one of the given components is null</li>
-	 * </ul>
-	 */
-	public static IDelta compare(
-			final IApiComponent referenceComponent,
-			final IApiComponent component,
-			final int visibilityModifiers) {
-
-		if (referenceComponent == null || component == null) {
-			throw new IllegalArgumentException("One of the given components is null"); //$NON-NLS-1$
-		}
-		return compare(referenceComponent, component, referenceComponent.getProfile(), component.getProfile(), visibilityModifiers);
-	}
-	/**
-	 * Returns a delta that corresponds to the comparison of the two given API components.
-	 * The two components are compared even if their versions are identical.
-	 * 
-	 * @param referenceComponent the given API component from which the given class file is coming from
-	 * @param component2 the given API component to compare with
-	 * @param referenceProfile the given API profile from which the given component <code>component</code> is coming from
-	 * @param profile the given API profile from which the given component <code>component2</code> is coming from
-	 * @param visibilityModifiers the given visibility that triggers what visibility should be used for the comparison
-	 *
-	 * @return a delta, an empty delta if no difference is found or null if the delta detection failed
-	 * @exception IllegalArgumentException if:<ul>
-	 * <li>both given components are null</li>
-	 * <li>one of the profiles is null</li>
-	 * </ul>
-	 */
-	public static IDelta compare(
-			final IApiComponent referenceComponent,
-			final IApiComponent component2,
-			final IApiProfile referenceProfile,
-			final IApiProfile profile) {
-		return compare(referenceComponent, component2, referenceProfile, profile, VisibilityModifiers.ALL_VISIBILITIES);
-	}
-
-	/**
-	 * Returns a delta that corresponds to the comparison of the two given API components.
-	 * The two components are compared even if their versions are identical.
-	 * 
-	 * @param referenceComponent the given API component
-	 * @param component2 the given API component to compare with
-	 * @param referenceProfile the given API profile from which the given component <code>component</code> is coming from
-	 * @param profile the given API profile from which the given component <code>component2</code> is coming from
-	 * @param visibilityModifiers the given visibility that triggers what visibility should be used for the comparison
-	 *
-	 * @return a delta, an empty delta if no difference is found or null if the delta detection failed
-	 * @exception IllegalArgumentException if:<ul>
-	 * <li>both given components are null</li>
-	 * <li>one of the profiles is null</li>
-	 * </ul>
-	 */
-	public static IDelta compare(
-			final IApiComponent referenceComponent,
-			final IApiComponent component2,
-			final IApiProfile referenceProfile,
-			final IApiProfile profile,
-			final int visibilityModifiers) {
-	
-		if (referenceProfile == null || profile == null) {
-			throw new IllegalArgumentException("The profiles cannot be null"); //$NON-NLS-1$
-		}
-		if (referenceComponent == null) {
-			if (component2 == null) {
-				throw new IllegalArgumentException("Both components cannot be null"); //$NON-NLS-1$
-			}
-			return new Delta(IDelta.API_PROFILE_ELEMENT_TYPE, IDelta.ADDED, IDelta.API_COMPONENT, null, component2.getId(), component2.getId());
-		} else if (component2 == null) {
-			return new Delta(IDelta.API_PROFILE_ELEMENT_TYPE, IDelta.REMOVED, IDelta.API_COMPONENT, null, referenceComponent.getId(), referenceComponent.getId());
-		}
-		final Delta globalDelta = new Delta();
-
-		// check the EE first
-		Set referenceEEs = Util.convertAsSet(referenceComponent.getExecutionEnvironments());
-		Set componentsEEs = Util.convertAsSet(component2.getExecutionEnvironments());
-		
-		for (Iterator iterator = referenceEEs.iterator(); iterator.hasNext(); ) {
-			String currentEE = (String) iterator.next();
-			if (!componentsEEs.remove(currentEE)) {
-				globalDelta.add(new Delta(IDelta.API_COMPONENT_ELEMENT_TYPE, IDelta.REMOVED, IDelta.EXECUTION_ENVIRONMENT, null, referenceComponent.getId(), currentEE));
-			}
-		}
-		for (Iterator iterator = componentsEEs.iterator(); iterator.hasNext(); ) {
-			String currentEE = (String) iterator.next();
-			globalDelta.add(new Delta(IDelta.API_COMPONENT_ELEMENT_TYPE, IDelta.ADDED, IDelta.EXECUTION_ENVIRONMENT, null, referenceComponent.getId(), currentEE));
-		}
-		try {
-			return internalCompare(referenceComponent, component2, referenceProfile, profile, visibilityModifiers, globalDelta);
-		} catch(CoreException e) {
-			// null means an error case
-			return null;
-		}
-	}
-
-	private static IDelta internalCompare(
-			final IApiComponent component,
-			final IApiComponent component2,
-			final IApiProfile referenceProfile,
-			final IApiProfile profile,
-			final int visibilityModifiers,
-			final Delta globalDelta) throws CoreException {
-
-		final Set classFileBaseLineNames = new HashSet();
-		final String id = component.getId();
-		IClassFileContainer[] classFileContainers = component.getClassFileContainers(id);
-		final IApiDescription apiDescription = component.getApiDescription();
-		if (classFileContainers != null) {
-			for (int i = 0, max = classFileContainers.length; i < max; i++) {
-				IClassFileContainer container = classFileContainers[i];
-				try {
-					container.accept(new ClassFileContainerVisitor() {
-						public void visit(String packageName, IClassFile classFile) {
-							String typeName = classFile.getTypeName();
-							IApiAnnotations elementDescription = apiDescription.resolveAnnotations(null, Factory.typeDescriptor(typeName));
-							try {
-								TypeDescriptor typeDescriptor = new TypeDescriptor(classFile);
-								if (filterType(visibilityModifiers, elementDescription, typeDescriptor)) {
-									return;
-								}
-								classFileBaseLineNames.add(typeName);
-								IClassFile classFile2 = component2.findClassFile(typeName, id);
-								if (classFile2 == null) {
-									globalDelta.add(new Delta(IDelta.API_COMPONENT_ELEMENT_TYPE, IDelta.REMOVED, IDelta.TYPE, classFile, typeName, typeName));
-								} else {
-									ClassFileComparator comparator = new ClassFileComparator(typeDescriptor, classFile2, component, component2, referenceProfile, profile, visibilityModifiers);
-									IDelta delta = comparator.getDelta();
-									if (delta != null && delta != NO_DELTA) {
-										globalDelta.add(delta);
-									}
-								}
-							} catch (CoreException e) {
-								ApiPlugin.log(e);
-							}
-						}
-					});
-				} catch (CoreException e) {
-					ApiPlugin.log(e);
-				}
-			}
-		}
-		IClassFileContainer[] classFileContainers2 = component2.getClassFileContainers(id);
-		final IApiDescription apiDescription2 = component2.getApiDescription();
-		if (classFileContainers2 != null) {
-			for (int i = 0, max = classFileContainers2.length; i < max; i++) {
-				IClassFileContainer container = classFileContainers2[i];
-				try {
-					container.accept(new ClassFileContainerVisitor() {
-						public void visit(String packageName, IClassFile classFile) {
-							String typeName = classFile.getTypeName();
-							IApiAnnotations elementDescription = apiDescription2.resolveAnnotations(null, Factory.typeDescriptor(typeName));
-							try {
-								TypeDescriptor typeDescriptor = new TypeDescriptor(classFile);
-								if (filterType(visibilityModifiers, elementDescription, typeDescriptor)) {
-									return;
-								}
-								if (classFileBaseLineNames.contains(typeName)) {
-									// already processed
-									return;
-								}
-								globalDelta.add(new Delta(IDelta.API_COMPONENT_ELEMENT_TYPE, IDelta.ADDED, IDelta.TYPE, classFile, typeName, null));
-							} catch (CoreException e) {
-								ApiPlugin.log(e);
-							}
-						}
-					});
-				} catch (CoreException e) {
-					ApiPlugin.log(e);
-				}
-			}
-		}
-		return globalDelta.isEmpty() ? NO_DELTA : globalDelta;
-	}
-	
-	/* (no javadoc)
-	 * Returns true, if the given type descriptor should be skipped, false otherwise.
-	 */
-	static boolean filterType(final int visibilityModifiers,
-			IApiAnnotations elementDescription,
-			TypeDescriptor typeDescriptor) {
-		if (elementDescription != null && (elementDescription.getVisibility() & visibilityModifiers) == 0) {
-			// we skip the class file according to their visibility
-			return true;
-		}
-		if (visibilityModifiers == VisibilityModifiers.API) {
-			// if the visibility is API, we only consider public and protected types
-			if (Util.isDefault(typeDescriptor.access)
-						|| Util.isPrivate(typeDescriptor.access)) {
-				return true;
-			}
-		}
-		// we skip nested types (member, local and anonymous)
-		return typeDescriptor.isNestedType();
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/Compare.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/Compare.java
deleted file mode 100644
index 3336a3a..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/Compare.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.comparator;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileWriter;
-import java.io.IOException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.ApiProfileManager;
-import org.eclipse.pde.api.tools.internal.comparator.DeltaXmlVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-
-/**
- * Java application to compare two API profiles
- */
-public class Compare {
-	private static final String BASELINE = "-baseline"; //$NON-NLS-1$
-	private static final String PROFILE = "-profile"; //$NON-NLS-1$
-	private static final String OUTPUT = "-output"; //$NON-NLS-1$
-	private static final String OPTIONS = "-options"; //$NON-NLS-1$
-	
-	private String baseline;
-	private String output;
-	private String profile;
-
-	/**
-	 * Supported options:
-	 * <ul>
-	 * <li>-baseline: path to a file that specifies the API profile baseline</li>
-	 * <li>-profile: path to a file that specifies the API profile to compare with the baseline profile</li>
-	 * <li>-output: path to a folder in which the result files are generated</li>
-	 * <li>-options: path to a property file that defines the available options</li>
-	 * </ul>
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Compare compare = new Compare();
-		try {
-			compare.configure(args);
-			if (compare.isVerbose()) {
-				long time = System.currentTimeMillis();
-				compare.process();
-				System.out.println("" + (System.currentTimeMillis() - time) + "ms spent"); //$NON-NLS-1$ //$NON-NLS-2$
-			} else {
-				compare.process();
-			}
-		} catch (IllegalArgumentException e) {
-			// ignore: correspond to a wrong option
-		}
-	}
-	
-	private void configure(String[] args) {
-		// command line processing
-		/*
-		 * Recognized options:
-		 * -baseline
-		 * -output
-		 * -profile
-		 * -options
-		 */
-		final int OPTION_DEFAULT = 0;
-		final int OPTION_BASELINE  = 1;
-		final int OPTION_PROFILE = 2;
-		final int OPTION_OPTIONS = 3;
-		final int OPTION_OUTPUT = 4;
-		int mode = OPTION_DEFAULT;
-		for (int i = 0, max = args.length; i < max; i++) {
-			String currentArg = args[i];
-			switch (mode) {
-				case OPTION_DEFAULT:
-					if (BASELINE.equals(currentArg)) {
-						mode = OPTION_BASELINE;
-						continue;
-					}
-					if (OUTPUT.equals(currentArg)) {
-						mode = OPTION_OUTPUT;
-						continue;
-					}
-					if (PROFILE.equals(currentArg)) {
-						mode = OPTION_PROFILE;
-						continue;
-					}
-					if (OPTIONS.equals(currentArg)) {
-						mode = OPTION_OPTIONS;
-						continue;
-					}
-					System.err.println("Unknown option : " + currentArg); //$NON-NLS-1$
-					break;
-				case OPTION_BASELINE:
-					if (this.baseline != null) {
-						throw new IllegalArgumentException("Cannot set the baseline value more than once"); //$NON-NLS-1$
-					}
-					this.baseline = currentArg;
-					mode = OPTION_DEFAULT;
-					break;
-				case OPTION_PROFILE:
-					if (this.profile != null) {
-						throw new IllegalArgumentException("Cannot set the profile value more than once"); //$NON-NLS-1$
-					}
-					this.profile = currentArg;
-					mode = OPTION_DEFAULT;
-					break;
-				case OPTION_OPTIONS :
-					// TODO need to be customized
-					break;
-				case OPTION_OUTPUT :
-					if (this.output != null) {
-						throw new IllegalArgumentException("Cannot set the output value more than once"); //$NON-NLS-1$
-					}
-					this.output = currentArg;
-					break;
-			}
-		}
-		if (this.baseline == null || this.profile == null || this.output == null) {
-			printUsage();
-			throw new IllegalArgumentException("Missing arguments"); //$NON-NLS-1$
-		}
-	}
-
-	private void printUsage() {
-		System.out.println("Usage: Compare -baseline <path> -profile <path> -output <path to xml file>"); //$NON-NLS-1$
-	}
-	private boolean isVerbose() {
-		// this should be customized using options
-		return true;
-	}
-
-	private void process() {
-		// processing the comparison
-		BufferedInputStream inputStream = null;
-		IApiProfile baseline = null;
-		try {
-			inputStream = new BufferedInputStream(new FileInputStream(this.baseline));
-			baseline = ApiProfileManager.restoreProfile(inputStream);
-		} catch (FileNotFoundException e) {
-			ApiPlugin.log(e);
-		} catch (CoreException e) {
-			ApiPlugin.log(e);
-		} finally {
-			try {
-				if (inputStream!= null) {
-					inputStream.close();
-				}
-			} catch(IOException e) {
-				// ignore
-			}
-		}
-		inputStream = null;
-		IApiProfile profile = null;
-		try {
-			inputStream = new BufferedInputStream(new FileInputStream(this.profile));
-			profile = ApiProfileManager.restoreProfile(inputStream);
-		} catch (FileNotFoundException e) {
-			ApiPlugin.log(e);
-		} catch (CoreException e) {
-			ApiPlugin.log(e);
-		} finally {
-			try {
-				if (inputStream!= null) {
-					inputStream.close();
-				}
-			} catch(IOException e) {
-				// ignore
-			}
-		}
-		File outputFile = new File(this.output);
-		if (!outputFile.exists()) {
-			File parentFile = outputFile.getParentFile();
-			if (parentFile != null) {
-				if (!parentFile.exists()) {
-					if (!parentFile.mkdirs()) {
-						System.err.println("Could not create the output folder for : " + this.output); //$NON-NLS-1$
-						return;
-					}
-				}
-			} else {
-				System.err.println("Could not retrieve the parent of the output file : " + this.output); //$NON-NLS-1$
-				return;
-			}
-		}
-		if (baseline == null) {
-			System.err.println("Could not setup the baseline profile : " + this.baseline); //$NON-NLS-1$
-			return;
-		}
-		if (profile == null) {
-			System.err.println("Could not setup the profile to compare with the baseline profile : " + this.profile); //$NON-NLS-1$
-			return;
-		}
-		IDelta delta = ApiComparator.compare(baseline, profile, VisibilityModifiers.API);
-		if (delta == null) {
-			// an error occured during the comparison
-			System.err.println("An error occured during the comparison"); //$NON-NLS-1$
-			return;
-		}
-		if (delta != ApiComparator.NO_DELTA) {
-			// dump the resulting XML into the output folder
-			BufferedWriter writer = null;
-			try {
-				if (outputFile.exists()) {
-					// delete the file
-					// TODO we might want to customize it
-					outputFile.delete();
-				}
-				writer = new BufferedWriter(new FileWriter(outputFile));
-				DeltaXmlVisitor visitor = new DeltaXmlVisitor();
-				delta.accept(visitor);
-				writer.write(visitor.getXML());
-				writer.flush();
-			} catch (IOException e) {
-				ApiPlugin.log(e);
-			} catch (CoreException e) {
-				ApiPlugin.log(e);
-			} finally {
-				try {
-					if (writer != null) {
-						writer.close();
-					}
-				} catch(IOException e) {
-					// ignore
-				}
-			}
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/DeltaProcessor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/DeltaProcessor.java
deleted file mode 100644
index b6ffa0f..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/DeltaProcessor.java
+++ /dev/null
@@ -1,468 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.comparator;
-
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-
-/**
- * Class used to process the delta to find out if they are binary compatible or not.
- *
- * @since 1.0.0
- */
-public class DeltaProcessor {
-	
-	/**
-	 * Return true is the given delta is binary compatible, false otherwise.
-	 * 
-	 * @param delta the given delta
-	 * @return true is the given delta is binary compatible, false otherwise.
-	 */
-	public static boolean isBinaryCompatible(IDelta delta) {
-		class BinaryCompatibleVisitor extends DeltaVisitor {
-			boolean isBinaryCompatible = true;
-			
-			public boolean visit(IDelta delta) {
-				if (!this.isBinaryCompatible) return false;
-				return true;
-			}
-			public void endVisit(IDelta delta) {
-				if (this.isBinaryCompatible) {
-					this.isBinaryCompatible = isBinaryCompatible0(delta);
-				}
-			}
-		};
-		if (delta.getChildren().length != 0) {
-			BinaryCompatibleVisitor visitor = new BinaryCompatibleVisitor();
-			delta.accept(visitor);
-			return visitor.isBinaryCompatible;
-		} else {
-			return isBinaryCompatible0(delta);
-		}
-	}
-
-	/**
-	 * Returns if the delta is binary compatible or not
-	 * @param delta
-	 * @return true if the delta represents a binary compatible change or not
-	 */
-	private static boolean isBinaryCompatible0(IDelta delta) {
-		switch(delta.getElementType()) {
-			case IDelta.API_PROFILE_ELEMENT_TYPE : {
-				return isApiProfileBinaryCompatible(delta);
-			}
-			case IDelta.API_COMPONENT_ELEMENT_TYPE : {
-				return isApiComponentBinaryCompatible(delta);
-			}
-			case IDelta.INTERFACE_ELEMENT_TYPE : {
-				return isInterfaceBinaryCompatible(delta);
-			}
-			case IDelta.ANNOTATION_ELEMENT_TYPE : {
-				return isAnnotationBinaryCompatible(delta);
-			}
-			case IDelta.METHOD_ELEMENT_TYPE : {
-				return isMethodBinaryCompatible(delta);
-			}
-			case IDelta.CONSTRUCTOR_ELEMENT_TYPE : {
-				return isConstructorBinaryCompatible(delta);
-			}
-			case IDelta.FIELD_ELEMENT_TYPE : {
-				return isFieldBinaryCompatible(delta);
-			}
-			case IDelta.CLASS_ELEMENT_TYPE : {
-				return isClassBinaryCompatible(delta);
-			}
-			case IDelta.ENUM_ELEMENT_TYPE : {
-				return isEnumBinaryCompatible(delta);
-			}
-		}
-		return true;
-	}
-	
-	/**
-	 * Returns if the API profile is binary compatible
-	 * @param delta
-	 * @return true if binary compatible, false otherwise
-	 */
-	private static boolean isApiProfileBinaryCompatible(IDelta delta) {
-		switch(delta.getKind()) {
-			case IDelta.REMOVED :
-				switch(delta.getFlags()) {
-					case IDelta.API_COMPONENT :
-						return false;
-				}
-		}
-		return true;
-	}
-	
-	/**
-	 * Returns if the API component is binary compatible
-	 * @param delta
-	 * @return true if binary compatible, false otherwise
-	 */
-	private static boolean isApiComponentBinaryCompatible(IDelta delta) {
-		switch(delta.getKind()) {
-			case IDelta.REMOVED :
-				switch(delta.getFlags()) {
-					case IDelta.TYPE :
-						return false;
-				}
-				break;
-		}
-		return true;
-	}
-	
-	/**
-	 * Returns if the annotation is binary compatible or not
-	 * @param delta
-	 * @return true if binary compatible, false otherwise
-	 */
-	private static boolean isAnnotationBinaryCompatible(IDelta delta) {
-		switch(delta.getKind()) {
-			case IDelta.ADDED :
-				switch(delta.getFlags()) {
-					case IDelta.FIELD :
-					case IDelta.METHOD :
-						return RestrictionModifiers.isImplementRestriction(delta.getRestrictions());
-					case IDelta.TYPE_PARAMETER :
-					case IDelta.CLASS_BOUND :
-					case IDelta.INTERFACE_BOUND :
-					case IDelta.INTERFACE_BOUNDS :
-					case IDelta.METHOD_WITHOUT_DEFAULT_VALUE :
-						return false;
-				}
-				break;
-			case IDelta.REMOVED :
-				switch(delta.getFlags()) {
-					case IDelta.FIELD :
-					case IDelta.METHOD_WITHOUT_DEFAULT_VALUE :
-					case IDelta.METHOD_WITH_DEFAULT_VALUE :
-					case IDelta.TYPE_MEMBER :
-					case IDelta.TYPE_PARAMETERS :
-					case IDelta.TYPE_PARAMETER :
-					case IDelta.CLASS_BOUND :
-					case IDelta.INTERFACE_BOUND :
-					case IDelta.INTERFACE_BOUNDS :
-						return false;
-				}
-				break;
-			case IDelta.CHANGED :
-				switch(delta.getFlags()) {
-					case IDelta.CONTRACTED_SUPERINTERFACES_SET :
-					case IDelta.CLASS_BOUND :
-					case IDelta.INTERFACE_BOUND :
-					case IDelta.TO_CLASS :
-					case IDelta.TO_ENUM :
-					case IDelta.TO_INTERFACE :
-					case IDelta.RESTRICTIONS :
-						return false;
-				}
-				break;
-		}
-		return true;
-	}
-	
-	/**
-	 * Returns if the method is binary compatible or not
-	 * @param delta
-	 * @return true if binary compatible, false otherwise
-	 */
-	private static boolean isMethodBinaryCompatible(IDelta delta) {
-		switch(delta.getKind()) {
-			case IDelta.REMOVED :
-				switch(delta.getFlags()) {
-					case IDelta.ANNOTATION_DEFAULT_VALUE :
-					case IDelta.TYPE_PARAMETERS :
-					case IDelta.TYPE_PARAMETER :
-					case IDelta.CLASS_BOUND :
-					case IDelta.INTERFACE_BOUND :
-					case IDelta.INTERFACE_BOUNDS :
-						return !Util.isVisible(delta);
-				}
-				break;
-			case IDelta.ADDED :
-				switch(delta.getFlags()) {
-					case IDelta.TYPE_PARAMETER :
-					case IDelta.CLASS_BOUND :
-					case IDelta.INTERFACE_BOUND :
-					case IDelta.INTERFACE_BOUNDS :
-						return !Util.isVisible(delta);
-				}
-				break;
-			case IDelta.CHANGED :
-				switch(delta.getFlags()) {
-					case IDelta.CLASS_BOUND :
-					case IDelta.INTERFACE_BOUND :
-					case IDelta.VARARGS_TO_ARRAY :
-					case IDelta.NON_ABSTRACT_TO_ABSTRACT :
-					case IDelta.NON_STATIC_TO_STATIC :
-					case IDelta.STATIC_TO_NON_STATIC :
-						return !Util.isVisible(delta);
-					case IDelta.DECREASE_ACCESS :
-						return false;
-					case IDelta.NON_FINAL_TO_FINAL :
-						return !Util.isVisible(delta) || RestrictionModifiers.isExtendRestriction(delta.getRestrictions());
-				}
-				break;
-		}
-		return true;
-	}
-	
-	/**
-	 * Returns if the field is binary compatible or not
-	 * @param delta
-	 * @return true if binary compatible, false otherwise
-	 */
-	private static boolean isFieldBinaryCompatible(IDelta delta) {
-		switch(delta.getKind()) {
-			case IDelta.REMOVED :
-				switch(delta.getFlags()) {
-					case IDelta.VALUE :
-					case IDelta.TYPE_ARGUMENTS :
-						return !Util.isVisible(delta);
-				}
-				break;
-			case IDelta.CHANGED :
-				switch(delta.getFlags()) {
-					case IDelta.TYPE :
-					case IDelta.FINAL_TO_NON_FINAL_STATIC_CONSTANT :
-					case IDelta.NON_FINAL_TO_FINAL :
-					case IDelta.STATIC_TO_NON_STATIC :
-					case IDelta.NON_STATIC_TO_STATIC :
-						return !Util.isVisible(delta);
-					case IDelta.VALUE :
-						if (Util.isProtected(delta.getModifiers())) {
-							return RestrictionModifiers.isExtendRestriction(delta.getRestrictions()) || RestrictionModifiers.isImplementRestriction(delta.getRestrictions());
-						}
-						if (Util.isPublic(delta.getModifiers())) {
-							return false;
-						}
-						// not visible
-						return true;
-					case IDelta.DECREASE_ACCESS :
-						return false;
-				}
-				break;
-			case IDelta.ADDED :
-				switch(delta.getFlags()) {
-					case IDelta.VALUE :
-						return !Util.isVisible(delta);
-				}
-		}
-		return true;
-	}
-	
-	/**
-	 * Returns if the constructor is binary compatible or not
-	 * @param delta
-	 * @return true if binary compatible, false otherwise
-	 */
-	private static boolean isConstructorBinaryCompatible(IDelta delta) {
-		switch(delta.getKind()) {
-			case IDelta.REMOVED :
-				switch(delta.getFlags()) {
-					case IDelta.TYPE_PARAMETERS :
-					case IDelta.TYPE_PARAMETER :
-					case IDelta.CLASS_BOUND :
-					case IDelta.INTERFACE_BOUND :
-					case IDelta.INTERFACE_BOUNDS :
-						return !Util.isVisible(delta);
-				}
-				break;
-			case IDelta.ADDED :
-				switch(delta.getFlags()) {
-					case IDelta.TYPE_PARAMETER :
-					case IDelta.CLASS_BOUND :
-					case IDelta.INTERFACE_BOUND :
-					case IDelta.INTERFACE_BOUNDS :
-						return !Util.isVisible(delta);
-				}
-				break;
-			case IDelta.CHANGED :
-				switch(delta.getFlags()) {
-					case IDelta.CLASS_BOUND :
-					case IDelta.INTERFACE_BOUND :
-					case IDelta.VARARGS_TO_ARRAY :
-					case IDelta.NON_ABSTRACT_TO_ABSTRACT :
-					case IDelta.NON_STATIC_TO_STATIC :
-					case IDelta.STATIC_TO_NON_STATIC :
-						return !Util.isVisible(delta);
-					case IDelta.DECREASE_ACCESS :
-						return false;
-					case IDelta.NON_FINAL_TO_FINAL :
-						return !Util.isVisible(delta) || RestrictionModifiers.isExtendRestriction(delta.getRestrictions());
-				}
-				break;
-		}
-		return true;
-	}
-	
-	/**
-	 * Returns if the enum is binary compatible or not
-	 * @param delta
-	 * @return true if binary compatible, false otherwise
-	 */
-	private static boolean isEnumBinaryCompatible(IDelta delta) {
-		switch(delta.getKind()) {
-			case IDelta.ADDED :
-				switch(delta.getFlags()) {
-					case IDelta.FIELD :
-					case IDelta.METHOD :
-						return !Util.isVisible(delta) || RestrictionModifiers.isExtendRestriction(delta.getRestrictions());
-				}
-				break;
-			case IDelta.REMOVED :
-				switch(delta.getFlags()) {
-					case IDelta.FIELD :
-					case IDelta.ENUM_CONSTANT :
-					case IDelta.METHOD :
-					case IDelta.CONSTRUCTOR :
-					case IDelta.TYPE_MEMBER :
-						return !Util.isVisible(delta);
-				}
-				break;
-			case IDelta.CHANGED :
-				switch(delta.getFlags()) {
-					case IDelta.CONTRACTED_SUPERINTERFACES_SET :
-					case IDelta.NON_ABSTRACT_TO_ABSTRACT :
-					case IDelta.TO_ANNOTATION :
-					case IDelta.TO_CLASS :
-					case IDelta.TO_ENUM :
-					case IDelta.TO_INTERFACE :
-					case IDelta.RESTRICTIONS :
-						return !Util.isVisible(delta);
-					case IDelta.DECREASE_ACCESS :
-						return false;
-				}
-				break;
-		}
-		return true;
-	}
-	
-	/**
-	 * Returns if a class file is binary compatible
-	 * @param delta
-	 * @return true if binary compatible, false otherwise
-	 */
-	private static boolean isClassBinaryCompatible(IDelta delta) {
-		switch(delta.getKind()) {
-			case IDelta.ADDED:
-				switch(delta.getFlags()) {
-					case IDelta.FIELD :
-						if (Util.isVisible(delta)) {
-							if (Util.isStatic(delta.getModifiers())) {
-								return true;
-							}
-							return RestrictionModifiers.isExtendRestriction(delta.getRestrictions()) || Util.isProtected(delta.getModifiers());
-						}
-						return true; 
-					case IDelta.METHOD :
-						if (Util.isVisible(delta)) {
-							return RestrictionModifiers.isExtendRestriction(delta.getRestrictions()) || !Util.isAbstract(delta.getModifiers());
-						}
-						return true; 
-					case IDelta.TYPE_PARAMETER :
-					case IDelta.CLASS_BOUND :
-					case IDelta.INTERFACE_BOUND :
-					case IDelta.INTERFACE_BOUNDS :
-						return !Util.isVisible(delta);
-				}
-				break;
-			case IDelta.REMOVED :
-				switch(delta.getFlags()) {
-					case IDelta.FIELD :
-					case IDelta.METHOD :
-					case IDelta.CONSTRUCTOR :
-					case IDelta.TYPE_MEMBER :
-						if (Util.isVisible(delta)) {
-							return RestrictionModifiers.isExtendRestriction(delta.getRestrictions())
-									&& Util.isProtected(delta.getModifiers());
-						}
-						return true;
-					case IDelta.CLASS_BOUND :
-					case IDelta.INTERFACE_BOUND :
-					case IDelta.INTERFACE_BOUNDS :
-					case IDelta.TYPE_PARAMETER :
-					case IDelta.TYPE_PARAMETERS :
-						return !Util.isVisible(delta);
-				}
-				break;
-			case IDelta.CHANGED :
-				switch(delta.getFlags()) {
-					case IDelta.CONTRACTED_SUPERINTERFACES_SET :
-					case IDelta.CONTRACTED_SUPERCLASS_SET :
-					case IDelta.SUPERCLASS :
-					case IDelta.CLASS_BOUND :
-					case IDelta.INTERFACE_BOUND :
-					case IDelta.NON_ABSTRACT_TO_ABSTRACT :
-					case IDelta.NON_FINAL_TO_FINAL:
-					case IDelta.TO_ANNOTATION :
-					case IDelta.TO_ENUM :
-					case IDelta.TO_INTERFACE :
-					case IDelta.RESTRICTIONS :
-						return !Util.isVisible(delta);
-					case IDelta.DECREASE_ACCESS :
-						return false;
-				}
-				break;
-		}
-		return true;
-	}
-	
-	/**
-	 * Returns if the interface element is binary compatible 
-	 * @param delta
-	 * @return true if binary compatible, false otherwise
-	 */
-	private static boolean isInterfaceBinaryCompatible(IDelta delta) {
-		switch(delta.getKind()) {
-			case IDelta.ADDED :
-				switch(delta.getFlags()) {
-					case IDelta.FIELD :
-					case IDelta.METHOD :
-						return RestrictionModifiers.isImplementRestriction(delta.getRestrictions());
-					case IDelta.TYPE_PARAMETER :
-					case IDelta.CLASS_BOUND :
-					case IDelta.INTERFACE_BOUND :
-					case IDelta.INTERFACE_BOUNDS :
-						return false;
-				}
-				break;
-			case IDelta.REMOVED :
-				switch(delta.getFlags()) {
-					case IDelta.FIELD :
-					case IDelta.METHOD :
-					case IDelta.TYPE_MEMBER :
-					case IDelta.TYPE_PARAMETERS :
-					case IDelta.TYPE_PARAMETER :
-					case IDelta.CLASS_BOUND :
-					case IDelta.INTERFACE_BOUND :
-					case IDelta.INTERFACE_BOUNDS :
-						return false;
-				}
-				break;
-			case IDelta.CHANGED :
-				switch(delta.getFlags()) {
-					case IDelta.CONTRACTED_SUPERINTERFACES_SET :
-					case IDelta.CLASS_BOUND :
-					case IDelta.INTERFACE_BOUND :
-					case IDelta.TO_ANNOTATION :
-					case IDelta.TO_CLASS :
-					case IDelta.TO_ENUM :
-					case IDelta.RESTRICTIONS :
-						return false;
-				}
-				break;
-		}
-		return true;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/DeltaVisitor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/DeltaVisitor.java
deleted file mode 100644
index 8e0badb..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/DeltaVisitor.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.comparator;
-
-
-public class DeltaVisitor {
-	
-	/**
-	 * Visit the given delta
-	 * 
-	 * @param delta the given delta
-	 * @return true if the children of the given delta should also be processed
-	 */
-	public boolean visit(IDelta delta) {
-		return true;
-	}
-
-	/**
-	 * Callback called when the delta visitor is exiting the given delta
-	 * 
-	 * @param delta the given delta
-	 */
-	public void endVisit(IDelta delta) {
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/IDelta.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/IDelta.java
deleted file mode 100644
index 8c7ea8c..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/comparator/IDelta.java
+++ /dev/null
@@ -1,819 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.comparator;
-
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-
-/**
- * Interface that represents a delta.
- * This interface is not intended to be implemented or extended by the client.
- */
-public interface IDelta {
-	/**
-	 * Status constant indicating that the element has been added.
-	 */
-	public int ADDED = 1;
-	/**
-	 * Status constant indicating that the element has been changed, as
-	 * described by the change flags.
-	 * 
-	 * @see #getFlags()
-	 */
-	public int CHANGED = 2;
-
-	/**
-	 * Status constant indicating that the element has been removed.
-	 */
-	public int REMOVED = 3;
-
-	/**
-	 * Element type constant indicating that the delta is reported against an annotation type declaration.
-	 * 
-	 * @see #getElementType()
-	 */
-	public static final int ANNOTATION_ELEMENT_TYPE = 1;
-
-	/**
-	 * Element type constant indicating that the delta is reported against an API component.
-	 * 
-	 * @see #getElementType()
-	 */
-	public static final int API_COMPONENT_ELEMENT_TYPE = 2;
-
-	/**
-	 * Element type constant indicating that the delta is reported against an API profile.
-	 * 
-	 * @see #getElementType()
-	 */
-	public static final int API_PROFILE_ELEMENT_TYPE = 3;
-
-	/**
-	 * Element type constant indicating that the delta is reported against a class type declaration.
-	 * 
-	 * @see #getElementType()
-	 */
-	public static final int CLASS_ELEMENT_TYPE = 4;
-
-	/**
-	 * Element type constant indicating that the delta is reported against a constructor declaration.
-	 * 
-	 * @see #getElementType()
-	 */
-	public static final int CONSTRUCTOR_ELEMENT_TYPE = 5;
-
-	/**
-	 * Element type constant indicating that the delta is reported against an enum type declaration.
-	 * 
-	 * @see #getElementType()
-	 */
-	public static final int ENUM_ELEMENT_TYPE = 6;
-
-
-	/**
-	 * Element type constant indicating that the delta is reported against a field declaration.
-	 * 
-	 * @see #getElementType()
-	 */
-	public static final int FIELD_ELEMENT_TYPE = 7;
-
-	/**
-	 * Element type constant indicating that the delta is reported against an interface type declaration.
-	 * 
-	 * @see #getElementType()
-	 */
-	public static final int INTERFACE_ELEMENT_TYPE = 8;
-
-	/**
-	 * Element type constant indicating that the delta is reported against a member type.
-	 * 
-	 * @see #getElementType()
-	 */
-	public static final int MEMBER_ELEMENT_TYPE = 9;
-
-	/**
-	 * Element type constant indicating that the delta is reported against a method declaration.
-	 * 
-	 * @see #getElementType()
-	 */
-	public static final int METHOD_ELEMENT_TYPE = 10;
-
-
-	/**
-	 * Delta kind flag that denotes removing the abstract keyword from a member.
-	 *  <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int ABSTRACT_TO_NON_ABSTRACT = 1;
-	/**
-	 * Delta kind flag that denotes the default value of an annotation.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #CHANGED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int ANNOTATION_DEFAULT_VALUE = 2;
-	/**
-	 * Delta kind flag that denotes an {@link IApiComponent}.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int API_COMPONENT = 3;
-	/**
-	 * Delta kind flag that denotes changing an array of objects to a Java 1.5 varargs.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int ARRAY_TO_VARARGS = 4;
-	/**
-	 * Delta kind flag that denotes a checked exception.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int CHECKED_EXCEPTION = 5;
-	/**
-	 * Delta kind flag that denotes a Java 1.5 generics class bound.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul> 
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int CLASS_BOUND = 6;
-	/**
-	 * Delta kind flag that denotes a static initializer.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #CHANGED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int CLINIT = 7;
-	/**
-	 * Delta kind flag that denotes a constructor.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int CONSTRUCTOR = 8;
-	/**
-	 * Delta kind flag that denotes a class in the super-class set has been removed.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul> 
-	 * @see #getFlags()
-	 */
-	public static final int CONTRACTED_SUPERCLASS_SET = 9;
-	/**
-	 * Delta kind flag that denotes an interface in the super-interface set has been removed.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul> 
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int CONTRACTED_SUPERINTERFACES_SET = 10;
-	/**
-	 * Delta kind flag that denotes decreasing the access of a member.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int DECREASE_ACCESS = 11;
-	/**
-	 * Delta kind flag that denotes a constant value enum.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int ENUM_CONSTANT = 12;
-	/**
-	 * Delta kind flag that denotes and execution environment.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #CHANGED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int EXECUTION_ENVIRONMENT = 13;
-	/**
-	 * Delta kind flag that denotes a superclass has been added to the current super-class set.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int EXPANDED_SUPERCLASS_SET = 14;
-	/**
-	 * Delta kind flag that denotes an interface has been added to the current set of super-interfaces.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int EXPANDED_SUPERINTERFACES_SET = 15;
-	/**
-	 * Delta kind flag that denotes a field has been added or removed.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int FIELD = 16;
-	/**
-	 * Delta kind flag that denotes a field has been moved up the current super-class hierarchy.
-	 *  <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int FIELD_MOVED_UP = 17;
-	/**
-	 * Delta kind flag that denotes the final keyword has been removed from a member.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int FINAL_TO_NON_FINAL = 18;
-	/**
-	 * Delta kind flag that denotes that the final keyword has been removed from a static member.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int FINAL_TO_NON_FINAL_NON_STATIC = 19;
-	/**
-	 * Delta kind flag that denotes the final keyword has been removed from a constant field.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int FINAL_TO_NON_FINAL_STATIC_CONSTANT = 20;
-	/**
-	 * Delta kind flag that denotes the final keyword has been removed from a non-constant field.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int FINAL_TO_NON_FINAL_STATIC_NON_CONSTANT = 21;
-	/**
-	 * Delta kind flag that denotes the access to a member has been increased.
-	 *  <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * @see #getFlags()
-	 */
-	public static final int INCREASE_ACCESS = 22;
-	/**
-	 * Delta kind flag that denotes a Java 1.5 interface bound has been changed.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #CHANGED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int INTERFACE_BOUND = 23;
-	/**
-	 * Delta kind flag that denotes Java 1.5 interface bounds have changed.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int INTERFACE_BOUNDS = 24;
-	/**
-	 * Delta kind flag that denotes a method has been added or removed.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int METHOD = 25;
-	/**
-	 * Delta kind flag that denotes a method has moved up the super-class hierarchy.
-	 *  <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int METHOD_MOVED_UP = 26;
-	/**
-	 * Delta kind flag that denotes a method with a default value has been added or removed.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int METHOD_WITH_DEFAULT_VALUE = 27;
-	/**
-	 * Delta kind flag that denotes a method without a default value has been added or removed.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int METHOD_WITHOUT_DEFAULT_VALUE = 28;
-	/**
-	 * Delta kind flag that denotes the native keyword has been removed.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int NATIVE_TO_NON_NATIVE = 29;
-	/**
-	 * Delta kind flag that denotes the abstract keyword has been added.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int NON_ABSTRACT_TO_ABSTRACT = 30;
-	/**
-	 * Delta kind flag that denotes the final keyword has been added.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int NON_FINAL_TO_FINAL = 31;
-	/**
-	 * Delta kind flag that denotes the native keyword has been added.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int NON_NATIVE_TO_NATIVE = 32;
-	/**
-	 * Delta kind flag that denotes the static keyword has been added.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int NON_STATIC_TO_STATIC = 33;
-	/**
-	 * Delta kind flag that denotes the synchronized keyword has been added.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int NON_SYNCHRONIZED_TO_SYNCHRONIZED = 34;
-	/**
-	 * Delta kind flag that denotes the transient keyword has been added.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int NON_TRANSIENT_TO_TRANSIENT = 35;
-	/**
-	 * Delta kind flag that denotes API restrictions on a member have changed.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int RESTRICTIONS = 36;
-	/**
-	 * Delta kind flag that denotes the static keyword has been removed.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int STATIC_TO_NON_STATIC = 37;
-	/**
-	 * Delta kind flag that denotes a super-class has been added or changed.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int SUPERCLASS = 38;
-	/**
-	 * Delta kind flag that denotes the synchronized keyword has been removed.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int SYNCHRONIZED_TO_NON_SYNCHRONIZED = 39;
-	/**
-	 * Delta kind flag that denotes a type has changed to an annotation.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int TO_ANNOTATION = 40;
-	/**
-	 * Delta kind flag that denotes a type has changed to a class.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int TO_CLASS = 41;
-	/**
-	 * Delta kind flag that denotes a type has changed to an enum.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int TO_ENUM = 42;
-	/**
-	 * Delta kind flag that denotes a type has changed to an interface.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int TO_INTERFACE = 43;
-	/**
-	 * Delta kind flag that denotes the transient keyword has been removed.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int TRANSIENT_TO_NON_TRANSIENT = 44;
-	/**
-	 * Delta kind flag that denotes a type has changed in some way.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #CHANGED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int TYPE = 45;
-	/**
-	 * Delta kind flag that denotes type arguments have been added or removed.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int TYPE_ARGUMENTS = 46;
-	/**
-	 * Delta kind flag that denotes a type member has been added or removed from a type.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * @see #getFlags()
-	 */
-	public static final int TYPE_MEMBER = 47;
-	/**
-	 * Delta kind flag that denotes a type parameter has been added or removed.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int TYPE_PARAMETER = 48;
-	/**
-	 * Delta kind flag that a type parameter name has changed.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int TYPE_PARAMETER_NAME = 49;
-	/**
-	 * Delta kind flag that denotes parameters have been added or removed from a type.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int TYPE_PARAMETERS = 50;
-	/**
-	 * Delta kind flag that denotes the visibility of a type has changed.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int TYPE_VISIBILITY = 51;
-	/**
-	 * Delta kind flag that denotes an unchecked exception has been added or removed.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int UNCHECKED_EXCEPTION = 52;
-	/**
-	 * Delta kind flag that denotes the value of a member has changed in some way.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #ADDED}</li>
-	 * <li>{@link #CHANGED}</li>
-	 * <li>{@link #REMOVED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int VALUE = 53;
-	/**
-	 * Delta kind flag that denotes changing a Java 1.5 varargs to an array of {@link Object}s.
-	 * <br>
-	 * Applies to kinds:
-	 * <ul>
-	 * <li>{@link #CHANGED}</li>
-	 * </ul>
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int VARARGS_TO_ARRAY = 54;	
-
-	/**
-	 * Return true if the receiver has no children deltas, false otherwise.
-	 * 
-	 * @return true if the receiver has no children deltas, false otherwise.
-	 */
-	public boolean isEmpty();
-
-	/**
-	 * Returns the key of this delta.
-	 * 
-	 * @return the key of this delta
-	 */
-	public String getKey();
-	
-	/**
-	 * Returns the kind of this delta that describe how an element has changed.
-	 * 
-	 * @return the kind of this delta that describe how an element has changed
-	 */
-	public int getKind();
-
-	/**
-	 * Returns flags that describe how an element has changed.
-	 * 
-	 * @return flags that describe how an element has changed
-	 */
-	public int getFlags();
-
-	/**
-	 * Returns the type of the element on which a delta occurred. Any of
-	 * {@link IDelta#ANNOTATION_ELEMENT_TYPE}, {@link IDelta#ENUM_ELEMENT_TYPE},
-	 * {@link IDelta#CONSTRUCTOR_ELEMENT_TYPE}, {@link IDelta#METHOD_ELEMENT_TYPE},
-	 * {@link IDelta#INTERFACE_ELEMENT_TYPE}, {@link IDelta#CLASS_ELEMENT_TYPE},
-	 * {@link IDelta#FIELD_ELEMENT_TYPE}, {@link IDelta#API_COMPONENT_ELEMENT_TYPE}
-	 * and {@link IDelta#API_PROFILE_ELEMENT_TYPE}. 
-	 * 
-	 * @return flags that describe how an element has changed
-	 */
-	public int getElementType();
-
-	/**
-	 * Returns the children of the receiver. Return an empty list if none
-	 * 
-	 * @return children of the receiver
-	 */
-	public IDelta[] getChildren();
-	
-	/**
-	 * Traverse the given delta and apply the visitor
-	 * @param visitor the given delta visitor
-	 */
-	public void accept(DeltaVisitor visitor);
-	
-	/**
-	 * Returns the type name against which the delta is returned.
-	 * 
-	 * @return the type name against which the delta is returned.
-	 */
-	public String getTypeName();
-
-	/**
-	 * Returns the delta's description. This can be used as an error message. The message is returned
-	 * in the current locale.
-	 * 
-	 * @return the delta's description
-	 */
-	public String getMessage();
-	
-	/**
-	 * Returns the set of arguments that can be used to compose NLS'd messages. These arguments will typically
-	 * be type, method and field names.
-	 * 
-	 * @return the set of arguments to compose NLS'd messages
-	 */
-	public String[] getArguments();
-	
-	/**
-	 * Returns the delta's restrictions.
-	 * 
-	 * @return the delta's restrictions
-	 */
-	public int getRestrictions();
-
-	/**
-	 * Returns the delta's modifiers. This corresponds to the modifiers of the affected element.
-	 * by the delta.
-	 * 
-	 * @return the delta's modifiers
-	 */
-	public int getModifiers();
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IArrayTypeDescriptor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IArrayTypeDescriptor.java
deleted file mode 100644
index ed9f836..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IArrayTypeDescriptor.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.descriptors;
-
-
-
-/**
- * Description of an array type.
- * <p>
- * An array type has no parent.
- * </p>
- * @since 1.0.0
- */
-public interface IArrayTypeDescriptor extends ITypeDescriptor {
-	
-	/**
-	 * Returns a descriptor for the type of elements in this array.
-	 * 
-	 * @return component type
-	 */
-	public ITypeDescriptor getComponentType();
-	
-	/**
-	 * Returns the number of dimensions in this array.
-	 * 
-	 * @return the number of dimensions in this array
-	 */
-	public int getDimensions();
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IElementDescriptor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IElementDescriptor.java
deleted file mode 100644
index 7bc4d86..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IElementDescriptor.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.descriptors;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * Describes an element in an API component.
- * 
- * @since 1.0.0
- */
-public interface IElementDescriptor {
-	
-	/**
-	 * Constant representing a package descriptor.
-	 */
-	public static final int T_PACKAGE = 1;
-	
-	/**
-	 * Constant representing a reference type descriptor.
-	 */
-	public static final int T_REFERENCE_TYPE = 2;	
-	
-	/**
-	 * Constant representing a primitive type descriptor.
-	 */
-	public static final int T_PRIMITIVE_TYPE = 3;	
-	
-	/**
-	 * Constant representing an array type descriptor.
-	 */
-	public static final int T_ARRAY_TYPE = 4;	
-	
-	/**
-	 * Constant representing a field descriptor.
-	 */
-	public static final int T_FIELD = 5;	
-	
-	/**
-	 * Constant representing a method descriptor.
-	 */
-	public static final int T_METHOD = 6;	
-	
-	/**
-	 * Constant representing an {@link IResource} descriptor
-	 */
-	public static final int T_RESOURCE = 7;
-	
-	/**
-	 * Returns the parent of this element or <code>null</code> if none.
-	 * 
-	 * @return
-	 */
-	public IElementDescriptor getParent();
-	
-	/**
-	 * Returns all parents of this element in a top-down path, including this
-	 * element as the last element in the path.
-	 * 
-	 * @return path top-down path to this element
-	 */
-	public IElementDescriptor[] getPath();
-	
-	/**
-	 * Returns one of the element type constants defined by this interface.
-	 * 
-	 * @return element type constant
-	 */
-	public int getElementType();
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IFieldDescriptor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IFieldDescriptor.java
deleted file mode 100644
index ad73c1d..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IFieldDescriptor.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.descriptors;
-
-/**
- * Describes a field.
- * 
- * @since 1.0.0
- */
-public interface IFieldDescriptor extends IMemberDescriptor {
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IMemberDescriptor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IMemberDescriptor.java
deleted file mode 100644
index 8c1d4c7..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IMemberDescriptor.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.descriptors;
-
-import org.eclipse.jdt.core.Flags;
-
-/**
- * Describes a field.
- * <p>
- * A member has either an enclosing type for a parent. Top level types
- * have a package for a parent.
- * </p>
- * @since 1.0.0
- */
-public interface IMemberDescriptor extends IElementDescriptor {
-	
-	/**
-	 * Returns the name of this member.
-	 * 
-	 * @return member name
-	 */
-	public String getName();
-	
-	/**
-	 * Returns a descriptor for the type this member is declared in or <code>null</code>
-	 * if none.
-	 * 
-	 * @return enclosing type or <code>null</code>
-	 */
-	public IReferenceTypeDescriptor getEnclosingType();
-	
-	/**
-	 * Returns a descriptor for the package this member is contained in.
-	 * 
-	 * @return package descriptor
-	 */
-	public IPackageDescriptor getPackage();
-	
-	/**
-	 * Returns the modifier bit mask associated with this member or -1 if unknown.
-	 * Modifiers are as defined by {@link Flags}
-	 * 
-	 * @return modifiers bit mask
-	 */
-	public int getModifiers();
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IMethodDescriptor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IMethodDescriptor.java
deleted file mode 100644
index a7e6392..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IMethodDescriptor.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.descriptors;
-
-
-
-/**
- * Describes a method.
- * 
- * @since 1.0.0
- */
-public interface IMethodDescriptor extends IMemberDescriptor {
-	
-	/**
-	 * Returns the signature of this method. This includes the signatures for the
-	 * parameter types and return type, but does not include the method name,
-	 * exception types, or type parameters.
-	 * <p>
-	 * For example, a method declared as <code>public void foo(String text, int length)</code>
-	 * would return <code>"(Ljava.lang.String;I)V"</code>.
-	 * </p>
-	 * @return the signature of this method
-	 */
-	public String getSignature();
-	
-	/**
-	 * Returns whether this method is synthetic.
-	 * 
-	 * @return whether this method is synthetic
-	 */
-	public boolean isSynthetic();
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IPackageDescriptor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IPackageDescriptor.java
deleted file mode 100644
index 82e5b16..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IPackageDescriptor.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.descriptors;
-
-import org.eclipse.jdt.core.Flags;
-
-
-/**
- * Description of a package.
- * <p>
- * A package has no parent.
- * </p>
- * @since 1.0.0
- */
-public interface IPackageDescriptor extends IElementDescriptor {
-	
-	/**
-	 * Returns this package's name. Package names are dot qualified.
-	 * 
-	 * @return package name
-	 */
-	public String getName();
-	
-	/**
-	 * Returns a descriptor for a type in this package with the given name. The given
-	 * name is not package qualified. Inner types are '$'-separated.
-	 * 
-	 * @param typeQualifiedName type qualified name
-	 * @return type descriptor
-	 */
-	public IReferenceTypeDescriptor getType(String typeQualifiedName);
-	
-	/**
-	 * Returns a descriptor for a type in this package with the given name and
-	 * access modifiers. The given name is not package qualified. Inner types are
-	 * '$'-separated.
-	 * 
-	 * @param typeQualifiedName type qualified name
-	 * @param modifiers access modifiers as defined by {@link Flags}
-	 * @return type descriptor
-	 */
-	public IReferenceTypeDescriptor getType(String typeQualifiedName, int modifiers);	
-	
-	/**
-	 * Returns a descriptor for a type in this package with the given name. The given
-	 * name is not package qualified. Inner types are '$'-separated.
-	 * <p>
-	 * Extra type signature information may be provided for generic types.
-	 * </p>
-	 * 
-	 * @param typeQualifiedName type qualified name
-	 * @param signature type signature information or <code>null</code>
-	 * @return type descriptor
-	 */
-	public IReferenceTypeDescriptor getType(String typeQualifiedName, String signature);	
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IPrimitiveTypeDescriptor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IPrimitiveTypeDescriptor.java
deleted file mode 100644
index c8ae522..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IPrimitiveTypeDescriptor.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.descriptors;
-
-
-
-/**
- * Description of a primitive type.
- *  <p>
- * A primitive type has no parent.
- * </p>
- * @since 1.0.0
- */
-public interface IPrimitiveTypeDescriptor extends ITypeDescriptor {
-	
-	/**
-	 * Returns an array type descriptor of this type with the specified number
-	 * of dimensions.
-	 * 
-	 * @param dimensions number of dimensions in the array
-	 * @return array type descriptor
-	 */
-	public IArrayTypeDescriptor getArray(int dimensions);	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IReferenceTypeDescriptor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IReferenceTypeDescriptor.java
deleted file mode 100644
index 9932012..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IReferenceTypeDescriptor.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.descriptors;
-
-import org.eclipse.jdt.core.Flags;
-
-
-
-/**
- * Description of a class, interface, or enum.
- * <p>
- * A type has either a package or enclosing type for a parent.
- * </p>
- * <p>
- * Package segments of a type name are dot-separated 
- * </p>
- * @since 1.0.0
- */
-public interface IReferenceTypeDescriptor extends IMemberDescriptor, ITypeDescriptor {
-	
-	/**
-	 * Returns this type's fully qualified name. Package names are dot qualified
-	 * and inner types are '$'-separated.
-	 * 
-	 * @return type name
-	 */
-	public String getQualifiedName();	
-	
-	/**
-	 * Returns type signature information about this type or <code>null</code>
-	 * if none. May contain extra information for parameterized types.
-	 * 
-	 * @return type signature information for this type or <code>null</code>
-	 */
-	public String getGenericSignature();
-		
-	/**
-	 * Returns a descriptor for the package this type is contained in.
-	 * 
-	 * @return package descriptor
-	 */
-	public IPackageDescriptor getPackage();
-	
-	/**
-	 * Returns a descriptor for a member type.
-	 * 
-	 * @param simpleName simple type name
-	 * @return type descriptor
-	 */
-	public IReferenceTypeDescriptor getType(String simpleName);
-	
-	/**
-	 * Returns a descriptor for a member type with the given modifiers.
-	 * 
-	 * @param simpleName simple type name
-	 * @param modifiers modifiers define by {@link Flags}
-	 * @return type descriptor
-	 */
-	public IReferenceTypeDescriptor getType(String simpleName, int modifiers);	
-	
-	/**
-	 * Returns a descriptor for a field with the given name in this type.
-	 * 
-	 * @param name field name
-	 * @return field descriptor
-	 * 
-	 */
-	public IFieldDescriptor getField(String name);
-	
-	/**
-	 * Returns a descriptor for a field with the given name in this type with the
-	 * specified modifiers.
-	 * 
-	 * @param name field name
-	 * @param modifiers modifiers
-	 * @return field descriptor
-	 * 
-	 * 
-	 */
-	public IFieldDescriptor getField(String name, int modifiers);
-	
-	/**
-	 * Returns a descriptor for a non-synthetic method with the given
-	 * name and signature in this type.
-	 * 
-	 * @param name method name
-	 * @param signature method signature
-	 * @return method descriptor
-	 */
-	public IMethodDescriptor getMethod(String name, String signature);
-	
-	/**
-	 * Returns a descriptor for a method with the given name
-	 * and signature in this type.
-	 * 
-	 * @param name method name
-	 * @param signature method signature
-	 * @param modifiers member modifiers
-	 * @return method descriptor
-	 */
-	public IMethodDescriptor getMethod(String name, String signature, int modifiers);
-	
-	/**
-	 * Returns an array type descriptor of this type with the specified number
-	 * of dimensions.
-	 * 
-	 * @param dimensions number of dimensions in the array
-	 * @return array type descriptor
-	 */
-	public IArrayTypeDescriptor getArray(int dimensions);
-	
-	/**
-	 * Returns whether this type describes an anonymous inner
-	 * type.
-	 * 
-	 * @return whether this type describes an anonymous inner
-	 * type
-	 */
-	public boolean isAnonymous();
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IResourceDescriptor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IResourceDescriptor.java
deleted file mode 100644
index aee58dc..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/IResourceDescriptor.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.descriptors;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * Descriptor for an {@link IResource}
- * 
- * @since 1.0.0
- */
-public interface IResourceDescriptor extends IElementDescriptor {
-
-	/**
-	 * Returns the name of this member.
-	 * 
-	 * @return member name
-	 */
-	public String getName();
-	
-	/**
-	 * Returns the type of the resource, which will be one of:
-	 * <ul>
-	 * <li>{@link IResource#FILE}</li>
-	 * <li>{@link IResource#FOLDER}</li>
-	 * <li>{@link IResource#PROJECT}</li>
-	 * </ul>
-	 * @return the type of the resource
-	 */
-	public int getResourceType();
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/ITypeDescriptor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/ITypeDescriptor.java
deleted file mode 100644
index 4c11730..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/descriptors/ITypeDescriptor.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.descriptors;
-
-
-/**
- * Description of a reference type or primitive type.
- * 
- * @since 1.0.0
- */
-public interface ITypeDescriptor extends IElementDescriptor {
-	
-	/**
-	 * Returns this type's signature.
-	 * 
-	 * @return type signature
-	 */
-	public String getSignature();	
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/problems/IApiProblem.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/problems/IApiProblem.java
deleted file mode 100644
index c880ffe..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/problems/IApiProblem.java
+++ /dev/null
@@ -1,339 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.problems;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jdt.core.compiler.CategorizedProblem;
-import org.eclipse.pde.api.tools.internal.builder.ApiProblemReporter;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-
-/**
- * Describes a given api problem.
- * 
- * @since 1.0.0
- */
-public interface IApiProblem {
-
-	/**
-	 * Constant representing the binary incompatibility problem category 
-	 */
-	public static final int CATEGORY_BINARY = 0x10000000;
-	
-	/**
-	 * Constant representing the api usage problem category
-	 */
-	public static final int CATEGORY_USAGE = 0x20000000;
-	
-	/**
-	 * Constant representing the version problem category
-	 */
-	public static final int CATEGORY_VERSION = 0x30000000;
-	
-	/**
-	 * Constant representing the since tag problem category
-	 */
-	public static final int CATEGORY_SINCETAGS = 0x40000000;
-	
-	/**
-	 * Constant representing the api profile problem category
-	 */
-	public static final int CATEGORY_API_PROFILE = 0x50000000;
-	
-	/**
-	 * Constant representing the offset of the message key portion of the id bit mask.
-	 */
-	public static final int OFFSET_MESSAGE = 0;
-	
-	/**
-	 * Constant representing the offset of the flags portion of a problem id bit mask.
-	 */
-	public static final int OFFSET_FLAGS = 12;
-	
-	/**
-	 * Constant representing the offset of the kinds portion of a problem id bit mask.
-	 */
-	public static final int OFFSET_KINDS = 20;
-	
-	/**
-	 * Constant representing the offset of the element kinds portion of a problem id bit mask.
-	 */
-	public static final int OFFSET_ELEMENT = 24;
-	
-	/**
-	 * Constant representing the value of having no flags.
-	 * Value is: <code>0</code>
-	 */
-	public static final int NO_FLAGS = 0x0;
-
-	/**
-	 * Constant representing the value of the invalid @since tag {@link IApiProblem} kind.
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int SINCE_TAG_INVALID = 1;
-
-	/**
-	 * Constant representing the value of the malformed @since tag {@link IApiProblem} kind.
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int SINCE_TAG_MALFORMED = 2;
-
-	/**
-	 * Constant representing the value of the missing @since tag {@link IApiProblem} kind.
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int SINCE_TAG_MISSING = 3;
-
-	/**
-	 * Constant representing the value of the major version change {@link IApiProblem} kind.
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int MAJOR_VERSION_CHANGE = 1;
-
-	/**
-	 * Constant representing the value of the minor version change {@link IApiProblem} kind.
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int MINOR_VERSION_CHANGE = 2;
-	
-	/**
-	 * Constant representing the value of the major version change (no API breakage) {@link IApiProblem} kind.
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int MAJOR_VERSION_CHANGE_NO_BREAKAGE = 3;
-	
-	/**
-	 * Constant representing the value of an illegal extend {@link IApiProblem} kind.
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int ILLEGAL_EXTEND = 1;
-	
-	/**
-	 * Constant representing the value of an illegal instantiate {@link IApiProblem} kind.
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int ILLEGAL_INSTANTIATE = 2;
-	
-	/**
-	 * Constant representing the value of an illegal reference {@link IApiProblem} kind.
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int ILLEGAL_REFERENCE = 3;
-	
-	/**
-	 * Constant representing the value of an illegal implement {@link IApiProblem} kind.
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int ILLEGAL_IMPLEMENT = 4;
-	
-	/**
-	 * Constant representing the value of an illegal override {@link IApiProblem} kind.
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int ILLEGAL_OVERRIDE = 5;
-	
-	/**
-	 * Constant representing the value of an API leak {@link IApiProblem} kind.
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int API_LEAK = 6;	
-	
-	/**
-	 * Flags to indicate a leak from extending a non-API type. 
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int LEAK_EXTENDS = 1;	
-	
-	/**
-	 * Flags to indicate a leak from implementing a non-API type. 
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int LEAK_IMPLEMENTS = 2;
-	
-	/**
-	 * Flags to indicate a leak from a field declaration. 
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int LEAK_FIELD = 3;
-	
-	/**
-	 * Flags to indicate a leak from a return type. 
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int LEAK_RETURN_TYPE = 4;
-	
-	/**
-	 * Flags to indicate a leak from a method parameter 
-	 * 
-	 * @see #getFlags()
-	 */
-	public static final int LEAK_METHOD_PARAMETER = 5;	
-	
-	/**
-	 * Constant representing the value of a default API profile {@link IApiProblem} kind.
-	 * 
-	 * @see #getKind()
-	 */
-	public static final int API_PROFILE_MISSING = 1;
-	
-	/**
-	 * Returns the severity of the problem. 
-	 * See {@link IMarker} for a listing of severities.
-	 * 
-	 * @return the severity of the problem
-	 */
-	public int getSeverity();
-	
-	/**
-	 * Returns the kind of element this problem is related to.
-	 * 
-	 * @see IElementDescriptor#getElementType()
-	 * @see IDelta#getElementType()
-	 * 
-	 * @return the element kind this problem is related to.
-	 */
-	public int getElementKind();
-	
-	/**
-	 * Returns the id used to lookup the message for this problem.
-	 * 
-	 * @return the message id
-	 */
-	public int getMessageid();
-	
-	/**
-	 * Returns the project relative path to the resource this problem 
-	 * was found in.
-	 * 
-	 * @return the project relative path to the resource the problem was found in
-	 */
-	public String getResourcePath();
-	
-	/**
-	 * Returns the listing of message arguments passed in to the problem or an
-	 * empty array, never <code>null</code>
-	 * 
-	 * @return the message arguments passed to the problem or an empty array
-	 */
-	public String[] getMessageArguments();
-	
-	/**
-	 * Returns the start of the character selection to make, or -1 if there is no character 
-	 * starting position.
-	 * 
-	 * @return the start of the character selection or -1.
-	 */
-	public int getCharStart();
-	
-	/**
-	 * Returns the end of the character selection to make, or -1 if there is no character 
-	 * ending position.
-	 * 
-	 * @return the end of the character selection or -1
-	 */
-	public int getCharEnd();
-	
-	/**
-	 * Returns the number of the line this problem occurred on, or -1 
-	 * if there is no line number.
-	 * 
-	 * @return the line number this problem occurred on or -1
-	 */
-	public int getLineNumber();
-	
-	/**
-	 * Returns the category for this problem. Guaranteed to be
-	 * one of:
-	 * <ul>
-	 * <li>{@link #CATEGORY_BINARY}</li>
-	 * <li>{@link #CATEGORY_SINCETAGS}</li>
-	 * <li>{@link #CATEGORY_USAGE}</li>
-	 * <li>{@link #CATEGORY_VERSION}</li>
-	 * <li>{@link #CATEGORY_API_PROFILE}</li>
-	 * </ul> 
-	 * @return the category for the problem
-	 */
-	public int getCategory();
-	
-	/**
-	 * Returns the unique id of the problem. A problem Id is the composition of
-	 * the category, kind, flags and severity.
-	 * 
-	 * @return the id of the problem
-	 */
-	public int getId();
-	
-	/**
-	 * Returns a human readable, localized description of the problem
-	 * 
-	 * @return the description of the problem
-	 */
-	public String getMessage();
-	
-	/**
-	 * Returns the kind of this problem.
-	 * 
-	 * @return the kind of this problem
-	 */
-	public int getKind();
-	
-	/**
-	 * Returns the flags for this problem. 
-	 * 
-	 * @return the flags for this problem
-	 */
-	public int getFlags();
-	
-	/**
-	 * Returns the names of the extra marker attributes associated to this problem when persisted into a marker 
-	 * by the {@link ApiProblemReporter}. By default, no EXTRA attributes is persisted, and an 
-	 * {@link IApiProblem} only persists the following attributes:
-	 * <ul>
-	 * <li>	<code>IMarker#MESSAGE</code> -&gt; {@link IApiProblem#getMessage()}</li>
-	 * <li>	<code>IMarker#SEVERITY</code> -&gt; {@link IApiProblem#getSeverity()} </li>
-	 * <li>	<code>IApiMarkerConstants#API_MARKER_ATTR_ID : String</code> -&gt; {@link IApiProblem#getId()}</li>
-	 * <li>	<code>IMarker#CHAR_START</code>  -&gt; {@link IApiProblem#getCharStart()}</li>
-	 * <li>	<code>IMarker#CHAR_END</code>  -&gt; {@link IApiProblem#getCharEnd()}</li>
-	 * <li>	<code>IMarker#LINE_NUMBER</code>  -&gt; {@link IApiProblem#getLineNumber()}</li>
-	 * </ul>
-	 * The names must be eligible for marker creation, as defined by <code>IMarker#setAttributes(String[], Object[])</code>, 
-	 * and there must be as many names as values according to {@link #getExtraMarkerAttributeValues()}.
-	 * Note that extra marker attributes will be inserted after default ones (as described in {@link CategorizedProblem#getMarkerType()},
-	 * and thus could be used to override defaults.
-	 * @return the names of the corresponding marker attributes
-	 */
-	public String[] getExtraMarkerAttributeIds();
-	
-	/**
-	 * Returns the respective values for the extra marker attributes associated to this problem when persisted into 
-	 * a marker by the JavaBuilder. Each value must correspond to a matching attribute name, as defined by
-	 * {@link #getExtraMarkerAttributeIds()}. 
-	 * The values must be eligible for marker creation, as defined by <code> IMarker#setAttributes(String[], Object[])}.
-	 * @return the values of the corresponding extra marker attributes
-	 */
-	public Object[] getExtraMarkerAttributeValues();
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/problems/IApiProblemFilter.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/problems/IApiProblemFilter.java
deleted file mode 100644
index 3451562..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/problems/IApiProblemFilter.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.problems;
-
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-
-
-/**
- * Describes API problems that should be filtered. 
- * <p>
- * Problem filters are created from an {@link IApiComponent}.
- * </p>
- * @since 1.0.0
- */
-public interface IApiProblemFilter {
-
-	/**
-	 * Returns the identifier of the API component this filter applies to. Problems
-	 * contained within this component are potentially filtered.
-	 * 
-	 * @return identifier of the API component this filter applies to
-	 */
-	public String getComponentId();
-	
-	/**
-	 * Returns the underlying {@link IApiProblem} for this filter.
-	 * 
-	 * @return the underlying {@link IApiProblem} for this filter
-	 */
-	public IApiProblem getUnderlyingProblem();
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/problems/IApiProblemTypes.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/problems/IApiProblemTypes.java
deleted file mode 100644
index fa36f81..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/problems/IApiProblemTypes.java
+++ /dev/null
@@ -1,346 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.problems;
-
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * API problem types.
- * 
- * This interface is not intended to be extended or implemented.
- *
- * @since 1.0
- */
-public interface IApiProblemTypes {
-
-	// Binary compatibility problems
-	public static final String API_PROFILE_REMOVED_API_COMPONENT =
-		Util.getDeltaPrefererenceKey(IDelta.API_PROFILE_ELEMENT_TYPE, IDelta.REMOVED, IDelta.API_COMPONENT);
-	public static final String API_COMPONENT_ADDED_EXECUTION_ENVIRONMENT =
-		Util.getDeltaPrefererenceKey(IDelta.API_COMPONENT_ELEMENT_TYPE, IDelta.ADDED, IDelta.EXECUTION_ENVIRONMENT);
-	public static final String API_COMPONENT_REMOVED_EXECUTION_ENVIRONMENT =
-		Util.getDeltaPrefererenceKey(IDelta.API_COMPONENT_ELEMENT_TYPE, IDelta.REMOVED, IDelta.EXECUTION_ENVIRONMENT);
-	public static final String API_COMPONENT_REMOVED_TYPE =
-		Util.getDeltaPrefererenceKey(IDelta.API_COMPONENT_ELEMENT_TYPE, IDelta.REMOVED, IDelta.TYPE);
-	public static final String ANNOTATION_ADDED_TYPE_MEMBER =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.ADDED, IDelta.TYPE_MEMBER);
-	public static final String ANNOTATION_ADDED_FIELD =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.ADDED, IDelta.FIELD);
-	public static final String ANNOTATION_ADDED_METHOD =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.ADDED, IDelta.METHOD);
-	public static final String ANNOTATION_REMOVED_FIELD =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.REMOVED, IDelta.FIELD);
-	public static final String ANNOTATION_REMOVED_METHOD_DEFAULT_VALUE =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.REMOVED, IDelta.METHOD_WITH_DEFAULT_VALUE);
-	public static final String ANNOTATION_REMOVED_METHOD_NO_DEFAULT_VALUE =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.REMOVED, IDelta.METHOD_WITHOUT_DEFAULT_VALUE);
-	public static final String ANNOTATION_REMOVED_TYPE_MEMBER =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.REMOVED, IDelta.TYPE_MEMBER);
-	public static final String ANNOTATION_REMOVED_TYPE_PARAMETERS =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.REMOVED, IDelta.TYPE_PARAMETERS);
-	public static final String ANNOTATION_REMOVED_TYPE_PARAMETER =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.REMOVED, IDelta.TYPE_PARAMETER);
-	public static final String ANNOTATION_REMOVED_CLASS_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.REMOVED, IDelta.CLASS_BOUND);
-	public static final String ANNOTATION_REMOVED_INTERFACE_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.REMOVED, IDelta.INTERFACE_BOUND);
-	public static final String ANNOTATION_REMOVED_INTERFACE_BOUNDS =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.REMOVED, IDelta.INTERFACE_BOUNDS);
-	public static final String ANNOTATION_CHANGED_INTERFACE_BOUNDS =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.CHANGED, IDelta.INTERFACE_BOUNDS);
-	public static final String ANNOTATION_CHANGED_CONTRACTED_SUPERINTERFACES_SET =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.CHANGED, IDelta.CONTRACTED_SUPERINTERFACES_SET);
-	public static final String ANNOTATION_CHANGED_CLASS_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.CHANGED, IDelta.CLASS_BOUND);
-	public static final String ANNOTATION_CHANGED_INTERFACE_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.CHANGED, IDelta.INTERFACE_BOUND);
-	public static final String ANNOTATION_CHANGED_TO_CLASS =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_CLASS);
-	public static final String ANNOTATION_CHANGED_TO_ENUM =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_ENUM);
-	public static final String ANNOTATION_CHANGED_TO_INTERFACE =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_INTERFACE);
-	public static final String ANNOTATION_CHANGED_RESTRICTIONS =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.CHANGED, IDelta.RESTRICTIONS);
-	public static final String ANNOTATION_ADDED_TYPE_PARAMETER =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.ADDED, IDelta.TYPE_PARAMETER);
-	public static final String ANNOTATION_ADDED_CLASS_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.ADDED, IDelta.CLASS_BOUND);
-	public static final String ANNOTATION_ADDED_INTERFACE_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.ADDED, IDelta.INTERFACE_BOUND);
-	public static final String ANNOTATION_ADDED_INTERFACE_BOUNDS =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.ADDED, IDelta.INTERFACE_BOUNDS);
-	public static final String ANNOTATION_ADDED_METHOD_NO_DEFAULT_VALUE =
-		Util.getDeltaPrefererenceKey(IDelta.ANNOTATION_ELEMENT_TYPE, IDelta.ADDED, IDelta.METHOD_WITHOUT_DEFAULT_VALUE);
-	// interface key constant
-	public static final String INTERFACE_ADDED_FIELD =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.ADDED, IDelta.FIELD);
-	public static final String INTERFACE_ADDED_METHOD =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.ADDED, IDelta.METHOD);
-	public static final String INTERFACE_ADDED_TYPE_MEMBER =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.ADDED, IDelta.TYPE_MEMBER);
-	public static final String INTERFACE_ADDED_CLASS_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.ADDED, IDelta.CLASS_BOUND);
-	public static final String INTERFACE_ADDED_INTERFACE_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.ADDED, IDelta.INTERFACE_BOUND);
-	public static final String INTERFACE_ADDED_INTERFACE_BOUNDS =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.ADDED, IDelta.INTERFACE_BOUNDS);
-	public static final String INTERFACE_ADDED_TYPE_PARAMETER =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.ADDED, IDelta.TYPE_PARAMETER);
-	public static final String INTERFACE_REMOVED_TYPE_PARAMETER =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.ADDED, IDelta.TYPE_PARAMETER);
-	public static final String INTERFACE_REMOVED_TYPE_PARAMETERS =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.ADDED, IDelta.TYPE_PARAMETERS);
-	public static final String INTERFACE_REMOVED_CLASS_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.REMOVED, IDelta.CLASS_BOUND);
-	public static final String INTERFACE_REMOVED_INTERFACE_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.REMOVED, IDelta.INTERFACE_BOUND);
-	public static final String INTERFACE_REMOVED_INTERFACE_BOUNDS =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.REMOVED, IDelta.INTERFACE_BOUNDS);
-	public static final String INTERFACE_REMOVED_FIELD =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.REMOVED, IDelta.FIELD);
-	public static final String INTERFACE_REMOVED_METHOD =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.REMOVED, IDelta.METHOD);
-	public static final String INTERFACE_REMOVED_TYPE_MEMBER =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.REMOVED, IDelta.TYPE_MEMBER);
-	public static final String INTERFACE_CHANGED_CLASS_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.CHANGED, IDelta.CLASS_BOUND);
-	public static final String INTERFACE_CHANGED_INTERFACE_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.CHANGED, IDelta.INTERFACE_BOUND);
-	public static final String INTERFACE_CHANGED_INTERFACE_BOUNDS =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.CHANGED, IDelta.INTERFACE_BOUNDS);
-	public static final String INTERFACE_CHANGED_TO_CLASS =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_CLASS);
-	public static final String INTERFACE_CHANGED_TO_ENUM =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_ENUM);
-	public static final String INTERFACE_CHANGED_TO_ANNOTATION =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_ANNOTATION);
-	public static final String INTERFACE_CHANGED_CONTRACTED_SUPERINTERFACES_SET =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.CHANGED, IDelta.CONTRACTED_SUPERINTERFACES_SET);
-	public static final String INTERFACE_CHANGED_RESTRICTIONS =
-		Util.getDeltaPrefererenceKey(IDelta.INTERFACE_ELEMENT_TYPE, IDelta.CHANGED, IDelta.RESTRICTIONS);
-	// enum key constant
-	public static final String ENUM_ADDED_FIELD =
-		Util.getDeltaPrefererenceKey(IDelta.ENUM_ELEMENT_TYPE, IDelta.ADDED, IDelta.FIELD);
-	public static final String ENUM_ADDED_METHOD =
-		Util.getDeltaPrefererenceKey(IDelta.ENUM_ELEMENT_TYPE, IDelta.ADDED, IDelta.METHOD);
-	public static final String ENUM_CHANGED_CONTRACTED_SUPERINTERFACES_SET =
-		Util.getDeltaPrefererenceKey(IDelta.ENUM_ELEMENT_TYPE, IDelta.CHANGED, IDelta.CONTRACTED_SUPERINTERFACES_SET);
-	public static final String ENUM_CHANGED_TO_ANNOTATION =
-		Util.getDeltaPrefererenceKey(IDelta.ENUM_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_ANNOTATION);
-	public static final String ENUM_CHANGED_TO_CLASS =
-		Util.getDeltaPrefererenceKey(IDelta.ENUM_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_CLASS);
-	public static final String ENUM_CHANGED_TO_INTERFACE =
-		Util.getDeltaPrefererenceKey(IDelta.ENUM_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_INTERFACE);
-	public static final String ENUM_CHANGED_RESTRICTIONS =
-		Util.getDeltaPrefererenceKey(IDelta.ENUM_ELEMENT_TYPE, IDelta.CHANGED, IDelta.RESTRICTIONS);
-	public static final String ENUM_REMOVED_FIELD =
-		Util.getDeltaPrefererenceKey(IDelta.ENUM_ELEMENT_TYPE, IDelta.REMOVED, IDelta.FIELD);
-	public static final String ENUM_REMOVED_ENUM_CONSTANT =
-		Util.getDeltaPrefererenceKey(IDelta.ENUM_ELEMENT_TYPE, IDelta.REMOVED, IDelta.ENUM_CONSTANT);
-	public static final String ENUM_REMOVED_METHOD =
-		Util.getDeltaPrefererenceKey(IDelta.ENUM_ELEMENT_TYPE, IDelta.REMOVED, IDelta.METHOD);
-	public static final String ENUM_REMOVED_CONSTRUCTOR =
-		Util.getDeltaPrefererenceKey(IDelta.ENUM_ELEMENT_TYPE, IDelta.REMOVED, IDelta.CONSTRUCTOR);
-	public static final String ENUM_REMOVED_TYPE_MEMBER =
-		Util.getDeltaPrefererenceKey(IDelta.ENUM_ELEMENT_TYPE, IDelta.REMOVED, IDelta.TYPE_MEMBER);
-	// class key constant
-	public static final String CLASS_ADDED_FIELD =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.ADDED, IDelta.FIELD);
-	public static final String CLASS_ADDED_METHOD =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.ADDED, IDelta.METHOD);
-	public static final String CLASS_ADDED_TYPE_PARAMETER =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.ADDED, IDelta.TYPE_PARAMETER);
-	public static final String CLASS_ADDED_CLASS_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.ADDED, IDelta.CLASS_BOUND);
-	public static final String CLASS_ADDED_INTERFACE_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.ADDED, IDelta.INTERFACE_BOUND);
-	public static final String CLASS_ADDED_INTERFACE_BOUNDS =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.ADDED, IDelta.INTERFACE_BOUNDS);
-	public static final String CLASS_CHANGED_CONTRACTED_SUPERINTERFACES_SET =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.CHANGED, IDelta.CONTRACTED_SUPERINTERFACES_SET);
-	public static final String CLASS_CHANGED_CONTRACTED_SUPERCLASS_SET =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.CHANGED, IDelta.CONTRACTED_SUPERCLASS_SET);
-	public static final String CLASS_CHANGED_SUPERCLASS =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.CHANGED, IDelta.SUPERCLASS);
-	public static final String CLASS_CHANGED_CLASS_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.CHANGED, IDelta.CLASS_BOUND);
-	public static final String CLASS_CHANGED_INTERFACE_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.CHANGED, IDelta.INTERFACE_BOUND);
-	public static final String CLASS_CHANGED_NON_ABSTRACT_TO_ABSTRACT =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.CHANGED, IDelta.NON_ABSTRACT_TO_ABSTRACT);
-	public static final String CLASS_CHANGED_NON_FINAL_TO_FINAL =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.CHANGED, IDelta.NON_FINAL_TO_FINAL);
-	public static final String CLASS_CHANGED_TO_ANNOTATION =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_ANNOTATION);
-	public static final String CLASS_CHANGED_TO_ENUM =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_ENUM);
-	public static final String CLASS_CHANGED_TO_INTERFACE =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TO_INTERFACE);
-	public static final String CLASS_CHANGED_DECREASE_ACCESS =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.CHANGED, IDelta.DECREASE_ACCESS);
-	public static final String CLASS_CHANGED_RESTRICTIONS =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.CHANGED, IDelta.RESTRICTIONS);
-	public static final String CLASS_REMOVED_FIELD =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.REMOVED, IDelta.FIELD);
-	public static final String CLASS_REMOVED_METHOD =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.REMOVED, IDelta.METHOD);
-	public static final String CLASS_REMOVED_CONSTRUCTOR =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.REMOVED, IDelta.CONSTRUCTOR);
-	public static final String CLASS_REMOVED_TYPE_MEMBER =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.REMOVED, IDelta.TYPE_MEMBER);
-	public static final String CLASS_REMOVED_TYPE_PARAMETER =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.REMOVED, IDelta.TYPE_PARAMETER);
-	public static final String CLASS_REMOVED_TYPE_PARAMETERS =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.REMOVED, IDelta.TYPE_PARAMETERS);
-	public static final String CLASS_REMOVED_CLASS_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.REMOVED, IDelta.CLASS_BOUND);
-	public static final String CLASS_REMOVED_INTERFACE_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.REMOVED, IDelta.INTERFACE_BOUND);
-	public static final String CLASS_REMOVED_INTERFACE_BOUNDS =
-		Util.getDeltaPrefererenceKey(IDelta.CLASS_ELEMENT_TYPE, IDelta.REMOVED, IDelta.INTERFACE_BOUNDS);
-	// field key constant
-	public static final String FIELD_ADDED_VALUE =
-		Util.getDeltaPrefererenceKey(IDelta.FIELD_ELEMENT_TYPE, IDelta.ADDED, IDelta.VALUE);
-	public static final String FIELD_CHANGED_TYPE =
-		Util.getDeltaPrefererenceKey(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TYPE);
-	public static final String FIELD_CHANGED_VALUE =
-		Util.getDeltaPrefererenceKey(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.VALUE);
-	public static final String FIELD_CHANGED_DECREASE_ACCESS =
-		Util.getDeltaPrefererenceKey(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.DECREASE_ACCESS);
-	public static final String FIELD_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT =
-		Util.getDeltaPrefererenceKey(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.FINAL_TO_NON_FINAL_STATIC_CONSTANT);
-	public static final String FIELD_CHANGED_NON_FINAL_TO_FINAL =
-		Util.getDeltaPrefererenceKey(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.NON_FINAL_TO_FINAL);
-	public static final String FIELD_CHANGED_STATIC_TO_NON_STATIC =
-		Util.getDeltaPrefererenceKey(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.STATIC_TO_NON_STATIC);
-	public static final String FIELD_CHANGED_NON_STATIC_TO_STATIC =
-		Util.getDeltaPrefererenceKey(IDelta.FIELD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.NON_STATIC_TO_STATIC);
-	public static final String FIELD_REMOVED_VALUE =
-		Util.getDeltaPrefererenceKey(IDelta.FIELD_ELEMENT_TYPE, IDelta.REMOVED, IDelta.VALUE);
-	public static final String FIELD_REMOVED_TYPE_ARGUMENTS =
-		Util.getDeltaPrefererenceKey(IDelta.FIELD_ELEMENT_TYPE, IDelta.REMOVED, IDelta.TYPE_ARGUMENTS);
-	// method key constant
-	public static final String METHOD_ADDED_CLASS_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.METHOD_ELEMENT_TYPE, IDelta.ADDED, IDelta.CLASS_BOUND);
-	public static final String METHOD_ADDED_INTERFACE_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.METHOD_ELEMENT_TYPE, IDelta.ADDED, IDelta.INTERFACE_BOUND);
-	public static final String METHOD_ADDED_INTERFACE_BOUNDS =
-		Util.getDeltaPrefererenceKey(IDelta.METHOD_ELEMENT_TYPE, IDelta.ADDED, IDelta.INTERFACE_BOUNDS);
-	public static final String METHOD_ADDED_TYPE_PARAMETER =
-		Util.getDeltaPrefererenceKey(IDelta.METHOD_ELEMENT_TYPE, IDelta.ADDED, IDelta.TYPE_PARAMETER);
-	public static final String METHOD_CHANGED_CLASS_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.METHOD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.CLASS_BOUND);
-	public static final String METHOD_CHANGED_INTERFACE_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.METHOD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.INTERFACE_BOUND);
-	public static final String METHOD_CHANGED_TYPE_PARAMETER =
-		Util.getDeltaPrefererenceKey(IDelta.METHOD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TYPE_PARAMETER);
-	public static final String METHOD_CHANGED_VARARGS_TO_ARRAY =
-		Util.getDeltaPrefererenceKey(IDelta.METHOD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.VARARGS_TO_ARRAY);
-	public static final String METHOD_CHANGED_DECREASE_ACCESS =
-		Util.getDeltaPrefererenceKey(IDelta.METHOD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.DECREASE_ACCESS);
-	public static final String METHOD_CHANGED_NON_ABSTRACT_TO_ABSTRACT =
-		Util.getDeltaPrefererenceKey(IDelta.METHOD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.NON_ABSTRACT_TO_ABSTRACT);
-	public static final String METHOD_CHANGED_NON_STATIC_TO_STATIC =
-		Util.getDeltaPrefererenceKey(IDelta.METHOD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.NON_STATIC_TO_STATIC);
-	public static final String METHOD_CHANGED_STATIC_TO_NON_STATIC =
-		Util.getDeltaPrefererenceKey(IDelta.METHOD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.STATIC_TO_NON_STATIC);
-	public static final String METHOD_CHANGED_NON_FINAL_TO_FINAL =
-		Util.getDeltaPrefererenceKey(IDelta.METHOD_ELEMENT_TYPE, IDelta.CHANGED, IDelta.NON_FINAL_TO_FINAL);
-	public static final String METHOD_REMOVED_ANNOTATION_DEFAULT_VALUE =
-		Util.getDeltaPrefererenceKey(IDelta.METHOD_ELEMENT_TYPE, IDelta.REMOVED, IDelta.ANNOTATION_DEFAULT_VALUE);
-	public static final String METHOD_REMOVED_TYPE_PARAMETERS =
-		Util.getDeltaPrefererenceKey(IDelta.METHOD_ELEMENT_TYPE, IDelta.REMOVED, IDelta.TYPE_PARAMETERS);
-	public static final String METHOD_REMOVED_TYPE_PARAMETER =
-		Util.getDeltaPrefererenceKey(IDelta.METHOD_ELEMENT_TYPE, IDelta.REMOVED, IDelta.TYPE_PARAMETER);
-	public static final String METHOD_REMOVED_CLASS_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.METHOD_ELEMENT_TYPE, IDelta.REMOVED, IDelta.CLASS_BOUND);
-	public static final String METHOD_REMOVED_INTERFACE_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.METHOD_ELEMENT_TYPE, IDelta.REMOVED, IDelta.INTERFACE_BOUND);
-	public static final String METHOD_REMOVED_INTERFACE_BOUNDS =
-		Util.getDeltaPrefererenceKey(IDelta.METHOD_ELEMENT_TYPE, IDelta.REMOVED, IDelta.INTERFACE_BOUNDS);
-	// constructor key constant
-	public static final String CONSTRUCTOR_ADDED_CLASS_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.CONSTRUCTOR_ELEMENT_TYPE, IDelta.ADDED, IDelta.CLASS_BOUND);
-	public static final String CONSTRUCTOR_ADDED_INTERFACE_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.CONSTRUCTOR_ELEMENT_TYPE, IDelta.ADDED, IDelta.INTERFACE_BOUND);
-	public static final String CONSTRUCTOR_ADDED_INTERFACE_BOUNDS =
-		Util.getDeltaPrefererenceKey(IDelta.CONSTRUCTOR_ELEMENT_TYPE, IDelta.ADDED, IDelta.INTERFACE_BOUNDS);
-	public static final String CONSTRUCTOR_ADDED_TYPE_PARAMETER =
-		Util.getDeltaPrefererenceKey(IDelta.CONSTRUCTOR_ELEMENT_TYPE, IDelta.ADDED, IDelta.TYPE_PARAMETER);
-	public static final String CONSTRUCTOR_CHANGED_CLASS_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.CONSTRUCTOR_ELEMENT_TYPE, IDelta.CHANGED, IDelta.CLASS_BOUND);
-	public static final String CONSTRUCTOR_CHANGED_INTERFACE_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.CONSTRUCTOR_ELEMENT_TYPE, IDelta.CHANGED, IDelta.INTERFACE_BOUND);
-	public static final String CONSTRUCTOR_CHANGED_TYPE_PARAMETER =
-		Util.getDeltaPrefererenceKey(IDelta.CONSTRUCTOR_ELEMENT_TYPE, IDelta.CHANGED, IDelta.TYPE_PARAMETER);
-	public static final String CONSTRUCTOR_CHANGED_VARARGS_TO_ARRAY =
-		Util.getDeltaPrefererenceKey(IDelta.CONSTRUCTOR_ELEMENT_TYPE, IDelta.CHANGED, IDelta.VARARGS_TO_ARRAY);
-	public static final String CONSTRUCTOR_CHANGED_DECREASE_ACCESS =
-		Util.getDeltaPrefererenceKey(IDelta.CONSTRUCTOR_ELEMENT_TYPE, IDelta.CHANGED, IDelta.DECREASE_ACCESS);
-	public static final String CONSTRUCTOR_CHANGED_NON_ABSTRACT_TO_ABSTRACT =
-		Util.getDeltaPrefererenceKey(IDelta.CONSTRUCTOR_ELEMENT_TYPE, IDelta.CHANGED, IDelta.NON_ABSTRACT_TO_ABSTRACT);
-	public static final String CONSTRUCTOR_CHANGED_NON_STATIC_TO_STATIC =
-		Util.getDeltaPrefererenceKey(IDelta.CONSTRUCTOR_ELEMENT_TYPE, IDelta.CHANGED, IDelta.NON_STATIC_TO_STATIC);
-	public static final String CONSTRUCTOR_CHANGED_STATIC_TO_NON_STATIC =
-		Util.getDeltaPrefererenceKey(IDelta.CONSTRUCTOR_ELEMENT_TYPE, IDelta.CHANGED, IDelta.STATIC_TO_NON_STATIC);
-	public static final String CONSTRUCTOR_CHANGED_NON_FINAL_TO_FINAL =
-		Util.getDeltaPrefererenceKey(IDelta.CONSTRUCTOR_ELEMENT_TYPE, IDelta.CHANGED, IDelta.NON_FINAL_TO_FINAL);
-	public static final String CONSTRUCTOR_REMOVED_ANNOTATION_DEFAULT_VALUE =
-		Util.getDeltaPrefererenceKey(IDelta.CONSTRUCTOR_ELEMENT_TYPE, IDelta.REMOVED, IDelta.ANNOTATION_DEFAULT_VALUE);
-	public static final String CONSTRUCTOR_REMOVED_TYPE_PARAMETERS =
-		Util.getDeltaPrefererenceKey(IDelta.CONSTRUCTOR_ELEMENT_TYPE, IDelta.REMOVED, IDelta.TYPE_PARAMETERS);
-	public static final String CONSTRUCTOR_REMOVED_TYPE_PARAMETER =
-		Util.getDeltaPrefererenceKey(IDelta.CONSTRUCTOR_ELEMENT_TYPE, IDelta.REMOVED, IDelta.TYPE_PARAMETER);
-	public static final String CONSTRUCTOR_REMOVED_CLASS_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.CONSTRUCTOR_ELEMENT_TYPE, IDelta.REMOVED, IDelta.CLASS_BOUND);
-	public static final String CONSTRUCTOR_REMOVED_INTERFACE_BOUND =
-		Util.getDeltaPrefererenceKey(IDelta.CONSTRUCTOR_ELEMENT_TYPE, IDelta.REMOVED, IDelta.INTERFACE_BOUND);
-	public static final String CONSTRUCTOR_REMOVED_INTERFACE_BOUNDS =
-		Util.getDeltaPrefererenceKey(IDelta.CONSTRUCTOR_ELEMENT_TYPE, IDelta.REMOVED, IDelta.INTERFACE_BOUNDS);
-
-	// Version numbering problems
-	public static final String MISSING_SINCE_TAG = "missing_since_tag"; //$NON-NLS-1$
-	public static final String MALFORMED_SINCE_TAG = "malformed_since_tag"; //$NON-NLS-1$
-	public static final String INVALID_SINCE_TAG_VERSION = "invalid_since_tag_version"; //$NON-NLS-1$
-	public static final String INCOMPATIBLE_API_COMPONENT_VERSION = "incompatible_api_component_version"; //$NON-NLS-1$
-	
-	public static final String MISSING_DEFAULT_API_PROFILE = "missing_default_api_profile"; //$NON-NLS-1$
-	
-	// API usage problems
-	/**
-	 * Key for the severity of illegally implementing an interface marked as '@noimplement'.
-	 */
-	public static final String ILLEGAL_IMPLEMENT = "ILLEGAL_IMPLEMENT"; //$NON-NLS-1$
-	/**
-	 * Key for the severity of illegally extending a member marked as '@noextend'.
-	 */
-	public static final String ILLEGAL_EXTEND = "ILLEGAL_EXTEND"; //$NON-NLS-1$
-	/**
-	 * Key for the severity of illegally referencing a member marked as '@noreference'.
-	 */
-	public static final String ILLEGAL_REFERENCE = "ILLEGAL_REFERENCE"; //$NON-NLS-1$
-	/**
-	 * Key for the severity of illegally instantiating a type marked as '@noinstantiate'.
-	 */
-	public static final String ILLEGAL_INSTANTIATE = "ILLEGAL_INSTANTIATE"; //$NON-NLS-1$
-	
-	/**
-	 * Key for the severity of illegally overriding a member marked as '@extend'.
-	 */
-	public static final String ILLEGAL_OVERRIDE = "ILLEGAL_OVERRIDE"; //$NON-NLS-1$
-	
-	/**
-	 * Key for the severity of an API leak.
-	 */
-	public static final String API_LEAK = "API_LEAK"; //$NON-NLS-1$
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/ApiDescriptionProcessor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/ApiDescriptionProcessor.java
deleted file mode 100644
index 9c89a31..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/ApiDescriptionProcessor.java
+++ /dev/null
@@ -1,783 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.scanner;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Stack;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.ITextFileBuffer;
-import org.eclipse.core.filebuffers.ITextFileBufferManager;
-import org.eclipse.core.filebuffers.LocationKind;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTParser;
-import org.eclipse.jdt.core.dom.ASTVisitor;
-import org.eclipse.jdt.core.dom.BodyDeclaration;
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jdt.core.dom.FieldDeclaration;
-import org.eclipse.jdt.core.dom.Javadoc;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jdt.core.dom.TagElement;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jdt.core.dom.VariableDeclarationFragment;
-import org.eclipse.jdt.core.dom.rewrite.ASTRewrite;
-import org.eclipse.jdt.core.dom.rewrite.ListRewrite;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.pde.api.tools.internal.ApiDescription;
-import org.eclipse.pde.api.tools.internal.ApiSettingsXmlVisitor;
-import org.eclipse.pde.api.tools.internal.IApiCoreConstants;
-import org.eclipse.pde.api.tools.internal.IApiXmlConstants;
-import org.eclipse.pde.api.tools.internal.JavadocTagManager;
-import org.eclipse.pde.api.tools.internal.provisional.ApiDescriptionVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
-import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
-import org.eclipse.pde.api.tools.internal.provisional.IApiJavadocTag;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IFieldDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.eclipse.text.edits.TextEdit;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-/**
- * Provides tools for scanning/loading/parsing component.xml files.
- * 
- * @since 1.0.0
- */
-public class ApiDescriptionProcessor {
-
-	/**
-	 * Visits each type, collecting all members before processing the type.
-	 */
-	static class DescriptionVisitor extends ApiDescriptionVisitor {
-		
-		/**
-		 * The API description associated with the project. 
-		 */
-		private IApiDescription apiDescription = null;
-		
-		/**
-		 * Java project to resolve types in
-		 */
-		private IJavaProject project = null;
-		
-		/**
-		 * List to collect text edits
-		 */
-		private Map fCollector = null;
-		
-		/**
-		 * Members collected from current type.
-		 */
-		private List members = new ArrayList();
-		
-		/**
-		 * List of exception statuses that occurred, or <code>null</code> if none.
-		 */
-		private List exceptions = null;
-		
-		/**
-		 * Constructs a new visitor to collect tag updates in a java project.
-		 * 
-		 * @param jp project to update
-		 * @param cd project's API description
-		 * @param collector collection to place text edits into
-		 */
-		DescriptionVisitor(IJavaProject jp, IApiDescription cd, Map collector) {
-			project = jp;
-			apiDescription = cd;
-			fCollector = collector;
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.pde.api.tools.model.component.ApiDescriptionVisitor#visitElement(org.eclipse.pde.api.tools.model.component.IElementDescriptor, java.lang.String, org.eclipse.pde.api.tools.model.IApiAnnotations)
-		 */
-		public boolean visitElement(IElementDescriptor element, String componentContext, IApiAnnotations description) {
-			switch(element.getElementType()) {
-				case IElementDescriptor.T_PACKAGE: {
-					return true;
-				}
-				case IElementDescriptor.T_REFERENCE_TYPE: {
-					members.clear(); 
-					members.add(element);
-					return true;
-				}
-				default: {
-					members.add(element);
-				}
-			}
-			return false;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.pde.api.tools.model.component.ApiDescriptionVisitor#endVisitElement(org.eclipse.pde.api.tools.model.component.IElementDescriptor, java.lang.String, org.eclipse.pde.api.tools.model.IApiAnnotations)
-		 */
-		public void endVisitElement(IElementDescriptor element, String componentContext, IApiAnnotations description) {
-			if (element.getElementType() == IElementDescriptor.T_REFERENCE_TYPE) {
-				IReferenceTypeDescriptor refType = (IReferenceTypeDescriptor) element;
-				try {
-					IReferenceTypeDescriptor topLevelType = refType.getEnclosingType();
-					while (topLevelType != null) {
-						refType = topLevelType;
-						topLevelType = refType.getEnclosingType();
-					}
-					IType type = project.findType(refType.getQualifiedName(), new NullProgressMonitor());
-					if(type != null) {
-						processTagUpdates(type, refType, apiDescription, members, fCollector);
-					}
-				} catch (CoreException e) {
-					addStatus(e.getStatus());
-				} catch (BadLocationException e) {
-					addStatus(new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, 
-							ScannerMessages.ComponentXMLScanner_0 + element.toString(),e));
-				}
-				members.clear();
-			}
-		}
-		
-		/**
-		 * Adds a status to the current listing of messages
-		 * @param status
-		 */
-		private void addStatus(IStatus status) {
-			if (exceptions == null) {
-				exceptions = new ArrayList();
-			}
-			exceptions.add(status);
-		}
-		
-		/**
-		 * Returns the status of processing the project. Status is OK
-		 * if no errors occurred.
-		 * 
-		 * @return status
-		 */
-		public IStatus getStatus() {
-			if (exceptions == null) {
-				return Status.OK_STATUS;
-			}
-			return new MultiStatus(ApiPlugin.PLUGIN_ID, 0, 
-					(IStatus[]) exceptions.toArray(new IStatus[exceptions.size()]),
-					ScannerMessages.ComponentXMLScanner_1, null);
-		}
-		
-	}
-	
-	/**
-	 * Visitor used for finding the nodes to update the javadoc tags for, if needed
-	 */
-	static class ASTTagVisitor extends ASTVisitor {
-		private List apis = null;
-		private IApiDescription description = null;
-		private ASTRewrite rewrite = null;
-		private Stack typeStack;
-		/**
-		 * Constructor
-		 * @param APIs a listing of {@link IElementDescriptor}s that we care about for this visit
-		 */
-		public ASTTagVisitor(List apis, IApiDescription description, ASTRewrite rewrite) {
-			this.apis = apis;
-			this.description = description;
-			this.rewrite = rewrite;
-			typeStack = new Stack();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.TypeDeclaration)
-		 */
-		public boolean visit(TypeDeclaration node) {
-			int type = IApiJavadocTag.TYPE_CLASS;
-			if (node.isInterface()) {
-				type = IApiJavadocTag.TYPE_INTERFACE;
-			}
-			typeStack.push(new Integer(type));
-			updateDocNode(findDescriptorByName(node.getName().getFullyQualifiedName(), null), node, getType(), IApiJavadocTag.MEMBER_NONE);
-			return true;
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jdt.core.dom.ASTVisitor#endVisit(org.eclipse.jdt.core.dom.TypeDeclaration)
-		 */
-		public void endVisit(TypeDeclaration node) {
-			typeStack.pop();
-		}
-		
-		/**
-		 * Returns the kind of type being visited.
-		 * 
-		 * @return <code>TYPE_CLASS</code> or <code>TYPE_INTERFACE</code>
-		 */
-		private int getType() {
-			return ((Integer)(typeStack.peek())).intValue();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.FieldDeclaration)
-		 */
-		public boolean visit(FieldDeclaration node) {
-			List fields = node.fragments();
-			VariableDeclarationFragment fragment = null;
-			for(Iterator iter = fields.iterator(); iter.hasNext();) {
-				fragment = (VariableDeclarationFragment) iter.next();
-				updateDocNode(findDescriptorByName(fragment.getName().getFullyQualifiedName(), null), node, getType(), IApiJavadocTag.MEMBER_FIELD);
-			}
-			return false;
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.MethodDeclaration)
-		 */
-		public boolean visit(MethodDeclaration node) {
-			String signature = Util.getMethodSignatureFromNode(node);
-			if(signature != null) {
-				updateDocNode(findDescriptorByName(node.getName().getFullyQualifiedName(), signature), node, getType(), IApiJavadocTag.MEMBER_METHOD);
-			}
-			return false;
-		}
-		/**
-		 * Updates the specified javadoc node if needed, creates a new doc node if one is not present
-		 * @param element the element to get API information from 
-		 * @param docnode the doc node to update
-		 * @param type one of <code>CLASS</code> or <code>INTERFACE</code>
-     	 * @param member one of <code>METHOD</code> or <code>FIELD</code> or <code>NONE</code>
-		 */
-		private void updateDocNode(IElementDescriptor element, BodyDeclaration body, int type, int member) {
-			if(element != null) {
-				//check for missing tags first, might not need to do any work
-				IApiAnnotations api = description.resolveAnnotations(null, element);
-				if(api != null) {
-					Javadoc docnode = body.getJavadoc();
-					AST ast = body.getAST();
-					boolean newnode = docnode == null;
-					if(docnode == null) {
-						docnode = ast.newJavadoc();
-					}
-					String[] missingtags = collectMissingTags(api, docnode.tags(), type, member);
-					if(missingtags.length == 0) {
-						return;
-					}
-					else if(newnode) {
-						//we do not want to create a new empty Javadoc node in
-						//the AST if there are no missing tags
-						rewrite.set(body, body.getJavadocProperty(), docnode, null);
-					}
-					ListRewrite lrewrite = rewrite.getListRewrite(docnode, Javadoc.TAGS_PROPERTY);
-					TagElement newtag = null;
-					for(int i = 0; i < missingtags.length; i++) {
-						newtag = createNewTagElement(ast, missingtags[i]);
-						lrewrite.insertLast(newtag, null);
-					}
-				}
-			}
-		}
-		/**
-		 * Creates a new {@link TagElement} against the specified {@link AST} and returns it
-		 * @param ast the {@link AST} to create the {@link TagElement} against
-		 * @param tagname the name of the new tag
-		 * @return a new {@link TagElement} with the given name
-		 */
-		private TagElement createNewTagElement(AST ast, String tagname) {
-			TagElement newtag = ast.newTagElement();
-			newtag.setTagName(tagname);
-			return newtag;
-		}
-		/**
-		 * Collects the missing javadoc tags from based on the given listing of {@link TagElement}s
-		 * @param api
-		 * @param tags
-		 * @param type one of <code>CLASS</code> or <code>INTERFACE</code>
-		 * @param member one of <code>METHOD</code> or <code>FIELD</code> or <code>NONE</code>
-		 * @return an array of the missing {@link TagElement}s or an empty array, never <code>null</code>
-		 */
-		private String[] collectMissingTags(IApiAnnotations api, List tags, int type, int member) {
-			int res = api.getRestrictions();
-			ArrayList missing = new ArrayList();
-			JavadocTagManager jtm = ApiPlugin.getJavadocTagManager();
-			switch(member) {
-				case IApiJavadocTag.MEMBER_FIELD :
-					if(RestrictionModifiers.isReferenceRestriction(res)) {
-						if(!containsRestrictionTag(tags, "@noreference")) { //$NON-NLS-1$
-							IApiJavadocTag tag = jtm.getTag("org.eclipse.pde.api.tools.noreference"); //$NON-NLS-1$
-							missing.add(tag.getCompleteTag(type, member));
-						}
-					}
-					break;
-				case IApiJavadocTag.MEMBER_METHOD :
-					if(RestrictionModifiers.isReferenceRestriction(res)) {
-						if(!containsRestrictionTag(tags, "@noreference")) { //$NON-NLS-1$
-							IApiJavadocTag tag = jtm.getTag("org.eclipse.pde.api.tools.noreference"); //$NON-NLS-1$
-							missing.add(tag.getCompleteTag(type, member));
-						}
-					}
-					if(RestrictionModifiers.isExtendRestriction(res)) {
-						if(!containsRestrictionTag(tags, "@noextend")) { //$NON-NLS-1$
-							IApiJavadocTag tag = jtm.getTag("org.eclipse.pde.api.tools.noextend"); //$NON-NLS-1$
-							missing.add(tag.getCompleteTag(type, member));
-						}
-					}
-					break;
-				case IApiJavadocTag.MEMBER_NONE :
-					if(RestrictionModifiers.isImplementRestriction(res)) {
-						if(!containsRestrictionTag(tags, "@noimplement")) { //$NON-NLS-1$
-							IApiJavadocTag tag = jtm.getTag("org.eclipse.pde.api.tools.noimplement"); //$NON-NLS-1$
-							missing.add(tag.getCompleteTag(type, member));
-						}
-					}
-					if(RestrictionModifiers.isInstantiateRestriction(res)) {
-						if(!containsRestrictionTag(tags, "@noinstantiate")) { //$NON-NLS-1$
-							IApiJavadocTag tag = jtm.getTag("org.eclipse.pde.api.tools.noinstantiate"); //$NON-NLS-1$
-							missing.add(tag.getCompleteTag(type, member));
-						}
-					}
-					if(RestrictionModifiers.isExtendRestriction(res)) {
-						if(!containsRestrictionTag(tags, "@noextend")) { //$NON-NLS-1$
-							IApiJavadocTag tag = jtm.getTag("org.eclipse.pde.api.tools.noextend"); //$NON-NLS-1$
-							missing.add(tag.getCompleteTag(type, member));
-						}
-					}
-			}
-			return (String[]) missing.toArray(new String[missing.size()]);
-		}
-		/**
-		 * Determines if the specified tag appears in the {@link TagElement} listing given
-		 * @param tags
-		 * @param tag
-		 * @return true if the listing of {@link TagElement}s contains the given tag
-		 */
-		private boolean containsRestrictionTag(List tags, String tag) {
-			TagElement tagelement = null;
-			for(int i = 0; i < tags.size(); i++) {
-				tagelement = (TagElement) tags.get(i);
-				if(tag.equals(tagelement.getTagName())) {
-					return true;
-				}
-			}
-			return false;
-		}
-		/**
-		 * Finds the {@link IElementDescriptor} that matches the specified name and signature
-		 * @param name
-		 * @param signature
-		 * @return the matching {@link IElementDescriptor} or <code>null</code> 
-		 */
-		private IElementDescriptor findDescriptorByName(String name, String signature) {
-			IElementDescriptor desc = null;
-			for(int i = 0; i < apis.size(); i++) {
-				desc = (IElementDescriptor) apis.get(i);
-				switch(desc.getElementType()) {
-					case IElementDescriptor.T_REFERENCE_TYPE: {
-						if(((IReferenceTypeDescriptor)desc).getName().equals(name)) {
-							return desc;
-						}
-						break;
-					}
-					case IElementDescriptor.T_METHOD: {
-						IMethodDescriptor method = (IMethodDescriptor) desc;
-						if(method.getName().equals(name) && method.getSignature().equals(signature)) {
-							return desc;
-						}
-						break;
-					}
-					case IElementDescriptor.T_FIELD: {
-						if(((IFieldDescriptor)desc).getName().equals(name)) {
-							return desc;
-						}
-						break;
-					}
-				}
-			}
-			return null;
-		}
-	}
-	
-	/**
-	 * Constructor
-	 * can not be instantiated directly
-	 */
-	private ApiDescriptionProcessor() {}
-	
-	/**
-	 * Parses a component XML into a string. The location may be a jar, directory containing the component.xml file, or 
-	 * the component.xml file itself
-	 * 
-	 * @param location root location of the component.xml file, or the component.xml file itself
-	 * @return component XML as a string or <code>null</code> if none
-	 * @throws IOException if unable to parse
-	 */
-	public static String serializeComponentXml(File location) {
-		if(location.exists()) {
-			ZipFile jarFile = null;
-			InputStream stream = null;
-			try {
-				String extension = new Path(location.getName()).getFileExtension();
-				if (extension != null && extension.equals("jar") && location.isFile()) { //$NON-NLS-1$
-					jarFile = new ZipFile(location, ZipFile.OPEN_READ);
-					ZipEntry manifestEntry = jarFile.getEntry(IApiCoreConstants.COMPONENT_XML_NAME);
-					if (manifestEntry != null) {
-						stream = jarFile.getInputStream(manifestEntry);
-					}
-				} else if(location.isDirectory()) {
-					File file = new File(location, IApiCoreConstants.COMPONENT_XML_NAME);
-					if (file.exists()) {
-						stream = new FileInputStream(file);
-					}
-				}
-				else if(location.isFile()) {
-					if(location.getName().equals(IApiCoreConstants.COMPONENT_XML_NAME)) {
-						stream = new FileInputStream(location);
-					}
-				}
-				if(stream != null) {
-						return new String(Util.getInputStreamAsCharArray(stream, -1, IApiCoreConstants.UTF_8));
-				}
-			} catch(IOException e) {
-				ApiPlugin.log(e);
-			} finally {
-				try {
-					if (stream != null) {
-						stream.close();
-					}
-				} catch (IOException e) {
-					ApiPlugin.log(e);
-				}
-				try {
-					if (jarFile != null) {
-						jarFile.close();
-					}
-				} catch (IOException e) {
-					ApiPlugin.log(e);
-				}
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * This method updates the javadoc for members of the specified java source files with information
-	 * retrieved from the the specified component.xml file.
-	 * @param project the java project to update
-	 * @param componentxml the component.xml file to update from
-	 * @param collector
-	 * @throws CoreException
-	 * @throws IOException
-	 */
-	public static void collectTagUpdates(IJavaProject project, File componentxml, Map collector) throws CoreException, IOException {
-		IApiDescription description = new ApiDescription(null);
-		annotateApiSettings(project, description, serializeComponentXml(componentxml));
-		//visit the types
-		DescriptionVisitor visitor = new DescriptionVisitor(project, description, collector);
-		description.accept(visitor);
-		IStatus status = visitor.getStatus();
-		if (!status.isOK()) {
-			throw new CoreException(status);
-		}
-	}
-	
-	/**
-	 * Given the type, the parent type descriptor and an annotated description, update
-	 * the javadoc comments for the type and all members of the type found in the description.
-	 * @param type
-	 * @param desc
-	 * @param description
-	 * @param members members with API annotations
-	 * @param collector
-	 * @throws CoreException
-	 * @throws BadLocationException
-	 */
-	private static void processTagUpdates(IType type, IReferenceTypeDescriptor desc, IApiDescription description, List members, Map collector) throws CoreException, BadLocationException {
-		ASTParser parser = ASTParser.newParser(AST.JLS3);
-		ICompilationUnit cunit = type.getCompilationUnit();
-		if(cunit != null) {
-			parser.setSource(cunit);
-			Map options = cunit.getJavaProject().getOptions(true);
-			options.put(JavaCore.COMPILER_DOC_COMMENT_SUPPORT, JavaCore.ENABLED);
-			parser.setCompilerOptions(options);
-			CompilationUnit cast = (CompilationUnit) parser.createAST(new NullProgressMonitor());
-			cast.recordModifications();
-			ASTRewrite rewrite = ASTRewrite.create(cast.getAST());
-			ASTTagVisitor visitor = new ASTTagVisitor(members, description, rewrite);
-			cast.accept(visitor);
-			ITextFileBufferManager bm = FileBuffers.getTextFileBufferManager(); 
-			IPath path = cast.getJavaElement().getPath();
-			try {
-				bm.connect(path, LocationKind.IFILE, null);
-				ITextFileBuffer tfb = bm.getTextFileBuffer(path, LocationKind.IFILE);
-				IDocument document = tfb.getDocument();
-				TextEdit edit = rewrite.rewriteAST(document, null);
-				if(edit.getChildrenSize() > 0 || edit.getLength() != 0) {
-					IFile file = (IFile) cunit.getUnderlyingResource();
-					HashSet edits = (HashSet) collector.get(file);
-					if(edits == null) {
-						edits = new HashSet(3);
-						collector.put(file, edits);
-					}
-					edits.add(edit);
-				}
-			} finally {
-				bm.disconnect(path, LocationKind.IFILE, null);
-			}
-		}
-	}
-	
-	/**
-	 * Throws an exception with the given message and underlying exception.
-	 * 
-	 * @param message error message
-	 * @param exception underlying exception, or <code>null</code>
-	 * @throws CoreException
-	 */
-	private static void abort(String message, Throwable exception) throws CoreException {
-		IStatus status = new Status(IStatus.ERROR, ApiPlugin.getPluginIdentifier(), message, exception);
-		throw new CoreException(status);
-	}
-
-	/**
-	 * Parses the given xml document (in string format), and annotates the specified 
-	 * {@link IApiDescription} with {@link IPackageDescriptor}s, {@link IReferenceTypeDescriptor}s, {@link IMethodDescriptor}s
-	 * and {@link IFieldDescriptor}s.
-	 * 
-	 * @param settings API settings to annotate
-	 * @param xml XML used to generate settings
-	 * @throws CoreException 
-	 */
-	public static void annotateApiSettings(IJavaProject project, IApiDescription settings, String xml) throws CoreException {
-		Element root = null;
-		try {
-			root = Util.parseDocument(xml);
-		}
-		catch(CoreException ce) {
-			abort("Failed to parse API description xml file", ce); //$NON-NLS-1$
-		}
-		if (!root.getNodeName().equals(IApiXmlConstants.ELEMENT_COMPONENT)) {
-			abort(ScannerMessages.ComponentXMLScanner_0, null); 
-		}
-		NodeList packages = root.getElementsByTagName(IApiXmlConstants.ELEMENT_PACKAGE);
-		NodeList types = null;
-		IPackageDescriptor packdesc = null;
-		Element type = null;
-		for (int i = 0; i < packages.getLength(); i++) {
-			Element pkg = (Element) packages.item(i);
-			// package visibility comes from the MANIFEST.MF
-			String pkgName = pkg.getAttribute(IApiXmlConstants.ATTR_NAME);
-			packdesc = Factory.packageDescriptor(pkgName);
-			types = pkg.getElementsByTagName(IApiXmlConstants.ELEMENT_TYPE);
-			for (int j = 0; j < types.getLength(); j++) {
-				type = (Element) types.item(j);
-				String name = type.getAttribute(IApiXmlConstants.ATTR_NAME);
-				if (name.length() == 0) {
-					abort("Missing type name", null); //$NON-NLS-1$
-				}
-				IReferenceTypeDescriptor typedesc = packdesc.getType(name); 
-				annotateDescriptor(project, settings, typedesc, type);
-				annotateMethodSettings(project, settings, typedesc, type);
-				annotateFieldSettings(project, settings, typedesc, type);
-			}
-		}
-	}
-	
-	/**
-	 * Annotates the backing {@link IApiDescription} from the given {@link Element}, by adding the visibility
-	 * and restriction attributes to the specified {@link IElementDescriptor}
-	 * 
-	 * @param settings the settings to annotate
-	 * @param descriptor the current descriptor context
-	 * @param element the current element to annotate from
-	 */
-	private static void annotateDescriptor(IJavaProject project, IApiDescription settings, IElementDescriptor descriptor, Element element) {
-		String component = element.getAttribute(IApiXmlConstants.ATTR_CONTEXT);
-		if (component.length() == 0) {
-			component = null;
-		}
-		int typeVis = getVisibility(element);
-		if (typeVis != -1) {
-			settings.setVisibility(component, descriptor, typeVis);
-		}
-		int restrictions = getRestrictions(element);
-		if (descriptor.getElementType() == IElementDescriptor.T_REFERENCE_TYPE) {
-			IReferenceTypeDescriptor referenceTypeDescriptor = (IReferenceTypeDescriptor) descriptor;
-			IType type = null;
-			if (project != null) {
-				try {
-					type = project.findType(referenceTypeDescriptor.getQualifiedName());
-					if (type != null) {
-						if ((restrictions & RestrictionModifiers.NO_INSTANTIATE) != 0) {
-							// don't set for abstract class or interface
-							if (type.isInterface() || Flags.isAbstract(type.getFlags())) {
-								restrictions &= ~RestrictionModifiers.NO_INSTANTIATE;
-							}
-						}
-						if ((restrictions & RestrictionModifiers.NO_IMPLEMENT) != 0) {
-							// don't set for class
-							if (type.isClass()) {
-								restrictions &= ~RestrictionModifiers.NO_IMPLEMENT;
-							}
-						}
-						if ((restrictions & RestrictionModifiers.NO_EXTEND) != 0) {
-							// don't set for class
-							if (type.isClass() && Flags.isFinal(type.getFlags())) {
-								restrictions &= ~RestrictionModifiers.NO_EXTEND;
-							}
-						}
-					}
-				} catch (JavaModelException e) {
-					// ignore
-				}
-			}
-		}
-		settings.setRestrictions(component, descriptor, restrictions);
-	}
-	
-	/**
-	 * Returns restriction settings described in the given element.
-	 * 
-	 * @param element XML element
-	 * @return restriction settings
-	 */
-	private static int getRestrictions(Element element) {
-		int res = annotateRestriction(element, IApiXmlConstants.ATTR_IMPLEMENT, RestrictionModifiers.NO_IMPLEMENT, RestrictionModifiers.NO_RESTRICTIONS);
-		res = annotateRestriction(element, IApiXmlConstants.ATTR_EXTEND, RestrictionModifiers.NO_EXTEND, res);
-		res = annotateRestriction(element, "subclass", RestrictionModifiers.NO_EXTEND, res); //$NON-NLS-1$
-		res = annotateRestriction(element, IApiXmlConstants.ATTR_INSTANTIATE, RestrictionModifiers.NO_INSTANTIATE, res);
-		res = annotateRestriction(element, IApiXmlConstants.ATTR_REFERENCE, RestrictionModifiers.NO_REFERENCE, res);
-		return res;
-	}
-	
-	/**
-	 * Tests if the given restriction exists for the given element
-	 * and returns an updated restrictions flag.
-	 * 
-	 * @param element XML element
-	 * @param name attribute to test
-	 * @param flag bit mask for attribute
-	 * @param res flag to combine with 
-	 * @return updated flags
-	 */
-	private static int annotateRestriction(Element element, String name, int flag, int res) {
-		String value = element.getAttribute(name);
-		if (value.length() > 0) {
-			if (!Boolean.valueOf(value).booleanValue()) {
-				res = res | flag;
-			}
-		}
-		return res;
-	}
-	
-	/**
-	 * Returns visibility settings described in the given element or
-	 * -1 if none.
-	 * 
-	 * @param element XML element
-	 * @return visibility settings or -1 if none
-	 */
-	private static int getVisibility(Element element) {
-		String attribute = element.getAttribute(IApiXmlConstants.ATTR_VISIBILITY);
-		if (ApiSettingsXmlVisitor.VALUE_API.equals(attribute)) {
-			return VisibilityModifiers.API;
-		}
-		if (ApiSettingsXmlVisitor.VALUE_PRIVATE.equals(attribute)) {
-			return VisibilityModifiers.PRIVATE;
-		}
-		if (ApiSettingsXmlVisitor.VALUE_PRIVATE_PERMISSABLE.equals(attribute)) {
-			return VisibilityModifiers.PRIVATE_PERMISSIBLE;
-		}
-		if (ApiSettingsXmlVisitor.VALUE_SPI.equals(attribute)) {
-			return VisibilityModifiers.SPI;
-		}
-		return -1;
-	}
-	
-	/**
-	 * Annotates the supplied {@link IApiDescription} from all of the field elements
-	 * that are direct children of the specified {@link Element}. {@link IFieldDescriptor}s are created
-	 * as needed and added as children of the specified {@link IReferenceTypeDescriptor}.
-	 * 
-	 * @param settings the {@link IApiDescription} to add the new {@link IFieldDescriptor} to
-	 * @param typedesc the containing type descriptor for this field
-	 * @param type the parent {@link Element}
-	 * @throws CoreException
-	 */
-	private static void annotateFieldSettings(IJavaProject project, IApiDescription settings, IReferenceTypeDescriptor typedesc, Element type) throws CoreException {
-		NodeList fields = type.getElementsByTagName(IApiXmlConstants.ELEMENT_FIELD);
-		Element field = null;
-		IFieldDescriptor fielddesc = null;
-		String name = null;
-		for(int i = 0; i < fields.getLength(); i++) {
-			field = (Element) fields.item(i);
-			name = field.getAttribute(IApiXmlConstants.ATTR_NAME);
-			if(name == null) {
-				abort(ScannerMessages.ComponentXMLScanner_1, null); 
-			}
-			fielddesc = typedesc.getField(name);
-			annotateDescriptor(project, settings, fielddesc, field);
-		}
-	}
-	
-	/**
-	 * Annotates the supplied {@link IApiDescription} from all of the method elements
-	 * that are direct children of the specified {@link Element}. {@link IMethodDescriptor}s are created
-	 * as needed and added as children of the specified {@link IReferenceTypeDescriptor}.
-	 * 
-	 * @param settings the {@link IApiDescription} to add the new {@link IMethodDescriptor} to 
-	 * @param typedesc the containing type descriptor for this method
-	 * @param type the parent {@link Element}
-	 * @throws CoreException
-	 */
-	private static void annotateMethodSettings(IJavaProject project, IApiDescription settings, IReferenceTypeDescriptor typedesc, Element type) throws CoreException {
-		NodeList methods = type.getElementsByTagName(IApiXmlConstants.ELEMENT_METHOD);
-		Element method = null;
-		IMethodDescriptor methoddesc = null;
-		String name, signature;
-		for(int i = 0; i < methods.getLength(); i++) {
-			method = (Element) methods.item(i);
-			name = method.getAttribute(IApiXmlConstants.ATTR_NAME);
-			if(name == null) {
-				abort(ScannerMessages.ComponentXMLScanner_2, null); 
-			}
-			signature = method.getAttribute(IApiXmlConstants.ATTR_SIGNATURE);
-			if(signature == null) {
-				abort(ScannerMessages.ComponentXMLScanner_3, null); 
-			}
-			methoddesc = typedesc.getMethod(name, signature);
-			annotateDescriptor(project, settings, methoddesc, method);
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/ScannerMessages.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/ScannerMessages.java
deleted file mode 100644
index 1100d38..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/ScannerMessages.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.scanner;
-
-import org.eclipse.osgi.util.NLS;
-
-public class ScannerMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.pde.api.tools.internal.provisional.scanner.ScannerMessages"; //$NON-NLS-1$
-	public static String ApiDescriptionManager_0;
-	public static String ApiDescriptionManager_1;
-	public static String ApiDescriptionManager_2;
-	public static String ApiDescriptionManager_3;
-	public static String ApiDescriptionManager_4;
-	public static String ApiDescriptionManager_5;
-	public static String ApiDescriptionManager_6;
-	public static String ApiDescriptionManager_7;
-	public static String ApiDescriptionManager_8;
-	public static String ApiDescriptionManager_9;
-	public static String ApiDescriptionProcessor_0;
-	public static String ComponentXmlProcessor_0;
-	public static String ComponentXmlProcessor_1;
-	public static String ComponentXMLScanner_0;
-	public static String ComponentXMLScanner_1;
-	public static String ComponentXMLScanner_2;
-	public static String ComponentXMLScanner_3;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, ScannerMessages.class);
-	}
-
-	private ScannerMessages() {
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/ScannerMessages.properties b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/ScannerMessages.properties
deleted file mode 100644
index ec24943..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/ScannerMessages.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-ApiDescriptionManager_1=Failed to read API description for {0}
-ApiDescriptionManager_2=Unable to restore package: 
-ApiDescriptionManager_3=Unable to restore type: 
-ApiDescriptionManager_4=Unable to restore element
-ApiDescriptionManager_5=Missing base node for override: 
-ApiDescriptionManager_6=Invalid integer attribute: 
-ApiDescriptionManager_7=Missing integer attribute: 
-ApiDescriptionManager_8=Invalid long attribute: 
-ApiDescriptionManager_9=Missing long attribute: 
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-ApiDescriptionManager_0=Failed to save API description for {0}
-ApiDescriptionProcessor_0=The projects' component.xml is corrupt.
-ComponentXmlProcessor_0=Error occured while processing 
-ComponentXmlProcessor_1=Errors occurred while updating Javadoc tags
-ComponentXMLScanner_0=Expecting <component> element
-ComponentXMLScanner_1=The name attribute must exist for a field
-ComponentXMLScanner_2=The name attribute must exist for a method
-ComponentXMLScanner_3=The signature attribute must exist for a method
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/TagScanner.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/TagScanner.java
deleted file mode 100644
index 06b1562..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/scanner/TagScanner.java
+++ /dev/null
@@ -1,507 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.scanner;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jdt.core.dom.AST;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.ASTParser;
-import org.eclipse.jdt.core.dom.ASTVisitor;
-import org.eclipse.jdt.core.dom.AbstractTypeDeclaration;
-import org.eclipse.jdt.core.dom.EnumDeclaration;
-import org.eclipse.jdt.core.dom.FieldDeclaration;
-import org.eclipse.jdt.core.dom.Javadoc;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jdt.core.dom.Name;
-import org.eclipse.jdt.core.dom.PackageDeclaration;
-import org.eclipse.jdt.core.dom.SimpleName;
-import org.eclipse.jdt.core.dom.TagElement;
-import org.eclipse.jdt.core.dom.TypeDeclaration;
-import org.eclipse.jdt.core.dom.VariableDeclarationFragment;
-import org.eclipse.pde.api.tools.internal.CompilationUnit;
-import org.eclipse.pde.api.tools.internal.JavadocTagManager;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiDescription;
-import org.eclipse.pde.api.tools.internal.provisional.IApiJavadocTag;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.search.MethodExtractor;
-import org.eclipse.pde.api.tools.internal.util.HashtableOfInt;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.objectweb.asm.ClassReader;
-
-/**
- * Scans the source of a *.java file for the javadoc tags on types that have been contributed to the apiJavadocTags extension point:
- * @since 1.0.0
- */
-public class TagScanner {
-
-	/**
-	 * Constant used for controlling tracing in the scanner
-	 */
-	private static boolean DEBUG = Util.DEBUG;
-	
-	/**
-	 * Method used for initializing tracing in the scanner
-	 */
-	public static void setDebug(boolean debugValue) {
-		DEBUG = debugValue || Util.DEBUG;
-	}
-	
-	/**
-	 * Visitor to scan a compilation unit. We only care about javadoc nodes that have either 
-	 * type or enum declarations as parents, so we have to override the ones we don't care 
-	 * about.
-	 */
-	class Visitor extends ASTVisitor {
-		
-		private IApiDescription fDescription = null;
-		
-		/**
-		 * Package descriptor. Initialized to default package, and overridden if a package
-		 * declaration is visited.
-		 */
-		private IPackageDescriptor fPackage = Factory.packageDescriptor(""); //$NON-NLS-1$
-		
-		/**
-		 * Type descriptor for type currently being visited.
-		 */
-		private IReferenceTypeDescriptor fType = null;
-		
-		/**
-		 * Used to look up binaries when resolving method signatures, or
-		 * <code>null</code> if not provided.
-		 */
-		private IClassFileContainer fContainer = null;
-		
-		/**
-		 * Cache of class files to maps of unresolved method descriptors to resolved descriptors.
-		 */
-		private Map fMethodMappings = null;
-		
-		/**
-		 * List of exceptions encountered, or <code>null</code>
-		 */
-		private CoreException fException;
-		
-		/**
-		 * Constructor
-		 * @param description API description to annotate
-		 * @param container class file container or <code>null</code>, used
-		 * 	to resolve method signatures
-		 */
-		public Visitor(IApiDescription description, IClassFileContainer container) {
-			fDescription = description;
-			fContainer = container;
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.Javadoc)
-		 */
-		public boolean visit(Javadoc node) {
-			List tags = node.tags();
-			ASTNode parent = node.getParent();
-			if(parent != null) {
-				switch(parent.getNodeType()) {
-					case ASTNode.ENUM_DECLARATION: {
-						processTags(fType, tags, IApiJavadocTag.TYPE_CLASS, IApiJavadocTag.MEMBER_NONE);
-						break;
-					}
-					case ASTNode.TYPE_DECLARATION: {
-						TypeDeclaration type = (TypeDeclaration) parent;
-						if(type.isInterface()) {
-							processTags(fType, tags, IApiJavadocTag.TYPE_INTERFACE, IApiJavadocTag.MEMBER_NONE);
-						}
-						else {
-							processTags(fType, tags, IApiJavadocTag.TYPE_CLASS, IApiJavadocTag.MEMBER_NONE);
-						}
-						break;
-					}
-					case ASTNode.METHOD_DECLARATION: {
-						MethodDeclaration method = (MethodDeclaration) parent;
-						String signature = Util.getMethodSignatureFromNode(method);
-						if(signature != null) {
-							IMethodDescriptor descriptor = fType.getMethod(method.getName().getFullyQualifiedName(), signature);
-							processTags(descriptor, tags, getEnclosingType(method), IApiJavadocTag.MEMBER_METHOD);
-						}
-						break;
-					}
-					case ASTNode.FIELD_DECLARATION: {
-						FieldDeclaration field = (FieldDeclaration) parent;
-						List fields = field.fragments();
-						VariableDeclarationFragment fragment = null;
-						for(Iterator iter = fields.iterator(); iter.hasNext();) {
-							fragment = (VariableDeclarationFragment) iter.next();
-							processTags(fType.getField(fragment.getName().getFullyQualifiedName()), tags, getEnclosingType(field), IApiJavadocTag.MEMBER_FIELD);
-						}
-						break;
-					}
-				}
-			}
-			return false;
-		}
-		
-		private int getEnclosingType(ASTNode node) {
-			while (!(node instanceof AbstractTypeDeclaration)) {
-				node = node.getParent();
-			}
-			if (node instanceof TypeDeclaration) {
-				if (((TypeDeclaration)node).isInterface()) {
-					return IApiJavadocTag.TYPE_INTERFACE;
-				}
-			}
-			return IApiJavadocTag.TYPE_CLASS;
-		}
-		
-		/**
-		 * A type has been entered - update the type being visited.
-		 * 
-		 * @param name name from type node
-		 */
-		private void enterType(SimpleName name) {
-			if (fType == null) {
-				fType = fPackage.getType(name.getFullyQualifiedName());
-			} else {
-				fType = fType.getType(name.getFullyQualifiedName());
-			}			
-		}
-		
-		/**
-		 * A type has been exited - update the type being visited.
-		 */
-		private void exitType() {
-			fType = fType.getEnclosingType();
-		}
-		
-		/**
-		 * Processes the tags for the given {@link IElementDescriptor}
-		 * @param descriptor the descriptor
-		 * @param tags the listing of tags from the AST
-		 * @param type one of <code>CLASS</code> or <code>INTERFACE</code>
-		 * @param member one of <code>METHOD</code> or <code>FIELD</code> or <code>NONE</code>
-		 */
-		protected void processTags(IElementDescriptor descriptor, List tags, int type, int member) {
-			JavadocTagManager jtm = ApiPlugin.getJavadocTagManager();
-			TagElement tag = null;
-			String tagname = null;
-			int restrictions = RestrictionModifiers.NO_RESTRICTIONS;
-			for(Iterator iter = tags.iterator(); iter.hasNext();) {
-				tag = (TagElement) iter.next();
-				tagname = tag.getTagName();
-				restrictions |= jtm.getRestrictionsForTag(tagname, type, member);
-			}
-			if (restrictions != RestrictionModifiers.NO_RESTRICTIONS) {
-				if (descriptor.getElementType() == IElementDescriptor.T_METHOD) {
-					try {
-						descriptor = resolveMethod((IMethodDescriptor)descriptor);
-					} catch (CoreException e) {
-						fException = e;
-					}
-				}
-				fDescription.setRestrictions(null, descriptor, restrictions);
-			}
-		}
-		
-		/**
-		 * Returns whether to continue processing children.
-		 * 
-		 * @return whether to continue processing children.
-		 */
-		private boolean isContinue() {
-			return fException == null;
-		}
-		
-		/**
-		 * Returns an exception that aborted processing, or <code>null</code> if none.
-		 * 
-		 * @return an exception that aborted processing, or <code>null</code> if none
-		 */
-		CoreException getException() {
-			return fException;
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.TypeDeclaration)
-		 */
-		public boolean visit(TypeDeclaration node) {
-			enterType(node.getName());
-			return isContinue();
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.jdt.core.dom.ASTVisitor#endVisit(org.eclipse.jdt.core.dom.TypeDeclaration)
-		 */
-		public void endVisit(TypeDeclaration node) {
-			exitType();
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.EnumDeclaration)
-		 */
-		public boolean visit(EnumDeclaration node) {
-			enterType(node.getName());
-			return isContinue();
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.jdt.core.dom.ASTVisitor#endVisit(org.eclipse.jdt.core.dom.EnumDeclaration)
-		 */
-		public void endVisit(EnumDeclaration node) {
-			exitType();
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.PackageDeclaration)
-		 */
-		public boolean visit(PackageDeclaration node) {
-			Name name = node.getName();
-			fPackage = Factory.packageDescriptor(name.getFullyQualifiedName());
-			return false;
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.MethodDeclaration)
-		 */
-		public boolean visit(MethodDeclaration node) {
-			return isContinue();
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.FieldDeclaration)
-		 */
-		public boolean visit(FieldDeclaration node) {
-			return isContinue();
-		}
-		
-		/**
-		 * Returns a method descriptor with a resolved signature for the given method
-		 * descriptor with an unresolved signature.
-		 * 
-		 * @param descriptor method to resolve
-		 * @return resolved method descriptor or the same method descriptor if unable to
-		 * 	resolve
-		 * @exception CoreException if unable to resolve the method and a class file
-		 *  container was provided for this purpose
-		 */
-		private IMethodDescriptor resolveMethod(IMethodDescriptor descriptor) throws CoreException {
-			if (fContainer != null) {
-				IReferenceTypeDescriptor type = descriptor.getEnclosingType();
-				IClassFile classFile = fContainer.findClassFile(type.getQualifiedName());
-				if(classFile != null) {
-					Map methodMapping = getMethodMapping(classFile);
-					Object object = methodMapping.get(descriptor.getName());
-					if (object == null) {
-						throw new CoreException(new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID,
-								MessageFormat.format("Unable to resolve method signature: {0}", new String[]{descriptor.toString()}), null)); //$NON-NLS-1$
-					}
-					if (object instanceof IMethodDescriptor) {
-						return (IMethodDescriptor) object;
-					}
-					if (object instanceof HashtableOfInt) {
-						HashtableOfInt hashtableOfInt = (HashtableOfInt) object;
-						int numberOfParameters = Signature.getParameterCount(descriptor.getSignature());
-						Object object2 = hashtableOfInt.get(numberOfParameters);
-						if (object2 instanceof IMethodDescriptor) {
-							return (IMethodDescriptor) object2;
-						}
-						// this is a list of method descriptors and we need to find the better match
-						List methodList = (List) object2;
-						for (Iterator iterator = methodList.iterator(); iterator.hasNext(); ) {
-							IMethodDescriptor methodDescriptor = (IMethodDescriptor) iterator.next();
-							if (matches(descriptor, methodDescriptor)) {
-								return methodDescriptor;
-							}
-						}
-					}
-				}
-				throw new CoreException(new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID,
-					MessageFormat.format("Unable to resolve method signature: {0}", new String[]{descriptor.toString()}), null)); //$NON-NLS-1$
-			}
-			return descriptor;
-		}
-		
-		private boolean matches(IMethodDescriptor descriptor, IMethodDescriptor methodDescriptor) {
-			String signature = descriptor.getSignature();
-			String signature2 = methodDescriptor.getSignature();
-			return Util.matchesSignatures(signature, signature2);
-		}
-		/**
-		 * Returns resolved method descriptors from the given class file.
-		 * 
-		 * @param file class file
-		 * @return method descriptors for all methods in the file
-		 * @throws CoreException
-		 */
-		private IMethodDescriptor[] getMethods(IClassFile file) throws CoreException {
-			MethodExtractor extractor = new MethodExtractor();
-			ClassReader reader = new ClassReader(file.getContents());
-			reader.accept(extractor, ClassReader.SKIP_CODE | ClassReader.SKIP_FRAMES);
-			return extractor.getMethods();
-		}
-		
-		
-		/**
-		 * Returns a map of unresolved methods descriptors to resolved method descriptors
-		 * for the methods in the given class file.
-		 * 
-		 * @param file class file
-		 * @return mapping of unresolved methods to resolved methods
-		 * @throws CoreException 
-		 */
-		private Map getMethodMapping(IClassFile file) throws CoreException {
-			if (fMethodMappings == null) {
-				fMethodMappings = new HashMap();
-			}
-			Map mapping = (Map) fMethodMappings.get(file);
-			if (mapping == null) {
-				mapping = new HashMap();
-				IMethodDescriptor[] methods = getMethods(file);
-				for (int i = 0; i < methods.length; i++) {
-					IMethodDescriptor resolved = methods[i];
-					String selector = resolved.getName();
-					Object methodsCache = mapping.get(selector);
-					if (methodsCache != null) {
-						// already an existing method with the same selector
-						int numberOfParameter = Signature.getParameterCount(resolved.getSignature());
-						if (methodsCache instanceof HashtableOfInt) {
-							HashtableOfInt hashtableOfInt = (HashtableOfInt) methodsCache;
-							Object object = hashtableOfInt.get(numberOfParameter);
-							if (object == null) {
-								// first method with this name and number of parameters
-								hashtableOfInt.put(numberOfParameter, resolved);
-							} else if (object instanceof List) {
-								// already more than one method with this name and number of parameters
-								List existingMethodsList = (List) object;
-								existingMethodsList.add(resolved);
-							} else {
-								// insert the second method with this name and number of parameters
-								List methodsList = new ArrayList();
-								methodsList.add(object);
-								methodsList.add(resolved);
-								hashtableOfInt.put(numberOfParameter, methodsList);
-							}
-						} else {
-							// this is a IMethodDescriptor
-							IMethodDescriptor previousMethod = (IMethodDescriptor) methodsCache;
-							HashtableOfInt hashtableOfInt = new HashtableOfInt();
-							int numberOfParametersForPrevious = Signature.getParameterCount(previousMethod.getSignature());
-							if (numberOfParametersForPrevious != numberOfParameter) {
-								hashtableOfInt.put(numberOfParameter, resolved);
-								hashtableOfInt.put(numberOfParametersForPrevious, previousMethod);
-							} else {
-								List methodsList = new ArrayList();
-								methodsList.add(previousMethod);
-								methodsList.add(resolved);
-								hashtableOfInt.put(numberOfParameter, methodsList);
-							}
-							mapping.put(selector, hashtableOfInt);
-						}
-					} else {
-						// we insert the IMethodDescriptor in the map
-						mapping.put(selector, resolved);
-					}
-				}
-				fMethodMappings.put(file, mapping);
-			}
-			return mapping;
-		}
-	}
-
-	/**
-	 * The singleton instance of the scanner
-	 */
-	private static TagScanner fSingleton = null;
-	
-	/**
-	 * Delegate for getting the singleton instance of the scanner
-	 * @return
-	 */
-	public static final TagScanner newScanner() {
-		if(fSingleton == null) {
-			fSingleton = new TagScanner();
-		}
-		return fSingleton;
-	}
-	
-	/**
-	 * Constructor
-	 * Cannot be instantiated
-	 */
-	private TagScanner() {}
-	
-	/**
-	 * Scans the specified source {@linkplain CompilationUnit} for contributed API javadoc tags.
-	 * Tags on methods will have unresolved signatures.
-	 * 
-	 * @param source the source file to scan for tags
-	 * @param description the API description to annotate with any new tag rules found
-	 * @throws CoreException
-	 */
-	public void scan(CompilationUnit source, IApiDescription description) throws CoreException {
-		scan(source, description, null);
-	}
-	
-	/**
-	 * Scans the specified source {@linkplain CompilationUnit} for contributed API javadoc tags.
-	 * 
-	 * @param source the source file to scan for tags
-	 * @param description the API description to annotate with any new tag rules found
-	 * @param container optional class file container containing the class file for the given source
-	 * 	that can be used to resolve method signatures if required (for tags on methods). If 
-	 * 	not provided (<code>null</code>), method signatures will be unresolved.
-	 * @throws CoreException 
-	 */
-	public void scan(CompilationUnit source, IApiDescription description, IClassFileContainer container) throws CoreException {
-		ASTParser parser = ASTParser.newParser(AST.JLS3);
-		InputStream inputStream = null;
-		try {
-			inputStream = source.getInputStream();
-			parser.setSource(Util.getInputStreamAsCharArray(inputStream, -1, System.getProperty("file.encoding"))); //$NON-NLS-1$
-		} catch (FileNotFoundException e) {
-			throw new CoreException(new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID,
-					MessageFormat.format("Compilation unit source not found: {0}", new String[]{source.getName()}), e)); //$NON-NLS-1$
-		} catch (IOException e) {
-			if (DEBUG) {
-				System.err.println(source.getName());
-			}
-			throw new CoreException(new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID,
-					MessageFormat.format("Error reading compilation unit: {0}", new String[]{source.getName()}), e)); //$NON-NLS-1$
-		} finally {
-			if (inputStream != null) {
-				try {
-					inputStream.close();
-				} catch(IOException e) {
-					ApiPlugin.log(e);
-				}
-			}
-		}
-		org.eclipse.jdt.core.dom.CompilationUnit cunit = (org.eclipse.jdt.core.dom.CompilationUnit) parser.createAST(new NullProgressMonitor());
-		Visitor visitor = new Visitor(description, container);
-		cunit.accept(visitor);
-		if (visitor.getException() != null) {
-			throw visitor.getException();
-		}
-	}	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/IApiSearchCriteria.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/IApiSearchCriteria.java
deleted file mode 100644
index 12a2396..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/IApiSearchCriteria.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.search;
-
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-
-/**
- * Describes the criteria for a search.
- * 
- * @since 1.0.0
- */
-public interface IApiSearchCriteria {
-
-	/**
-	 * Returns a bit mask describing all kinds of references being searched for.
-	 *  
-	 * @return bit mask of {@link ReferenceModifiers}
-	 */
-	public int getReferenceKinds();
-	
-	/**
-	 * Returns whether the given <b>unresolved</b> reference is a potential matches for this
-	 * search criteria. The reference is unresolved. 
-	 * 
-	 * @param reference candidate search result
-	 * @return whether the reference is a potential match
-	 */
-	public boolean isPotentialMatch(IReference reference);
-	
-	/**
-	 * Returns whether the given reference matches this search criteria.
-	 * References passed to this method have already passed the potential match
-	 * test, and have since been resolved.
-	 * 
-	 * @param reference potential search result
-	 * @return whether the reference matches the search criteria
-	 */
-	public boolean isMatch(IReference reference);
-
-	/**
-	 * Restricts matching to references referring to the specified component.
-	 *  
-	 * @param componentId API component identifier
-	 */
-	public void addReferencedComponentRestriction(String componentId);
-	
-	/**
-	 * Restricts matching to references referring to or contained within the
-	 * specified elements in the specified components.
-	 * 
-	 * @param componentId API component identifier
-	 * @param elements elements within the component
-	 */
-	public void addReferencedElementRestriction(String componentId, IElementDescriptor[] elements);
-	
-	/**
-	 * Restricts matching to references that have a name matching the given
-	 * regular expression and element type.
-	 * 
-	 * @param regEx regular expression
-	 * @param elementType element type defined by {@link IElementDescriptor}
-	 */
-	public void addReferencedPatternRestriction(String regEx, int elementType);
-
-	/**
-	 * Sets the kinds of references to consider. By default all reference kinds are
-	 * considered.
-	 * 
-	 * @param referenceMask bit mask of the kinds of references from the original referencing
-	 *  location to consider as specified by {@link ReferenceModifiers}	
-	 */
-	public void setReferenceKinds(int referenceMask);
-	
-	/**
-	 * Sets the visibility and API use restrictions to consider on referenced elements.
-	 * By default, all visibilities and restrictions are considered.
-	 * 
-	 * @param visibilityMask bit mask of the visibilities of the referenced location
-	 * 	to consider as specified by {@link VisibilityModifiers}
-	 * @param restrictionMask bit mask of the API restrictions of the referenced location
-	 * 	to consider as specified by {@link RestrictionModifiers}
-	 */
-	public void setReferencedRestrictions(int visibilityMask, int restrictionMask);	
-	
-	/**
-	 * Sets the Java visibility (access modifiers) of referencing locations to consider.
-	 * For example, only consider references that stem from public or protected members/types.
-	 * By default, all visibilities are considered.
-	 * 
-	 * @param modifiers modifiers as defined by {@link Flags}
-	 */
-	public void setSourceModifiers(int modifiers);
-
-	/**
-	 * Sets the visibility and API use restrictions to consider on source elements.
-	 * By default, all visibilities and restrictions are considered.
-	 * 
-	 * @param visibilityMask bit mask of the visibilities of the source location
-	 * 	to consider as specified by {@link VisibilityModifiers}
-	 * @param restrictionMask bit mask of the API restrictions of the source location
-	 * 	to consider as specified by {@link RestrictionModifiers}
-	 */
-	public void setSourceRestrictions(int visibilityMask, int restrictionMask);	
-	
-	/**
-	 * Filter references originating from the specified component.
-	 * 
-	 * @param componentId API component identifier
-	 */
-	public void addSourceFilter(String componentId);
-	
-	/**
-	 * Sets arbitrary user data on this search criteria.
-	 * 
-	 * @param object user data or <code>null</code>
-	 */
-	public void setUserData(Object object);
-	
-	/**
-	 * Returns the user data set on this search criteria, or <code>null</code>.
-	 * 
-	 * @return user data or <code>null</code>
-	 */
-	public Object getUserData();
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/IApiSearchEngine.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/IApiSearchEngine.java
deleted file mode 100644
index 7683a2d..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/IApiSearchEngine.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.search;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * Searches an API profile for references to specified elements.
- * 
- * @since 1.0.0
- */
-public interface IApiSearchEngine {
-		
-	/**
-	 * Searches for references in the specified scope that meet the given conditions.
-	 * Returns results that match each condition, or an empty collection if the search
-	 * (progress monitor) is canceled.
-	 * 
-	 * @param sourceScope the scope searched for references
-	 * @param conditions search conditions 
-	 * @param monitor progress monitor or <code>null</code>
-	 * @return references found, possibly an empty collection
-	 * @throws CoreException
-	 */
-	public IApiSearchResult[] search(IApiSearchScope sourceScope, IApiSearchCriteria[] conditions, IProgressMonitor monitor) throws CoreException;	
-
-	/**
-	 * Resolves the given references.
-	 * 
-	 * @param references
-	 * @param monitor
-	 * @throws CoreException
-	 */
-	public void resolveReferences(IReference[] references, IProgressMonitor monitor) throws CoreException;
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/IApiSearchResult.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/IApiSearchResult.java
deleted file mode 100644
index 7db9a0a..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/IApiSearchResult.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.search;
-
-/**
- * References that match a specific search criteria.
- * 
- * @since 1.0
- */
-public interface IApiSearchResult {
-	
-	/**
-	 * Returns the search criteria for this result.
-	 * 
-	 * @return search criteria
-	 */
-	public IApiSearchCriteria getSearchCriteria();
-	
-	/**
-	 * Returns the references that matched this result's search criteria.
-	 * 
-	 * @return matching references
-	 */
-	public IReference[] getReferences();
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/IApiSearchScope.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/IApiSearchScope.java
deleted file mode 100644
index 0119148..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/IApiSearchScope.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.search;
-
-import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-
-/**
- * Describes a scope of API components or elements within API components.
- * A search scope is a class file container. A search scope visits all
- * class files referenced by a scope.
- * 
- * @since 1.0.0
- */
-public interface IApiSearchScope extends IClassFileContainer {
-
-	/**
-	 * Returns whether this scope encloses the given element in the specified component.
-	 * 
-	 * @param componentId identifier of the API component the given element is being considered in
-	 * @param element element descriptor
-	 * @return whether this scope encloses the given element in the specified component
-	 */
-	public boolean encloses(String componentId, IElementDescriptor element);
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/ILocation.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/ILocation.java
deleted file mode 100644
index e766716..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/ILocation.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.search;
-
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMemberDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-
-
-/**
- * Describes a location in terms of an {@link IReference}.
- * 
- * @noimplement This interface is not to be implemented by clients.
- * @since 1.0.0
- */
-public interface ILocation {
-	
-	/**
-	 * Returns the component this location is contained in or <code>null</code>
-	 * if unknown.
-	 * 
-	 * @return the containing component or <code>null</code> if unknown
-	 */
-	public IApiComponent getApiComponent();
-	
-	/**
-	 * Returns the type containing this location.
-	 * 
-	 * @return type containing this location
-	 */
-	public IReferenceTypeDescriptor getType();
-	
-	/**
-	 * Returns the member this location is associated with. May be the
-	 * same as {@link #getType()} if this location is associated with
-	 * a type rather than a type member.
-	 * 
-	 * @return associated member
-	 */
-	public IMemberDescriptor getMember();
-	
-	/**
-	 * Returns the line number of the location. If there is no line number
-	 * -1 is returned
-	 * @return the line number of the location or -1 if there isn't one
-	 */
-	public int getLineNumber();
-
-	/**
-	 * Set the line number for the current location
-	 * @param value new value for the line number
-	 */
-	public void setLineNumber(int value);
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/IReference.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/IReference.java
deleted file mode 100644
index bca4bdf..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/IReference.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.search;
-
-import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
-
-
-/**
- * Describes a Java code reference from one component to another. An unresolved 
- * reference cannot guarantee the completeness of the information contained in 
- * its target location.
- * <p>
- * For example we can describe the reference from some type T to some type T1, where 
- * T resides in component C within package P and T1 resides in component C1 within package P1.
- * </p>
- * 
- * @noimplement This interface is not to be implemented by clients.
- * @since 1.0.0
- */
-public interface IReference {
-
-    /**
-	 * Returns the originating location of this reference.
-	 * For example if T references T1 the {@link ILocation} for T
-	 * would be the source location.
-	 * 
-	 * @return the originating location of this reference.
-	 */
-	public ILocation getSourceLocation();
-	
-	/**
-	 * Returns the unresolved location that has been referenced
-	 * from the source location. 
-	 * 
-	 * @return the referenced location
-	 */
-	public ILocation getReferencedLocation();
-	
-	/**
-	 * Returns the resolved referenced location or <code>null</code> if
-	 * unresolved.
-	 * 
-	 * @return resolved referenced location or <code>null</code>
-	 */
-	public ILocation getResolvedLocation();
-	
-	/**
-	 * Returns the kind of this reference. See constants defined 
-	 * in {@link ReferenceModifiers}.
-	 * 
-	 * @return the kind of this reference.
-	 */
-	public int getReferenceKind();
-	
-	/**
-	 * Returns the {@link IApiAnnotations} for the target location of this
-	 * reference. If the reference is unresolved <code>null</code> is returned.
-	 * @return the {@link IApiAnnotations} for the target location or <code>null</code> if unresolved.
-	 */
-	public IApiAnnotations getResolvedAnnotations();
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/ReferenceModifiers.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/ReferenceModifiers.java
deleted file mode 100644
index 79d3dbd..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/search/ReferenceModifiers.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.search;
-
-/**
- * Class containing constants and utility methods for reference modifiers.
- * 
- * @since 1.0.0
- */
-public class ReferenceModifiers {
-
-	/**
-	 * Constant representing the superclass of the class is a class in the target space.
-	 * Value is <code>2^0</code>
-	 */
-	public static final int REF_EXTENDS = 0x1;
-	/**
-	 * Constant representing the class implements an interface in the target space.
-	 * Value is <code>2^1</code>
-	 */
-	public static final int REF_IMPLEMENTS = 0x1 << 1;
-	/**
-	 * Constant representing a field is declared of a type in the target space. 
-	 * Value is <code>2^2</code>
-	 */
-	public static final int REF_FIELDDECL = 0x1 << 2;
-	/**
-	 * Constant representing the return type of a declared method is in the target space.
-	 * Value is <code>2^3</code>
-	 */
-	public static final int REF_RETURNTYPE = 0x1 << 3;
-	/**
-	 * Constant representing a parameter of a method is in the target space.
-	 * Value is <code>2^4</code>
-	 */
-	public static final int REF_PARAMETER = 0x1 << 4;
-	/**
-	 * Constant representing an exception in the throws clause of a method is in the target space.
-	 * Value is <code>2^5</code>
-	 */
-	public static final int REF_THROWS = 0x1 << 5;
-	/**
-	 * Constant representing a constructor method was invoked on a class in the target space.
-	 * Value is <code>2^6</code>
-	 */
-	public static final int REF_CONSTRUCTORMETHOD = 0x1 << 6;
-	/**
-	 * Constant representing a static method is invoked on a class in the target space.
-	 * Value is <code>2^7</code>
-	 */
-	public static final int REF_STATICMETHOD = 0x1 << 7;
-	/**
-	 * Constant representing a virtual (instance) method is invoked on a class in the target space.
-	 * Value is <code>2^8</code>
-	 */
-	public static final int REF_VIRTUALMETHOD = 0x1 << 8;
-	/**
-	 * Constant representing a method on an interface in the target space is invoked.
-	 * Value is <code>2^9</code>
-	 */
-	public static final int REF_INTERFACEMETHOD = 0x1 << 9;
-	/**
-	 * Constant representing a parameter passed to a method is in the target space.
-	 * Value is <code>2^10</code>
-	 */
-	public static final int REF_PASSEDPARAMETER = 0x1 << 10;
-	/**
-	 * Constant representing reading a static field from a class in the target space.
-	 * Value is <code>2^11</code>
-	 */
-	public static final int REF_GETSTATIC = 0x1 << 11;
-	/**
-	 * Constant representing setting a static field from a class in the target space.
-	 * Value is <code>2^12</code>
-	 */
-	public static final int REF_PUTSTATIC = 0x1 << 12;
-	/**
-	 * Constant representing reading an instance field from a class in the target space.
-	 * Value is <code>2^13</code>
-	 */
-	public static final int REF_GETFIELD = 0x1 << 13;
-	/**
-	 * Constant representing setting an instance field from a class in the target space.
-	 * Value is <code>2^14</code>
-	 */
-	public static final int REF_PUTFIELD = 0x1 << 14;
-	/**
-	 * Constant representing an array is created of a type in the target space.
-	 * Value is <code>2^15</code>
-	 */
-	public static final int REF_ARRAYALLOC = 0x1 << 15;
-	/**
-	 * Constant representing a method contains a local variable that is in the target space.
-	 * Value is <code>2^16</code>
-	 */
-	public static final int REF_LOCALVARIABLE = 0x1 << 16;
-	/**
-	 * Constant representing code in a method catches an exception of a class in the target space.
-	 * Value is <code>2^17</code>
-	 */
-	public static final int REF_CATCHEXCEPTION = 0x1 << 17;
-	/**
-	 * Constant representing method code contains a cast using a type in the target space.
-	 * Value is <code>2^18</code>
-	 */
-	public static final int REF_CHECKCAST = 0x1 << 18;
-	/**
-	 * Constant representing method code contains a type in the target space as the operand of the
-	 * instanceof operator.
-	 * Value is <code>2^19</code>
-	 */
-	public static final int REF_INSTANCEOF = 0x1 << 19;
-	/**
-	 * Constant representing that the INVOKE_SPECIAL instruction has been used in the 
-	 * target space.
-	 * Value is <code>2^20</code>
-	 */
-	public static final int REF_SPECIALMETHOD = 0x1 << 20;
-	/**
-	 * Constant representing a parameterized type has been declared in the target space. Used or Java 5+ support
-	 * of signatures.
-	 * Value is <code>2^21</code>
-	 */
-	public static final int REF_PARAMETERIZED_TYPEDECL = 0x1 << 21;
-	/**
-	 * Constant representing a parameterized field has been declared in the target space. Used for Java 5+ support
-	 * of signatures.
-	 * Value is <code>2^22</code>
-	 */
-	public static final int REF_PARAMETERIZED_FIELDDECL = 0x1 << 22;
-	/**
-	 * Constant representing a parameterized method has been declared in the target space. Used for Java 5+ support
-	 * of signatures. 
-	 * Value is <code>2^23</code>
-	 */
-	public static final int REF_PARAMETERIZED_METHODDECL = 0x1 << 23;
-	/**
-	 * Constant representing a parameterized type for a local variable is in the target space. Used
-	 * for Java 5+ support of signatures.
-	 * Value is <code>2^24</code>
-	 */
-	public static final int REF_PARAMETERIZED_VARIABLE = 0x1 << 24;
-	/**
-	 * Constant representing a local variable is declared in the target space.
-	 * Value is <code>2^25</code>
-	 */
-	public static final int REF_LOCALVARIABLEDECL = 0x1 << 25;
-	/**
-	 * Constant representing a type is read from the constant pool and placed on the stack
-	 * Value is <code>2^26</code>
-	 */
-	public static final int REF_CONSTANTPOOL = 0x1 << 26;
-	/**
-	 * Constant representing a type has been instantiated via a constructor. This reference
-	 * is to the type, rather than the actual constructor method.
-	 * Value is <code>2^27</code>
-	 */
-	public static final int REF_INSTANTIATE = 0x1 << 27;
-	
-	/**
-	 * Constant representing a method overriding a method in a super type.
-	 * Value is <code>2^28</code>.
-	 */
-	public static final int REF_OVERRIDE = 0x1 << 28;
-	
-	/**
-	 * Bit mask used to indicate all kinds of references.
-	 */
-	public static final int MASK_REF_ALL = 0x7FFFFFFF;
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/stubs/Converter.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/stubs/Converter.java
deleted file mode 100644
index f7a6374..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/provisional/stubs/Converter.java
+++ /dev/null
@@ -1,980 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.provisional.stubs;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileFilter;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.StringTokenizer;
-import java.util.zip.CRC32;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-import java.util.zip.ZipOutputStream;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.objectweb.asm.Attribute;
-import org.objectweb.asm.ByteVector;
-import org.objectweb.asm.ClassAdapter;
-import org.objectweb.asm.ClassReader;
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.ClassWriter;
-import org.objectweb.asm.FieldVisitor;
-import org.objectweb.asm.Label;
-import org.objectweb.asm.MethodAdapter;
-import org.objectweb.asm.MethodVisitor;
-import org.objectweb.asm.Opcodes;
-import org.objectweb.asm.Type;
-
-/**
- * Utility to convert 'normal' class files into 'stubs', removing the body declarations
- * but (optionally) keeping references
- * 
- * @since 1.0.0
- */
-public class Converter {
-	static final String STUB_MARKER_NAME = "StubMarker"; //$NON-NLS-1$
-	
-	/**
-	 * Class adapter
-	 */
-	static class StubClassAdapter extends ClassAdapter {
-		int flags;
-		String name;
-
-		/**
-		 * Constructor
-		 * @param visitor
-		 * @param flags
-		 */
-		public StubClassAdapter(ClassVisitor visitor, int flags) {
-			super(visitor);
-			this.flags = flags;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.ClassAdapter#visit(int, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[])
-		 */
-		public void visit(int version,
-				int access,
-				String className,
-				String signature,
-				String superName,
-				String[] interfaces) {
-			this.name = className;
-			cv.visit(version, access, className, signature, superName, interfaces);
-			cv.visitAttribute(new StubMarkerAttribute());
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.ClassAdapter#visitField(int, java.lang.String, java.lang.String, java.lang.String, java.lang.Object)
-		 */
-		public FieldVisitor visitField(int access, String fieldName, String desc, String signature, Object value) {
-			if ((this.flags & MODIFIER_PRIVATE) == 0 && (access & Opcodes.ACC_PRIVATE) != 0) {
-				return null;
-			}
-			if ((this.flags & MODIFIER_PUBLIC) == 0 && (access & Opcodes.ACC_PUBLIC) != 0) {
-				return null;
-			}
-			if ((this.flags & MODIFIER_PROTECTED) == 0 && (access & Opcodes.ACC_PROTECTED) != 0) {
-				return null;
-			}
-			if ((this.flags & MODIFIER_PACKAGE) == 0 && access == 0) {
-				return null;
-			}
-			if ((this.flags & MODIFIER_SYNTHETIC) == 0 && (access & Opcodes.ACC_SYNTHETIC) != 0) {
-				return null;
-			}
-			return super.visitField(access, fieldName, desc, signature, value);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.ClassAdapter#visitMethod(int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[])
-		 */
-		public MethodVisitor visitMethod(int access,
-				String methodName,
-				String desc,
-				String signature,
-				String[] exceptions) {
-			boolean reportRefs = (this.flags & REPORT_REFS) != 0;
-			int accessFlags;
-			if ((access & Opcodes.ACC_ABSTRACT) == 0) {
-				// this is not an abstract method
-				accessFlags = reportRefs ? access : access | Opcodes.ACC_NATIVE;
-			} else {
-				accessFlags = access;
-			}
-			if (!reportRefs && "<clinit>".equals(methodName)) { //$NON-NLS-1$
-				return null;
-			}
-			if ((this.flags & MODIFIER_PRIVATE) == 0 && (access & Opcodes.ACC_PRIVATE) != 0) {
-				return null;
-			}
-			if ((this.flags & MODIFIER_PUBLIC) == 0 && (access & Opcodes.ACC_PUBLIC) != 0) {
-				return null;
-			}
-			if ((this.flags & MODIFIER_PROTECTED) == 0 && (access & Opcodes.ACC_PROTECTED) != 0) {
-				return null;
-			}
-			if ((this.flags & MODIFIER_PACKAGE) == 0 && access == 0) {
-				return null;
-			}
-			if ((this.flags & MODIFIER_SYNTHETIC) == 0 && (access & Opcodes.ACC_SYNTHETIC) != 0) {
-				return null;
-			}
-			MethodVisitor visitor = super.visitMethod(accessFlags, methodName, desc, signature, exceptions);
-			if (visitor != null) {
-				if (reportRefs) {
-					visitor = new ReferencesStubMethodAdapter(visitor);
-				} else {
-					visitor.visitEnd(); // for safety
-					visitor = null;
-				}
-			}
-			return visitor;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.ClassAdapter#visitInnerClass(java.lang.String, java.lang.String, java.lang.String, int)
-		 */
-		public void visitInnerClass(String innerClassName, String outerName, String innerName, int access) {
-			if (((this.flags & REPORT_REFS) != 0) || (outerName != null && innerName != null)) {
-				super.visitInnerClass(innerClassName, outerName, innerName, access);
-			} else if (this.name.equals(innerClassName) && (outerName == null || innerName == null)) {
-				// local class
-				this.flags |= IGNORE_CLASS_FILE;
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.ClassAdapter#visitAttribute(org.objectweb.asm.Attribute)
-		 */
-		public void visitAttribute(Attribute attr) {
-			if ((this.flags & VERBOSE_MODE) != 0) {
-				System.out.println(attr.type);
-			}
-			if ("Synthetic".equals(attr.type)) { //$NON-NLS-1$
-				this.flags |= IGNORE_CLASS_FILE;
-			}
-			if (STUB_MARKER_NAME.equals(attr.type)) {
-				this.flags |= IS_STUB_CLASS_FILE;
-			}
-			super.visitAttribute(attr);
-		}
-
-		/**
-		 * @return if this class file should be ignored or not
-		 */
-		public boolean shouldIgnore() {
-			return (this.flags & IGNORE_CLASS_FILE) != 0;
-		}
-		
-		/**
-		 * @return if this class file is a stub or not
-		 */
-		public boolean isStub() {
-			return (this.flags & IS_STUB_CLASS_FILE) != 0;
-		}
-	}
-
-	/**
-	 * Method adapter for creating stub methods
-	 */
-	static class ReferencesStubMethodAdapter extends MethodAdapter {
-		String stringLiteral;
-		int line;
-		Label label;
-		int lastLine = -1;
-
-		/**
-		 * Constructor
-		 * @param visitor
-		 */
-		public ReferencesStubMethodAdapter(MethodVisitor visitor) {
-			super(visitor);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitIincInsn(int, int)
-		 */
-		public void visitIincInsn(int var, int increment) {
-			// Nothing to do
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitMultiANewArrayInsn(String, int)
-		 */
-		public void visitMultiANewArrayInsn(String desc, int dims) {
-			this.insertLineEntry();
-			mv.visitMultiANewArrayInsn(desc, dims);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitInsn(int)
-		 */
-		public void visitInsn(int opcode) {
-			if ((opcode >= Opcodes.IRETURN && opcode <= Opcodes.RETURN)
-					|| opcode == Opcodes.ATHROW
-					|| opcode == Opcodes.POP) {
-				this.insertLineEntry();
-				mv.visitInsn(opcode);
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitFieldInsn(int, String, String, String)
-		 */
-		public void visitFieldInsn(int opcode, String owner, String name, String desc) {
-			this.insertLineEntry();
-			mv.visitFieldInsn(opcode, owner, name, desc);
-		}
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitTypeInsn(int, String)
-		 */
-		public void visitTypeInsn(int opcode, String desc) {
-			this.insertLineEntry();
-			mv.visitTypeInsn(opcode, desc);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitIntInsn(int, int)
-		 */
-		public void visitIntInsn(int opcode, int operand) {
-			// Nothing to do
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitJumpInsn(int, Label)
-		 */
-		public void visitJumpInsn(int opcode, Label label) {
-			// Nothing to do
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitLdcInsn(java.lang.Object)
-		 */
-		public void visitLdcInsn(Object cst) {
-			if (cst instanceof Type) {
-				this.insertLineEntry();
-				mv.visitLdcInsn(cst);
-			} else if (cst instanceof String) {
-				stringLiteral = (String) cst;
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitLookupSwitchInsn(org.objectweb.asm.Label, int[], org.objectweb.asm.Label[])
-		 */
-		public void visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) {
-			// Nothing to do
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitTableSwitchInsn(int, int, org.objectweb.asm.Label, org.objectweb.asm.Label[])
-		 */
-		public void visitTableSwitchInsn(int min, int max, Label dflt, Label[] labels) {
-			// Nothing to do
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitVarInsn(int, int)
-		 */
-		public void visitVarInsn(int opcode, int var) {
-			switch(opcode) {
-				case Opcodes.ASTORE :
-					this.insertLineEntry();
-					mv.visitVarInsn(opcode, var);
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitFrame(int, int, Object[], int, Object[])
-		 */
-		public void visitFrame(int type, int local, Object[] local2, int stack, Object[] stack2) {
-			// Nothing to do
-		}
-
-		/**
-		 * Returns the full internal name (if available) from the given simple name.
-		 * The returned name has been modified to be '.' separated
-		 * @param name
-		 * @return
-		 */
-		protected String processName(String name) {
-			String newname = name;
-			Type type = Type.getObjectType(name);
-			if(type != null && type.getSort() == Type.OBJECT) {
-				newname = type.getInternalName();
-			}
-			return newname.replaceAll("/", "."); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitMethodInsn(int, java.lang.String, java.lang.String, java.lang.String)
-		 */
-		public void visitMethodInsn(int opcode, String owner, String name, String desc) {
-			switch(opcode){
-				case Opcodes.INVOKESTATIC: {
-					// check for reference to a class literal
-					if (name.equals("forName")) { //$NON-NLS-1$
-						if (processName(owner).equals("java.lang.Class")) { //$NON-NLS-1$
-							if (stringLiteral != null) {
-								mv.visitLdcInsn(this.stringLiteral);
-							}
-						}
-					}
-					break;
-				}
-			}
-			stringLiteral = null;
-			this.insertLineEntry();
-			mv.visitMethodInsn(opcode, owner, name, desc);
-		}
-
-		private void insertLineEntry() {
-			if (this.lastLine != this.line && this.label != null) {
-				mv.visitLineNumber(this.line, this.label);
-				this.lastLine = this.line;
-			}
-		}
-
-		public void visitLineNumber(int line, Label start) {
-			this.line = line;
-			this.label = start;
-		}
-	}
-
-	/**
-	 * class to represent that the class file it is placed in is a stub
-	 */
-	static class StubMarkerAttribute extends Attribute {
-		/**
-		 * Constructor
-		 */
-		public StubMarkerAttribute() {
-			super(STUB_MARKER_NAME);
-		}
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.Attribute#isUnknown()
-		 */
-		public boolean isUnknown() {
-			return false;
-		}
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.Attribute#read(org.objectweb.asm.ClassReader, int, int, char[], int, org.objectweb.asm.Label[])
-		 */
-		protected Attribute read(ClassReader cr, int off, int len, char[] buf, int codeOff, Label[] labels) {
-			return new StubMarkerAttribute();
-		}
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.Attribute#write(org.objectweb.asm.ClassWriter, byte[], int, int, int)
-		 */
-		protected ByteVector write(ClassWriter cw, byte[] code, int len, int maxStack, int maxLocals) {
-			return new ByteVector();
-		}
-	}
-
-	static class LineNumberMergerClassAdapter extends ClassAdapter {
-
-		public LineNumberMergerClassAdapter(ClassVisitor visitor) {
-			super(visitor);
-		}
-		public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
-			MethodVisitor visitMethod = super.visitMethod(access, name, desc, signature, exceptions);
-			return new LineNumberMergerMethodAdapter(visitMethod);
-		}
-	}
-
-	static class LineNumberMergerMethodAdapter extends MethodAdapter {
-		int lastOffset = -1;
-		public LineNumberMergerMethodAdapter(MethodVisitor visitor) {
-			super(visitor);
-		}
-		public void visitLineNumber(int line, Label start) {
-			int offset = start.getOffset();
-			if (offset != lastOffset) { 
-				mv.visitLineNumber(line, start);
-				lastOffset = offset;
-			}
-		}
-	}
-
-	static final int DEFAULT = 0;
-
-	static final int ABORT = 0x01;
-
-	static final int PROCESS_CLASS_FILES = 0x02;
-
-	static final int PROCESS_ARCHIVES = 0x04;
-
-	public static final int REPORT_REFS = 0x08;
-
-	static final int PROCESS_SUB = 0x10;
-
-	static final int PROCESS_ALL = 0x20;
-
-	static final int COMPRESS_RESULTING_ARCHIVES = 0x80;
-
-	static final int IGNORE_CLASS_FILE = 0x100;
-
-	public static final int MODIFIER_PRIVATE = 0x200;
-
-	public static final int MODIFIER_PUBLIC = 0x400;
-
-	public static final int MODIFIER_PROTECTED = 0x800;
-
-	public static final int MODIFIER_PACKAGE = 0x1000;
-
-	public static final int MODIFIER_SYNTHETIC = 0x2000;
-
-	public static final int MODIFIER_MASK =
-		  MODIFIER_PRIVATE
-		| MODIFIER_PUBLIC
-		| MODIFIER_PROTECTED
-		| MODIFIER_PACKAGE
-		| MODIFIER_SYNTHETIC;
-
-	static final int VERBOSE_MODE = 0x4000;
-
-	static final int RESOURCES_FILES = 0x8000;
-
-	static final int IS_STUB_CLASS_FILE = 0x10000;
-
-	static final CRC32 CRC32 = new CRC32();
-
-	/**
-	 * Main method used to run from the command line
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		Converter converter = new Converter();
-		converter.configure(args);
-		if (converter.isVerbose()) {
-			long time = System.currentTimeMillis();
-			converter.process();
-			System.out.println("" + (System.currentTimeMillis() - time) + "ms spent"); //$NON-NLS-1$ //$NON-NLS-2$
-		} else {
-			converter.process();
-		}
-	}
-
-	/**
-	 * Creates a stub class file from the specified 'normal' class file or <code>null</code>
-	 * if the class file being converted is an anonymous or a local inner type.
-	 * 
-	 * @param classFile the class file to convert to a 'stub'
-	 * @return a byte array representing the stub class file
-	 * @throws CoreException
-	 * @throws IOException
-	 */
-	public static byte[] createStub(IClassFile classFile) throws CoreException, IOException {
-		return createStub(classFile, MODIFIER_MASK);
-	}
-
-	/**
-	 * Creates a stub class file from the specified 'normal' class file, considering the or'd
-	 * set of options. If the class file being converted is an anonymous or a local inner type, <code>null</code>
-	 * is returned.
-	 * 
-	 * @param classFile to class file to convert to a 'stub'
-	 * @param options the or'd set of options to use during the conversion
-	 * @return a byte array representing the stub class file
-	 * @throws CoreException
-	 * @throws IOException
-	 */
-	public static byte[] createStub(IClassFile classFile, int options) throws CoreException, IOException {
-		InputStream inputStream = null;
-		try {
-			inputStream = new BufferedInputStream(new ByteArrayInputStream(classFile.getContents()));
-			return process(inputStream, options);
-		} finally {
-			if (inputStream != null) {
-				try {
-					inputStream.close();
-				} catch(IOException e) {
-					ApiPlugin.log(e);
-				}
-			}
-		}
-	}
-
-	/**
-	 * @return if the converter is in verbose mode
-	 */
-	private boolean isVerbose() {
-		return (this.bits & VERBOSE_MODE) != 0;
-	}
-
-	/**
-	 * Writes the given entry information into the output stream
-	 * @param outputStream the output stream to write out to
-	 * @param entryName
-	 * @param bytes
-	 * @param crc32
-	 * @param bits
-	 * @throws IOException
-	 */
-	private static void writeZipFileEntry(ZipOutputStream outputStream,
-			String entryName,
-			byte[] bytes,
-			CRC32 crc32,
-			int bits) throws IOException {
-		crc32.reset();
-		int byteArraySize = bytes.length;
-		crc32.update(bytes, 0, byteArraySize);
-		ZipEntry entry = new ZipEntry(entryName);
-		entry.setMethod((bits & COMPRESS_RESULTING_ARCHIVES) != 0 ? ZipEntry.DEFLATED : ZipEntry.STORED);
-		entry.setSize(byteArraySize);
-		entry.setCrc(crc32.getValue());
-		outputStream.putNextEntry(entry);
-		outputStream.write(bytes, 0, byteArraySize);
-		outputStream.closeEntry();
-	}
-
-	int bits;
-
-	private String input;
-
-	private String output;
-
-	private void configure(String[] args) {
-		// command line processing
-		/*
-		 * Recognized options:
-		 * -verbose, -v: verbose mode
-		 * -s : process all subdirectories
-		 * -output: where to put the converted files
-		 * -input: If a directory, -s is considered
-		 * -all : process .class and archive files
-		 * -refs : preserve references
-		 * -classfiles : process only .class files
-		 * -archives : process only archive files (.jar/.zip)
-		 * -compress: compress resulting archives (default no)
-		 * -keep:private,protected,public,package,synthetic,all,none (default all)
-		 * -skipresourcefiles (default: off)
-		 */
-		this.bits |= (MODIFIER_MASK | RESOURCES_FILES);
-		final int DEFAULT_MODE = 0;
-		final int INPUT_MODE = 1;
-		final int OUTPUT_MODE = 2;
-		int mode = DEFAULT_MODE;
-		for (int i = 0, max = args.length; i < max; i++) {
-			String currentArg = args[i];
-			switch (mode) {
-				case DEFAULT_MODE:
-					if ("-input".equals(currentArg)) { //$NON-NLS-1$
-						mode = INPUT_MODE;
-						continue;
-					}
-					if ("-output".equals(currentArg)) { //$NON-NLS-1$
-						mode = OUTPUT_MODE;
-						continue;
-					}
-					if ("-s".equals(currentArg)) { //$NON-NLS-1$
-						this.bits |= PROCESS_SUB;
-						continue;
-					}
-					if ("-all".equals(currentArg)) { //$NON-NLS-1$
-						if ((this.bits & (PROCESS_ARCHIVES | PROCESS_CLASS_FILES | PROCESS_ALL)) != 0) {
-							// invalid entry: -all cannot be used with -archives
-							// or -classfiles
-							this.bits |= ABORT;
-							return;
-						}
-						this.bits |= PROCESS_ALL;
-						continue;
-					}
-					if ("-archives".equals(currentArg)) { //$NON-NLS-1$
-						if ((this.bits & (PROCESS_ARCHIVES | PROCESS_CLASS_FILES | PROCESS_ALL)) != 0) {
-							// invalid entry: -all cannot be used with -archives
-							// or -classfiles
-							this.bits |= ABORT;
-							return;
-						}
-						this.bits |= PROCESS_ARCHIVES;
-						continue;
-					}
-					if ("-classfiles".equals(currentArg)) { //$NON-NLS-1$
-						if ((this.bits & (PROCESS_ARCHIVES | PROCESS_CLASS_FILES | PROCESS_ALL)) != 0) {
-							// invalid entry: -all cannot be used with -archives
-							// or -classfiles
-							this.bits |= ABORT;
-							return;
-						}
-						this.bits |= PROCESS_CLASS_FILES;
-						continue;
-					}
-					if ("-refs".equals(currentArg)) { //$NON-NLS-1$
-						this.bits |= REPORT_REFS;
-						continue;
-					}
-					if ("-compress".equals(currentArg)) { //$NON-NLS-1$
-						this.bits |= COMPRESS_RESULTING_ARCHIVES;
-						continue;
-					}
-					if (currentArg.startsWith("-keep:")) { //$NON-NLS-1$
-						// clear all modifiers bits
-						this.bits &= ~MODIFIER_MASK;
-						String keepOption = currentArg;
-						int length = keepOption.length();
-						if (length <= 6) {
-							System.err.println("Unknown option : " + currentArg); //$NON-NLS-1$
-							continue;
-						}
-						StringTokenizer tokenizer = new StringTokenizer(keepOption.substring(6, length), ","); //$NON-NLS-1$
-						int tokenCounter = 0;
-						while (tokenizer.hasMoreTokens()) {
-							String token = tokenizer.nextToken();
-							tokenCounter++;
-							if ("private".equals(token)) { //$NON-NLS-1$
-								this.bits |= MODIFIER_PRIVATE;
-							} else if ("public".equals(token)) { //$NON-NLS-1$
-								this.bits |= MODIFIER_PUBLIC;
-							} else if ("protected".equals(token)) { //$NON-NLS-1$
-								this.bits |= MODIFIER_PROTECTED;
-							} else if ("synthetic".equals(token)) { //$NON-NLS-1$
-								this.bits |= MODIFIER_SYNTHETIC;
-							} else if ("package".equals(token)) { //$NON-NLS-1$
-								this.bits |= MODIFIER_PACKAGE;
-							} else if ("all".equals(token)) { //$NON-NLS-1$
-								this.bits |= MODIFIER_MASK;
-							} else if ("none".equals(token)) { //$NON-NLS-1$
-								// no bits to set
-								if ((this.bits & MODIFIER_MASK) != 0) {
-									System.err.println("none option cannot be used with other visibility check : " //$NON-NLS-1$
-											+ currentArg);
-								}
-							}
-						}
-						if (tokenCounter == 0) {
-							System.err.println("Unknown option : " + currentArg); //$NON-NLS-1$
-						}
-						continue;
-					}
-					if ("-verbose".equals(currentArg) || "-v".equals(currentArg)) { //$NON-NLS-1$ //$NON-NLS-2$
-						this.bits |= VERBOSE_MODE;
-						continue;
-					}
-					if ("-skipresourcefiles".equals(currentArg)) { //$NON-NLS-1$
-						this.bits &= ~RESOURCES_FILES;
-						continue;
-					}
-					System.err.println("Unknown option : " + currentArg); //$NON-NLS-1$
-					break;
-				case INPUT_MODE:
-					this.input = currentArg;
-					mode = DEFAULT_MODE;
-					break;
-				case OUTPUT_MODE:
-					this.output = currentArg;
-					mode = DEFAULT_MODE;
-			}
-		}
-		if (this.input == null || this.output == null) {
-			this.bits |= ABORT;
-			return;
-		}
-		File outputFile = new File(this.output);
-		if (!outputFile.exists()) {
-			// create the dir
-			if (!outputFile.mkdirs()) {
-				// could not create the output dir
-				this.bits |= ABORT;
-			}
-		} else if (!outputFile.isDirectory()) {
-			// output file must be a directory
-			this.bits |= ABORT;
-		}
-		if ((this.bits & (PROCESS_ARCHIVES | PROCESS_CLASS_FILES | PROCESS_ALL)) != 0) {
-			// add all by default
-			this.bits |= PROCESS_ALL;
-		}
-	}
-
-	/**
-	 * Performs the main processing of the converter
-	 */
-	private void process() {
-		if (shouldAbort()) {
-			printUsage();
-			return;
-		}
-		File root = new File(this.input);
-		if (root.isDirectory()) {
-			// process all entries
-			final boolean processSubDirectories = (this.bits & PROCESS_SUB) != 0;
-			File[] allFiles = Util.getAllFiles(root, new FileFilter() {
-				public boolean accept(File path) {
-					final String pathName = path.getAbsolutePath();
-					if ((Converter.this.bits & PROCESS_ALL) != 0) {
-						if (Util.isArchive(pathName) || Util.isClassFile(pathName)
-								|| (processSubDirectories && path.isDirectory())) {
-							return true;
-						}
-						if (path.isFile() && ((Converter.this.bits & RESOURCES_FILES) != 0)) {
-							return true;
-						}
-						if ((Converter.this.bits & VERBOSE_MODE) != 0) {
-							System.out.println("Skip resource file : " + pathName); //$NON-NLS-1$
-						}
-						return false;
-					}
-					if ((Converter.this.bits & PROCESS_CLASS_FILES) != 0) {
-						return Util.isClassFile(pathName) || (processSubDirectories && path.isDirectory());
-					}
-					if ((Converter.this.bits & PROCESS_ARCHIVES) != 0) {
-						return Util.isArchive(pathName) || (processSubDirectories && path.isDirectory());
-					}
-					return false;
-				}
-			});
-			if (allFiles == null)
-				return;
-			String rootAbsolutePath = root.getAbsolutePath();
-			for (int i = 0, max = allFiles.length; i < max; i++) {
-				File inputFile = allFiles[i];
-				File outputFile = new File(this.output, inputFile.getAbsolutePath()
-						.substring(rootAbsolutePath.length()));
-				processSingleEntry(inputFile.getAbsolutePath(), outputFile, this.bits);
-			}
-		} else {
-			File inputFile = new File(this.input);
-			File outputFile = new File(this.output, inputFile.getName());
-			processSingleEntry(this.input, outputFile, this.bits);
-		}
-	}
-
-	/**
-	 * Prints out the usage for the converter tool
-	 */
-	private void printUsage() {
-		String usage =
-			"-input [file or folder name] -output [folder name] [options]\n" + //$NON-NLS-1$
-			"\n" + //$NON-NLS-1$
-			"Required arguments:\n" + //$NON-NLS-1$
-			"-input: If a directory, -s, -classfiles and -archives are considered\n" +  //$NON-NLS-1$
-			"-output: directory where to put the converted files\n" +  //$NON-NLS-1$
-			"\n" + //$NON-NLS-1$
-			"Recognized options:\n" +  //$NON-NLS-1$
-			"-verbose, -v: verbose mode (default: off)\n" +  //$NON-NLS-1$
-			"-s : process all subdirectories (default: off)\n" +  //$NON-NLS-1$
-			"-all : process .class and archive files (default)\n" +  //$NON-NLS-1$
-			"-refs : preserve references (default: off)\n" +  //$NON-NLS-1$
-			"-classfiles : process only .class files\n" +  //$NON-NLS-1$
-			"-archives : process only archive files (.jar/.zip)\n" +  //$NON-NLS-1$
-			"-compress: compress resulting archives (default no)\n" +  //$NON-NLS-1$
-			"-keep:private,protected,public,package,synthetic,all,none (default all)\n" + //$NON-NLS-1$
-			"-skipresourcefiles (default: off)"; //$NON-NLS-1$
-		System.err.println(usage);
-	}
-
-	/**
-	 * Processes a single class file given its file name, the place to output the stub to and the 
-	 * flags
-	 * @param inputFileName the class file to convert
-	 * @param outputFile the output location for the new stub
-	 * @param flags the flags passed in when running the converter
-	 */
-	private static void processSingleEntry(String inputFileName, File outputFile, int flags) {
-		File parentFile = outputFile.getParentFile();
-		if (!parentFile.exists()) {
-			if (!parentFile.mkdirs()) {
-				System.err.println("Could not create " + outputFile); //$NON-NLS-1$
-				return;
-			}
-		}
-		if (Util.isArchive(inputFileName)) {
-			if ((flags & VERBOSE_MODE) != 0) {
-				System.out.println("Process " + inputFileName); //$NON-NLS-1$
-			}
-			ZipInputStream inputStream = null;
-			ZipOutputStream zipOutputStream = null;
-			try {
-				zipOutputStream = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(outputFile)));
-			} catch (FileNotFoundException e) {
-				ApiPlugin.log(e);
-			}
-			if (zipOutputStream == null) {
-				System.err.println("Could not create the output file : " + outputFile); //$NON-NLS-1$
-				return;
-			}
-			try {
-				inputStream = new ZipInputStream(new BufferedInputStream(new FileInputStream(inputFileName)));
-				processArchiveEntry(inputStream, zipOutputStream, flags);
-			} catch (IOException e) {
-				ApiPlugin.log(e);
-			} finally {
-				if (inputStream != null) {
-					try {
-						inputStream.close();
-					} catch (IOException e) {
-						// ignore
-					}
-				}
-				if ((flags & VERBOSE_MODE) != 0) {
-					System.out.println("Dumping " + outputFile); //$NON-NLS-1$
-				}
-				try {
-					zipOutputStream.flush();
-					zipOutputStream.close();
-				} catch (IOException e) {
-					// ignore
-				}
-			}
-		} else {
-			// input is a class file
-			InputStream inputStream = null;
-			byte[] bytes = null;
-			try {
-				if (Util.isClassFile(inputFileName)) {
-					if ((flags & VERBOSE_MODE) != 0) {
-						System.out.println("Process " + inputFileName); //$NON-NLS-1$
-					}
-					inputStream = new BufferedInputStream(new FileInputStream(inputFileName));
-					bytes = process(inputStream, flags);
-				} else if ((flags & RESOURCES_FILES) != 0) {
-					if ((flags & VERBOSE_MODE) != 0) {
-						System.out.println("Process resource file : " + inputFileName); //$NON-NLS-1$
-					}
-					inputStream = new BufferedInputStream(new FileInputStream(inputFileName));
-					bytes = Util.getInputStreamAsByteArray(inputStream, -1);
-				} else if ((flags & VERBOSE_MODE) != 0) {
-					System.out.println("Skip resource file : " + inputFileName); //$NON-NLS-1$
-				}
-
-			} catch (FileNotFoundException e) {
-				ApiPlugin.log(e);
-			} catch (IOException e) {
-				ApiPlugin.log(e);
-			} finally {
-				if (inputStream != null) {
-					try {
-						inputStream.close();
-					} catch (IOException e) {
-						ApiPlugin.log(e);
-					}
-				}
-			}
-			if (bytes != null) {
-				if ((flags & VERBOSE_MODE) != 0) {
-					System.out.println("Dumping " + outputFile); //$NON-NLS-1$
-				}
-				OutputStream outputStream = null;
-				try {
-					outputStream = new BufferedOutputStream(new FileOutputStream(outputFile));
-					outputStream.write(bytes);
-					outputStream.flush();
-					outputStream.close();
-				} catch (FileNotFoundException e) {
-					ApiPlugin.log(e);
-				} catch (IOException e) {
-					ApiPlugin.log(e);
-				} finally {
-					if (outputStream != null) {
-						try {
-							outputStream.close();
-						} catch (IOException e) {
-							// ignore
-						}
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Processes the given archive entry and places the stubs (in a new archive entry) to the specified
-	 * archive output stream using the given flags
-	 * @param inputStream
-	 * @param zipOutputStream
-	 * @param flags
-	 * @throws IOException
-	 */
-	private static void processArchiveEntry(ZipInputStream inputStream, ZipOutputStream zipOutputStream, int flags)
-			throws IOException {
-		byte[] bytes = null;
-		ZipEntry zipEntry = inputStream.getNextEntry();
-		while (zipEntry != null) {
-			String name = zipEntry.getName();
-			if (Util.isClassFile(name)) {
-				if ((flags & VERBOSE_MODE) != 0) {
-					System.out.println("Process entry : " + name); //$NON-NLS-1$
-				}
-				bytes = process(inputStream, flags);
-			} else if (Util.isArchive(name)) {
-				if ((flags & VERBOSE_MODE) != 0) {
-					System.out.println("Process entry : " + name); //$NON-NLS-1$
-				}
-				ZipInputStream zipInputStream = new ZipInputStream(new BufferedInputStream(inputStream));
-				ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
-				ZipOutputStream zipOutputStream2 = new ZipOutputStream(new BufferedOutputStream(byteArrayOutputStream));
-				processArchiveEntry(zipInputStream, zipOutputStream2, flags);
-				zipOutputStream2.flush();
-				zipOutputStream2.close();
-				bytes = byteArrayOutputStream.toByteArray();
-			} else if ((flags & RESOURCES_FILES) != 0) {
-				if ((flags & VERBOSE_MODE) != 0) {
-					System.out.println("Process entry : " + name); //$NON-NLS-1$
-				}
-				bytes = Util.getInputStreamAsByteArray(inputStream, (int) zipEntry.getSize());
-			} else if ((flags & VERBOSE_MODE) != 0) {
-				System.out.println("Skip entry : " + name); //$NON-NLS-1$
-			}
-			if (bytes != null) {
-				if ((flags & VERBOSE_MODE) != 0) {
-					System.out.println("Dump entry : " + name); //$NON-NLS-1$
-				}
-				writeZipFileEntry(zipOutputStream, name, bytes, CRC32, flags);
-			}
-			inputStream.closeEntry();
-			zipEntry = inputStream.getNextEntry();
-		}
-	}
-
-	/**
-	 * Processes the given input stream with the given flags
-	 * @param inputStream the class file as an input stream
-	 * @param flags the flags 
-	 * @return a byte array representing the new stub
-	 * @throws IOException
-	 */
-	private static byte[] process(InputStream inputStream, int flags) throws IOException {
-		byte[] contents = Util.getInputStreamAsByteArray(inputStream, -1);
-		ClassReader classReader = new ClassReader(contents);
-		ClassWriter classWriter = new ClassWriter(0);
-		ClassAdapter classWriter2 =  new LineNumberMergerClassAdapter(classWriter);
-		StubClassAdapter visitor = new StubClassAdapter(classWriter2, flags);
-		classReader.accept(visitor, ClassReader.SKIP_FRAMES);
-		if (visitor.isStub()) {
-			// return original bytes unmodified
-			return contents;
-		}
-		if (visitor.shouldIgnore()) {
-			return null;
-		}
-		return classWriter.toByteArray();
-	}
-
-	private boolean shouldAbort() {
-		return (this.bits & ABORT) != 0;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/ApiSearchResult.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/ApiSearchResult.java
deleted file mode 100644
index 2314d4c..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/ApiSearchResult.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.search;
-
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchResult;
-import org.eclipse.pde.api.tools.internal.provisional.search.IReference;
-
-/**
- * Search result implementation.
- * 
- * @since 1.0
- */
-public class ApiSearchResult implements IApiSearchResult {
-
-	/**
-	 * Search condition
-	 */
-	private IApiSearchCriteria fCondition;
-	
-	/**
-	 * Matching references
-	 */
-	private IReference[] fReferences;
-	
-	/**
-	 * Constructs a new search result.
-	 * 
-	 * @param condition
-	 * @param references
-	 */
-	public ApiSearchResult(IApiSearchCriteria condition, IReference[] references) {
-		fCondition = condition;
-		fReferences = references;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchResult#getReferences()
-	 */
-	public IReference[] getReferences() {
-		return fReferences;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchResult#getSearchCriteria()
-	 */
-	public IApiSearchCriteria getSearchCriteria() {
-		return fCondition;
-	}
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/ClassFileScanner.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/ClassFileScanner.java
deleted file mode 100644
index 90d3458..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/ClassFileScanner.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.search;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.search.IReference;
-import org.eclipse.pde.api.tools.internal.provisional.search.ReferenceModifiers;
-import org.objectweb.asm.ClassReader;
-
-/**
- * This class is the scanner that drives the ASM class visitor. Once scanned
- * the {@link IReference} objects can be retrieved from this scanner. All {@link IReference}
- * objects are unresolved.
- * 
- * @since 1.0.0
- */
-public class ClassFileScanner {
-
-	private List references= null;
-	/**
-	 * Singleton instance
-	 */
-	private static ClassFileScanner scanner = null;
-	
-	/**
-	 * Constructor
-	 * Cannot be instantiated
-	 */
-	private ClassFileScanner() {}
-	
-	/**
-	 * returns the class file scanner singleton
-	 * @return the class file scanner
-	 */
-	public static ClassFileScanner newScanner() {
-		if(scanner == null) {
-			scanner = new ClassFileScanner();
-		}
-		return scanner;
-	}
-	
-	/**
-	 * Returns the list of references built by scanning an {@link IClassFile}. The list of references is discarded
-	 * once this method is called.
-	 * If the scan method has never been called an empty list is returned.
-	 * @return the listing of {@link IReference} objects or {@link Collections#EMPTY_LIST}, never <code>null</code>
-	 */
-	public List getReferenceListing() {
-		if (this.references == null || this.references.size() == 0) {
-			return Collections.EMPTY_LIST;
-		}
-		ArrayList result = new ArrayList(this.references.size());
-		result.addAll(this.references);
-		this.references.clear();
-		return result;
-	}
-
-	/**
-	 * Scans the specified {@link IClassFile} and build the set of references
-	 * @param component the component we are scanning the class file from
-	 * @param classfile the class file to scan
-	 * @param referenceKinds kinds of references to extract as defined by {@link ReferenceModifiers}
-	 * @throws CoreException 
-	 */
-	public void scan(IApiComponent component, IClassFile classfile, int referenceKinds) throws CoreException {
-		if (this.references == null || this.references == Collections.EMPTY_LIST) {
-			this.references = new ArrayList(150);
-		} else {
-			references.clear();
-		}
-		ClassReader reader = new ClassReader(classfile.getContents());
-		reader.accept(new ClassFileVisitor(component, references, referenceKinds), ClassReader.SKIP_FRAMES);
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/ClassFileVisitor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/ClassFileVisitor.java
deleted file mode 100644
index f494493..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/ClassFileVisitor.java
+++ /dev/null
@@ -1,1130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.search;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.SortedSet;
-import java.util.Stack;
-import java.util.TreeSet;
-
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IFieldDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMemberDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.search.ILocation;
-import org.eclipse.pde.api.tools.internal.provisional.search.IReference;
-import org.eclipse.pde.api.tools.internal.provisional.search.ReferenceModifiers;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.objectweb.asm.ClassAdapter;
-import org.objectweb.asm.FieldVisitor;
-import org.objectweb.asm.Label;
-import org.objectweb.asm.MethodAdapter;
-import org.objectweb.asm.MethodVisitor;
-import org.objectweb.asm.Opcodes;
-import org.objectweb.asm.Type;
-import org.objectweb.asm.signature.SignatureReader;
-import org.objectweb.asm.signature.SignatureVisitor;
-import org.objectweb.asm.tree.ClassNode;
-
-/**
- * Visitor for class files
- *
- * @since 1.0.0
- */
-public class ClassFileVisitor extends ClassAdapter {
-
-	/**
-	 * Constant used for controlling tracing in the visitor
-	 */
-	private static boolean DEBUG = Util.DEBUG;
-
-	/**
-	 * Method used for initializing tracing in the visitor
-	 */
-	public static void setDebug(boolean debugValue) {
-		DEBUG = debugValue || Util.DEBUG;
-	}
-
-	/**
-	 * A visitor for visiting java 5+ signatures
-	 * TODO this visitor does not currently visit annotations
-	 *
-	 * ClassSignature = (visitFormalTypeParameter visitClassBound? visitInterfaceBound* )* (visitSuperClass visitInterface* )
-	 * MethodSignature = (visitFormalTypeParameter visitClassBound? visitInterfaceBound* )* (visitParameterType visitReturnType visitExceptionType* )
-	 * TypeSignature = visitBaseType | visitTypeVariable | visitArrayType | (visitClassType visitTypeArgument* (visitInnerClassType visitTypeArgument* )* visitEnd</tt> ) )
-	 */
-	class ClassFileSignatureVisitor implements SignatureVisitor {
-
-		protected int kind = -1;
-		protected int originalkind = -1;
-		protected int argumentcount = 0;
-		protected int type = 0;
-		protected String signature = null;
-		protected String name = null;
-		protected List references;
-
-		public ClassFileSignatureVisitor() {
-			this.references = new ArrayList();
-		}
-
-		/**
-		 * Resets the visitor to its initial state.
-		 * This method should be called after processing is done with the visitor
-		 */
-		protected void reset() {
-			//do not reset argument count, as it is needed once the signature visitor is done
-			this.kind = -1;
-			this.originalkind = -1;
-			this.name = null;
-			this.signature = null;
-			this.type = 0;
-			this.references.clear();
-		}
-
-		/**
-		 * Processes the type specified by the name for the current signature context.
-		 * The kind flag is set to a parameterized type as subsequent calls to this method without visiting other nodes only occurs
-		 * when we are processing parameterized types of generic declarations
-		 * @param name the name of the type
-		 */
-		protected void processType(String name) {
-			Type type = ClassFileVisitor.this.resolveType(Type.getObjectType(name).getDescriptor());
-			if(type != null) {
-				String tname = type.getClassName();
-				if(tname.equals("E") || tname.equals("T")) {  //$NON-NLS-1$//$NON-NLS-2$
-					type = Type.getObjectType("java.lang.Object"); //$NON-NLS-1$
-					tname = type.getClassName();
-				}
-				if(ClassFileVisitor.this.consider(tname) && this.kind != -1) {
-					if(this.name != null && this.signature != null) {
-						IReferenceTypeDescriptor target = Util.getType(tname);
-						target = target.getPackage().getType(target.getName(), this.signature);
-						this.references.add(new Reference(new Location(ClassFileVisitor.this.fComponent, ClassFileVisitor.this.getMember()),
-								new Location(null, target),
-								this.kind));
-					}
-				}
-			}
-			this.kind = this.originalkind;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.signature.SignatureVisitor#visitClassType(java.lang.String)
-		 */
-		public void visitClassType(String name) {
-			this.processType(name);
-		}
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.signature.SignatureVisitor#visitFormalTypeParameter(java.lang.String)
-		 */
-		public void visitFormalTypeParameter(String name) {
-			if(this.type != TYPE) {
-				this.processType(name);
-			}
-		}
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.signature.SignatureVisitor#visitTypeVariable(java.lang.String)
-		 */
-		public void visitTypeVariable(String name) {
-			this.processType(name);
-		}
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.signature.SignatureVisitor#visitInnerClassType(java.lang.String)
-		 */
-		public void visitInnerClassType(String name) {
-			this.processType(name);
-		}
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.signature.SignatureVisitor#visitParameterType()
-		 */
-		public SignatureVisitor visitParameterType() {
-			this.argumentcount++;
-			this.kind = ReferenceModifiers.REF_PARAMETER;
-			return this;
-		}
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.signature.SignatureVisitor#visitInterface()
-		 */
-		public SignatureVisitor visitInterface() {
-			this.kind = ReferenceModifiers.REF_IMPLEMENTS;
-			return this;
-		}
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.signature.SignatureVisitor#visitExceptionType()
-		 */
-		public SignatureVisitor visitExceptionType() {
-			this.kind = ReferenceModifiers.REF_THROWS;
-			return this;
-		}
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.signature.SignatureVisitor#visitArrayType()
-		 */
-		public SignatureVisitor visitArrayType() {
-			return this;
-		}
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.signature.SignatureVisitor#visitReturnType()
-		 */
-		public SignatureVisitor visitReturnType() {
-			this.kind = ReferenceModifiers.REF_RETURNTYPE;
-			return this;
-		}
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.signature.SignatureVisitor#visitClassBound()
-		 */
-		public SignatureVisitor visitClassBound() {
-			this.kind = ReferenceModifiers.REF_PARAMETERIZED_TYPEDECL;
-			return this;
-		}
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.signature.SignatureVisitor#visitInterfaceBound()
-		 */
-		public SignatureVisitor visitInterfaceBound() {
-			this.kind = ReferenceModifiers.REF_PARAMETERIZED_TYPEDECL;
-			return this;
-		}
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.signature.SignatureVisitor#visitSuperclass()
-		 */
-		public SignatureVisitor visitSuperclass() {
-			this.kind = ReferenceModifiers.REF_EXTENDS;
-			return this;
-		}
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.signature.SignatureVisitor#visitTypeArgument(char)
-		 */
-		public SignatureVisitor visitTypeArgument(char wildcard) {
-			return this;
-		}
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.signature.SignatureVisitor#visitEnd()
-		 */
-		public void visitEnd() {}
-
-		public void visitBaseType(char descriptor) {
-			switch(descriptor) {
-				case 'J' :
-				case 'D' :
-					argumentcount += 2;
-					break;
-				default :
-					this.argumentcount++;
-			}
-		}
-		public void visitTypeArgument() {}
-	}
-
-	/**
-	 * Visitor used to visit the methods of a type
-	 * [ visitCode ( visitFrame | visit<i>X</i>Insn | visitLabel | visitTryCatchBlock | visitLocalVariable | visitLineNumber)* visitMaxs ] visitEnd
-	 */
-	class ClassFileMethodVisitor extends MethodAdapter {
-		int argumentcount = 0;
-		LinePositionTracker linePositionTracker;
-		/**
-		 * Most recent string literal encountered. Used to infer Class.forName("...") references.
-		 */
-		String stringLiteral;
-		int lastLineNumber;
-
-		LocalLineNumberMarker localVariableMarker;
-
-		HashMap labelsToLocalMarkers;
-
-		/**
-		 * Constructor
-		 * @param mv
-		 */
-		public ClassFileMethodVisitor(MethodVisitor mv, String name, int argumentcount) {
-			super(mv);
-			this.argumentcount = argumentcount;
-			this.linePositionTracker = new LinePositionTracker();
-			this.lastLineNumber = -1;
-			this.labelsToLocalMarkers = new HashMap();
-		}
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitEnd()
-		 */
-		public void visitEnd() {
-			this.argumentcount = 0;
-			ClassFileVisitor.this.exitMember();
-			this.linePositionTracker.computeLineNumbers();
-			this.labelsToLocalMarkers = null;
-		}
-		
-		public void visitVarInsn(int opcode, int var) {
-			switch(opcode) {
-				case Opcodes.ASTORE :
-					if (this.lastLineNumber != -1) {
-						this.localVariableMarker = new LocalLineNumberMarker(this.lastLineNumber, var);
-					}
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitFieldInsn(int, java.lang.String, java.lang.String, java.lang.String)
-		 */
-		public void visitFieldInsn(int opcode, String owner, String name, String desc) {
-			if(opcode == Opcodes.PUTSTATIC || opcode == Opcodes.PUTFIELD || opcode == Opcodes.GETSTATIC || opcode == Opcodes.GETFIELD) {
-				IReference reference = ClassFileVisitor.this.addFieldReference(Type.getObjectType(owner), name, (opcode == Opcodes.PUTFIELD ? ReferenceModifiers.REF_PUTFIELD : ReferenceModifiers.REF_PUTSTATIC));
-				if (reference != null) {
-					this.linePositionTracker.addLocation(reference.getSourceLocation());
-				}
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitTryCatchBlock(org.objectweb.asm.Label, org.objectweb.asm.Label, org.objectweb.asm.Label, java.lang.String)
-		 */
-		public void visitTryCatchBlock(Label start, Label end, Label handler, String type) {
-			if(type != null) {
-				Type ctype = Type.getObjectType(type);
-				IReference reference = ClassFileVisitor.this.addTypeReference(ctype, ReferenceModifiers.REF_CATCHEXCEPTION);
-				if (reference != null) {
-					ILocation sourceLocation = reference.getSourceLocation();
-					this.linePositionTracker.addCatchLabelInfos(sourceLocation, handler);
-					this.linePositionTracker.addLocation(sourceLocation);
-				}
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitLabel(Label)
-		 */
-		public void visitLabel(Label label) {
-			this.linePositionTracker.addLabel(label);
-			if (this.localVariableMarker != null) {
-				this.localVariableMarker.label = label;
-				Object object = this.labelsToLocalMarkers.get(label);
-				if (object != null) {
-					// add in the list
-					if (object instanceof List) {
-						((List) object).add(this.localVariableMarker);
-					} else {
-						List list = new ArrayList();
-						list.add(object);
-						list.add(this.localVariableMarker);
-						this.labelsToLocalMarkers.put(label, list);
-					}
-				} else {
-					this.labelsToLocalMarkers.put(label, this.localVariableMarker);
-				}
-				this.localVariableMarker = null;
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitMethodInsn(int, java.lang.String, java.lang.String, java.lang.String)
-		 */
-		public void visitMethodInsn(int opcode, String owner, String name, String desc) {
-			Type declaringType = Type.getObjectType(owner);
-			int kind = -1;
-			switch(opcode){
-				case Opcodes.INVOKESPECIAL: {
-					kind = ("<init>".equals(name) ? ReferenceModifiers.REF_CONSTRUCTORMETHOD : ReferenceModifiers.REF_SPECIALMETHOD); //$NON-NLS-1$
-					if (kind == ReferenceModifiers.REF_CONSTRUCTORMETHOD) {
-						IReference reference = ClassFileVisitor.this.addTypeReference(declaringType, ReferenceModifiers.REF_INSTANTIATE);
-						if (reference != null) {
-							this.linePositionTracker.addLocation(reference.getSourceLocation());
-						}
-					}
-					break;
-				}
-				case Opcodes.INVOKESTATIC: {
-					kind = ReferenceModifiers.REF_STATICMETHOD;
-					// check for reference to a class literal
-					if (name.equals("forName")) { //$NON-NLS-1$
-						if (ClassFileVisitor.this.processName(owner).equals("java.lang.Class")) { //$NON-NLS-1$
-							if (this.stringLiteral != null) {
-								Type classLiteral = Type.getObjectType(this.stringLiteral);
-								IReference reference = ClassFileVisitor.this.addTypeReference(classLiteral, ReferenceModifiers.REF_CONSTANTPOOL);
-								if (reference != null) {
-									this.linePositionTracker.addLocation(reference.getSourceLocation());
-								}
-							}
-						}
-					}
-					break;
-				}
-				case Opcodes.INVOKEVIRTUAL: {
-					kind = ReferenceModifiers.REF_VIRTUALMETHOD;
-					break;
-				}
-				case Opcodes.INVOKEINTERFACE: {
-					kind = ReferenceModifiers.REF_INTERFACEMETHOD;
-					break;
-				}
-			}
-			if(kind != -1) {
-				IReference reference = ClassFileVisitor.this.addMethodReference(declaringType, name, desc, kind);
-				if (reference != null) {
-					this.linePositionTracker.addLocation(reference.getSourceLocation());
-				}
-			}
-			this.stringLiteral = null;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitMultiANewArrayInsn(java.lang.String, int)
-		 */
-		public void visitMultiANewArrayInsn(String desc, int dims) {
-			Type type = this.getTypeFromDescription(desc);
-			IReference reference = ClassFileVisitor.this.addTypeReference(type, ReferenceModifiers.REF_ARRAYALLOC);
-			if (reference != null) {
-				this.linePositionTracker.addLocation(reference.getSourceLocation());
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitLineNumber(int, org.objectweb.asm.Label)
-		 */
-		public void visitLineNumber(int line, Label start) {
-			this.lastLineNumber = line;
-			this.linePositionTracker.addLineInfo(line, start);
-		}
-
-		/**
-		 * Creates a type from a type description. Works around bugs creating
-		 * types from array type signatures in ASM.
-		 *
-		 * @param desc signature
-		 * @return Type
-		 */
-		private Type getTypeFromDescription(String desc) {
-			while (desc.charAt(0) == '[') {
-				desc = desc.substring(1);
-			}
-			Type type = null;
-			if (desc.length() == 1 && Signature.getTypeSignatureKind(desc) == Signature.BASE_TYPE_SIGNATURE) {
-				type = Type.getType(desc);
-			} else {
-				if (desc.endsWith(";")) { //$NON-NLS-1$
-					type = Type.getType(desc);
-				} else {
-					type = Type.getObjectType(desc);
-				}
-			}
-			return type;
-		}
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitTypeInsn(int, java.lang.String)
-		 */
-		public void visitTypeInsn(int opcode, String desc) {
-			Type type = this.getTypeFromDescription(desc);
-			if(type.getSort() == Type.OBJECT) {
-				int kind = -1;
-				//we can omit the NEW case as it is caught by the constructor call
-				switch(opcode) {
-					case Opcodes.ANEWARRAY: {
-						kind = ReferenceModifiers.REF_ARRAYALLOC;
-						break;
-					}
-					case Opcodes.CHECKCAST: {
-						kind = ReferenceModifiers.REF_CHECKCAST;
-						break;
-					}
-					case Opcodes.INSTANCEOF: {
-						kind = ReferenceModifiers.REF_INSTANCEOF;
-						break;
-					}
-				}
-				if(kind != -1) {
-					IReference reference = ClassFileVisitor.this.addTypeReference(type, kind);
-					if (reference != null) {
-						this.linePositionTracker.addLocation(reference.getSourceLocation());
-					}
-				}
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitLocalVariable(java.lang.String, java.lang.String, java.lang.String, org.objectweb.asm.Label, org.objectweb.asm.Label, int)
-		 */
-		public void visitLocalVariable(String name, String desc, String signature, Label start, Label end, int index) {
-			if (desc.length() == 1) {
-				// base type
-				return;
-			}
-			if(index > this.argumentcount) {
-				Object object = this.labelsToLocalMarkers.get(start);
-				int lineNumber = -1;
-				if (object != null) {
-					if (object instanceof List) {
-						// list of potential localMarker
-						// iterate the list to find the one that matches the index
-						List markersList = (List) object;
-						LocalLineNumberMarker removeMarker = null;
-						loop: for(Iterator iterator = markersList.iterator(); iterator.hasNext(); ) {
-							LocalLineNumberMarker marker = (LocalLineNumberMarker) iterator.next();
-							if (marker.varIndex == index) {
-								lineNumber = marker.lineNumber;
-								removeMarker = marker;
-								break loop;
-							}
-						}
-						if (removeMarker != null) {
-							markersList.remove(removeMarker);
-							if (markersList.isEmpty()) {
-								this.labelsToLocalMarkers.remove(start);
-							}
-						}
-					} else {
-						// single marker
-						LocalLineNumberMarker marker = (LocalLineNumberMarker) object;
-						if (marker.varIndex == index) {
-							lineNumber = marker.lineNumber;
-							this.labelsToLocalMarkers.remove(start);
-						}
-					}
-				}
-				if (lineNumber == -1) return;
-				if(signature != null) {
-					List references = ClassFileVisitor.this.processSignature(name, signature, ReferenceModifiers.REF_PARAMETERIZED_VARIABLE, METHOD);
-					for (Iterator iterator = references.iterator(); iterator.hasNext();) {
-						IReference reference = (IReference) iterator.next();
-						ILocation sourceLocation = reference.getSourceLocation();
-						sourceLocation.setLineNumber(lineNumber);
-						ILocation targetLocation = reference.getReferencedLocation();
-						targetLocation.setLineNumber(lineNumber);
-					}
-				} else {
-					Type type = Type.getType(desc);
-					if(type.getSort() == Type.OBJECT) {
-						IReference reference = ClassFileVisitor.this.addTypeReference(type, ReferenceModifiers.REF_LOCALVARIABLEDECL);
-						if (reference != null) {
-							ILocation sourceLocation = reference.getSourceLocation();
-							sourceLocation.setLineNumber(lineNumber);
-						}
-					}
-				}
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.objectweb.asm.MethodAdapter#visitLdcInsn(java.lang.Object)
-		 */
-		public void visitLdcInsn(Object cst) {
-			if(cst instanceof Type) {
-				Type type = (Type) cst;
-				IReference reference = ClassFileVisitor.this.addTypeReference(type, ReferenceModifiers.REF_CONSTANTPOOL);
-				if (reference != null) {
-					this.linePositionTracker.addLocation(reference.getSourceLocation());
-				}
-			} else if (cst instanceof String) {
-				this.stringLiteral = (String) cst;
-			}
-		}
-		
-		
-	}
-
-	static class LinePositionTracker {
-		List labelsAndLocations;
-		SortedSet lineInfos;
-		List catchLabelInfos;
-		HashMap lineMap;
-
-		public LinePositionTracker() {
-			this.labelsAndLocations = new ArrayList();
-			this.lineInfos = new TreeSet();
-			this.catchLabelInfos = new ArrayList();
-			this.lineMap = new HashMap();
-		}
-
-		void addLocation(ILocation location) {
-			this.labelsAndLocations.add(location);
-		}
-
-		void addLineInfo(int line, Label label) {
-			this.lineInfos.add(new LineInfo(line, label));
-			this.lineMap.put(label, new Integer(line));
-		}
-
-		void addCatchLabelInfos(ILocation location, Label label) {
-			this.catchLabelInfos.add(new LabelInfo(location, label));
-		}
-
-		void addLabel(Label label) {
-			this.labelsAndLocations.add(label);
-		}
-		
-		public void computeLineNumbers() {
-
-			if (this.lineInfos.size() < 1 || this.labelsAndLocations.size() < 1) {
-				// nothing to do
-				return;
-			}
-			Iterator lineInfosIterator = this.lineInfos.iterator();
-			LineInfo firstLineInfo = (LineInfo) lineInfosIterator.next();
-			int currentLineNumber = firstLineInfo.line;
-
-			List remainingCatchLabelInfos = new ArrayList();
-			for (Iterator iterator = this.catchLabelInfos.iterator(); iterator.hasNext();) {
-				LabelInfo catchLabelInfo = (LabelInfo) iterator.next();
-				Integer lineValue = (Integer) this.lineMap.get(catchLabelInfo.label);
-				if (lineValue != null) {
-					catchLabelInfo.location.setLineNumber(lineValue.intValue());
-				} else {
-					remainingCatchLabelInfos.add(catchLabelInfo);
-				}
-			}
-			// Iterate over List of Labels and SourceLocations.
-			List computedEntries = new ArrayList();
-			for (Iterator iterator = this.labelsAndLocations.iterator(); iterator.hasNext();) {
-				Object current = iterator.next();
-				if (current instanceof Label) {
-					// label
-					Integer lineValue = (Integer) this.lineMap.get(current);
-					if (lineValue != null) {
-						computedEntries.add(new LineInfo(lineValue.intValue(), (Label) current));
-					} else {
-						computedEntries.add(current);
-					}
-				} else {
-					// location
-					computedEntries.add(current);
-				}
-			}
-			List remaingEntriesTemp;
-			for (Iterator iterator = computedEntries.iterator(); iterator.hasNext();) {
-				Object current = iterator.next();
-				if (current instanceof Label) {
-					// try to set the line number for remaining catch labels
-					if (remainingCatchLabelInfos != null) {
-						remaingEntriesTemp = new ArrayList();
-						loop: for (Iterator catchLabelInfosIterator = remainingCatchLabelInfos.iterator(); catchLabelInfosIterator.hasNext();) {
-							LabelInfo catchLabelInfo = (LabelInfo) catchLabelInfosIterator.next();
-							if (!current.equals(catchLabelInfo.label)) {
-								remaingEntriesTemp.add(catchLabelInfo);
-								continue loop;
-							}
-							catchLabelInfo.location.setLineNumber(currentLineNumber);
-						}
-						if (remaingEntriesTemp.size() == 0) {
-							remainingCatchLabelInfos = null;
-						} else {
-							remainingCatchLabelInfos = remaingEntriesTemp;
-						}
-					}
-				} else if (current instanceof ILocation) {
-					ILocation location = (ILocation) current;
-					if (location.getLineNumber() == -1) {
-						((ILocation) current).setLineNumber(currentLineNumber);
-					} else {
-						currentLineNumber = location.getLineNumber();
-					}
-				} else if (current instanceof LineInfo) {
-					LineInfo lineInfo = (LineInfo) current;
-					currentLineNumber = lineInfo.line;
-				}
-			}
-		}
-	}
-
-	static class LabelInfo {
-		public ILocation location;
-		public Label label;
-
-		public LabelInfo(ILocation location, Label label) {
-			this.location = location;
-			this.label = label;
-		}
-
-		public String toString() {
-			StringBuffer buffer = new StringBuffer();
-			buffer.append('(').append(this.label).append(',').append(this.location).append(')');
-			return String.valueOf(buffer);
-		}
-	}
-
-	static class LineInfo implements Comparable {
-		int line;
-		Label label;
-
-		LineInfo(int line, Label label) {
-			this.line = line;
-			this.label = label;
-		}
-
-		public int compareTo(Object o) {
-			return this.line - ((LineInfo) o).line;
-		}
-
-		public String toString() {
-			StringBuffer buffer = new StringBuffer();
-			buffer.append('(').append(this.line).append(',').append(this.label).append(')');
-			return String.valueOf(buffer);
-		}
-	}
-
-	static class LocalLineNumberMarker {
-		int lineNumber;
-		int varIndex;
-		Label label;
-		
-		public LocalLineNumberMarker(int line, int varIndex) {
-			this.lineNumber = line;
-			this.varIndex = varIndex;
-		}
-		public boolean equals(Object obj) {
-			LocalLineNumberMarker marker = (LocalLineNumberMarker) obj;
-			return this.lineNumber == marker.lineNumber && this.varIndex == marker.varIndex;
-		}
-
-		public int hashCode() {
-			return this.varIndex;
-		}
-	}
-
-	private List collector = null;
-	private IApiComponent fComponent = null;
-	String classname = null;
-
-	/**
-	 * Current type being visited.
-	 */
-	private IReferenceTypeDescriptor fType;
-
-	/**
-	 * Stack of members being visited. When a member is entered its
-	 * element descriptor is pushed onto the stack. When a member
-	 * is exited, the stack is popped.
-	 */
-	private Stack fMemberStack = new Stack();
-
-	/**
-	 * Stack of super types of types being visited. When a type is
-	 * entered, its super type is pushed onto the stack. When a type
-	 * is exited, the stack is popped.
-	 */
-	private Stack fSuperStack = new Stack();
-
-	/**
-	 * Whether to extract references to elements within the classfile
-	 * being scanned.
-	 */
-	private boolean fIncludeLocalRefs = false;
-	
-	/**
-	 * Bit mask of {@link ReferenceModifiers} to extract.
-	 */
-	private int fReferenceKinds = 0;
-
-	/**
-	 * Bit mask that determines if we need to visit members
-	 */
-	private static final int VISIT_MEMBERS_MASK = 
-		ReferenceModifiers.MASK_REF_ALL ^
-			(ReferenceModifiers.REF_EXTENDS | ReferenceModifiers.REF_IMPLEMENTS);
-	
-	private boolean fIsVisitMembers = false;
-	
-	/**
-	 * Current field being visited, or <code>null</code> (when
-	 * not within a field).
-	 */
-	private ClassFileSignatureVisitor signaturevisitor = new ClassFileSignatureVisitor();
-	private static int TYPE = 0, FIELD = 1, METHOD = 2;
-
-	/**
-	 * Constructor
-	 * @param component the component this scanned class file resides in
-	 * while visiting the class
-	 * @param collector the listing of references to annotate from this pass
-	 * @param referenceKinds kinds of references to extract as defined by {@link ReferenceModifiers}
-	 */
-	public ClassFileVisitor(IApiComponent component, List collector, int referenceKinds) {
-		super(new ClassNode());
-		this.fComponent = component;
-		this.collector = collector;
-		fReferenceKinds = referenceKinds;
-		fIsVisitMembers = (VISIT_MEMBERS_MASK & fReferenceKinds) > 0; 
-	}
-
-	/**
-	 * Returns whether to consider a reference to the specified type.
-	 * Configured by setting to include references within the same
-	 * class file.
-	 *
-	 * @param owner
-	 * @return true if considered, false otherwise
-	 */
-	protected boolean consider(String owner) {
-		if (this.fIncludeLocalRefs) {
-			return true;
-		}
-		return !(this.classname.equals(owner) || this.classname.startsWith(owner) || "<clinit>".equals(owner) || "this".equals(owner)); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * Returns whether the specified reference to the target element should be
-	 * considered when extracting references. Configured by setting on whether
-	 * to include references within the same class file.
-	 *
-	 * @param refKind kind of reference
-	 * @param element element
-	 * @return true if references should be considered
-	 */
-	protected boolean consider(int refKind, IMemberDescriptor element) {
-		if (this.fIncludeLocalRefs) {
-			return true;
-		}
-		if (element.getElementType() == IElementDescriptor.T_REFERENCE_TYPE) {
-			if (((IReferenceTypeDescriptor)element).isAnonymous()) {
-				// don't consider references to anonymous types
-				return false;
-			}
-		} else {
-			IReferenceTypeDescriptor enclosingType = element.getEnclosingType();
-			if (enclosingType.isAnonymous()) {
-				// don't consider references to elements in an anonymous type
-				return false;
-			}
-		}
-		if (refKind == ReferenceModifiers.REF_VIRTUALMETHOD || refKind == ReferenceModifiers.REF_OVERRIDE) {
-			return true;
-		}
-		IElementDescriptor temp = element;
-		while (temp.getElementType() != IElementDescriptor.T_PACKAGE) {
-			if (this.fType.equals(temp)) {
-				return true;
-			}
-			temp = temp.getParent();
-		}
-		IReferenceTypeDescriptor enclosing = this.fType.getEnclosingType();
-		while (enclosing != null) {
-			if (element.equals(enclosing)) {
-				return false;
-			}
-			enclosing = enclosing.getEnclosingType();
-		}
-		return true;
-	}
-
-	/**
-	 * Returns the full internal name (if available) from the given simple name.
-	 * The returned name has been modified to be '.' separated
-	 * @param name
-	 * @return
-	 */
-	protected String processName(String name) {
-		String newname = name;
-		Type type = Type.getObjectType(name);
-		if(type != null && type.getSort() == Type.OBJECT) {
-			newname = type.getInternalName();
-		}
-		return newname.replaceAll("/", "."); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * Adds a reference to the given type from the current member. Discards
-	 * the reference if the type corresponds to the class file being scanned
-	 * or if the type is a primitive type.
-	 *
-	 * @param type referenced type
-	 * @param linenumber line number where referenced
-	 * @param kind kind of reference
-	 * @return reference added, or <code>null</code> if none
-	 */
-	protected IReference addTypeReference(Type type, int kind) {
-		Type rtype = this.resolveType(type.getDescriptor());
-		if(rtype != null) {
-			IReferenceTypeDescriptor target = Util.getType(rtype.getClassName());
-			return this.addReference(target, kind);
-		}
-		return null;
-	}
-
-	/**
-	 * Adds a reference to the given field from the current member. Discards
-	 * the reference if the field is defined in the class file being scanned.
-	 *
-	 * @param declaringType type declaring the field being referenced
-	 * @param name of the field being referenced
-	 * @param linenumber line number where referenced
-	 * @param kind kind of reference
-	 * @return reference added, or <code>null</code> if none
-	 */
-	protected IReference addFieldReference(Type declaringType, String name, int kind) {
-		Type rtype = this.resolveType(declaringType.getDescriptor());
-		if(rtype != null) {
-			IReferenceTypeDescriptor target = Util.getType(rtype.getClassName());
-			return this.addReference(target.getField(name), kind);
-		}
-		return null;
-	}
-
-	/**
-	 * Adds a reference to the given method from the current member. Discards
-	 * the reference if the method is defined in the class file being scanned.
-	 *
-	 * @param declaringType type declaring the method (but could be a virtual lookup)
-	 * @param name of the method being referenced
-	 * @param signature signature of the method
-	 * @param linenumber line number where referenced
-	 * @param kind kind of reference
-	 * @return reference added, or <code>null</code> if none
-	 */
-	protected IReference addMethodReference(Type declaringType, String name, String signature, int kind) {
-		Type rtype = this.resolveType(declaringType.getDescriptor());
-		if(rtype != null) {
-			IReferenceTypeDescriptor target = Util.getType(rtype.getClassName());
-			return this.addReference(target.getMethod(name, signature), kind);
-		}
-		return null;
-	}
-
-	/**
-	 * Adds the given method declaration as a potential reference to an
-	 * overridden method.
-	 *
-	 * @param method method declared
-	 * @return reference added, or <code>null</code> if none
-	 */
-	protected IReference addMethodDeclaration(IMethodDescriptor method) {
-		return this.addReference(method, ReferenceModifiers.REF_OVERRIDE);
-	}
-
-	/**
-	 * Adds a reference to the given target member from the given line number
-	 * in the class file being scanned. If the target member is contained
-	 * in the class file being scanned it is discarded based on the
-	 * setting to include local references.
-	 *
-	 * @param member the target member being referenced
-	 * @param linenumber line number the reference was made from
-	 * @param kind the kind of reference
-	 * @param reference added, or <code>null</code> if none
-	 */
-	protected IReference addReference(IMemberDescriptor target, int kind) {
-		if(this.consider(kind, target)) {
-			Reference ref = new Reference(
-				new Location(this.fComponent, this.getMember()),
-				new Location(null, target),
-				kind);
-			this.collector.add(ref);
-			return ref;
-		}
-		return null;
-	}
-
-	/**
-	 * Processes the member signature from the specified type with the given signature and kind.
-	 * A member can be either a type, method, field or local variable
-	 *
-	 * @param name the name of the member to process
-	 * @param signature the signature of the member to process
-	 * @param kind the kind
-	 * @param type the type of member wanting to use the visitor
-	 *
-	 * @return the collection of references created for this signature
-	 */
-	protected List processSignature(String name, String signature, int kind, int type) {
-		SignatureReader reader = new SignatureReader(signature);
-		this.signaturevisitor.kind = kind;
-		this.signaturevisitor.name = this.processName(name);
-		this.signaturevisitor.signature = signature;
-		this.signaturevisitor.originalkind = kind;
-		this.signaturevisitor.argumentcount = 0;
-		this.signaturevisitor.type = type;
-		if(kind == ReferenceModifiers.REF_PARAMETERIZED_TYPEDECL || kind == ReferenceModifiers.REF_PARAMETERIZED_METHODDECL) {
-			reader.accept(this.signaturevisitor);
-		} else {
-			reader.acceptType(this.signaturevisitor);
-		}
-		List result = new ArrayList();
-		result.addAll(this.signaturevisitor.references);
-		this.collector.addAll(this.signaturevisitor.references);
-		this.signaturevisitor.reset();
-		return result;
-	}
-
-	/**
-	 * Resolves the type from the string description. This method takes only type descriptions
-	 * as a parameter, all else will throw an exception from the ASM framework
-	 * If the description is an array, the underlying type of the array is returned.
-	 * @param desc
-	 * @return the {@link Type} of the description or <code>null</code>
-	 */
-	protected Type resolveType(String desc) {
-		Type type = Type.getType(desc);
-		if(type.getSort() == Type.OBJECT) {
-			return type;
-		}
-		if(type.getSort() == Type.ARRAY) {
-			type = type.getElementType();
-			if(type.getSort() == Type.OBJECT) {
-				return type;
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.objectweb.asm.ClassVisitor#visit(int, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[])
-	 */
-	public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {
-		this.classname = this.processName(name);
-		this.fType = Util.getType(this.classname, access);
-		if(DEBUG) {
-			System.out.println("Starting visit of type: ["+this.fType.getQualifiedName()+"]"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		this.enterMember(this.fType);
-		//if there is a signature we get more information from it, so we don't need to do both
-		if(signature != null) {
-			this.processSignature(name, signature, ReferenceModifiers.REF_PARAMETERIZED_TYPEDECL, TYPE);
-		}
-		else {
-			if((access & Opcodes.ACC_INTERFACE) != 0) {
-				//the type is an interface and we need to treat the interfaces set as extends, not implements
-				Type supertype = null;
-				for(int i = 0; i < interfaces.length; i++) {
-					supertype = Type.getObjectType(interfaces[i]);
-					IReference typeReference = this.addTypeReference(supertype, ReferenceModifiers.REF_EXTENDS);
-					if (typeReference != null) {
-						this.fSuperStack.add(typeReference.getReferencedLocation().getType());
-					}
-				}
-			}
-			else {
-				Type supertype = null;
-				if(superName != null) {
-					supertype = Type.getObjectType(superName);
-					IReference typeReference = this.addTypeReference(supertype, ReferenceModifiers.REF_EXTENDS);
-					if (typeReference != null) {
-						this.fSuperStack.add(typeReference.getReferencedLocation().getType());
-					}
-				}
-				for(int i = 0; i < interfaces.length; i++) {
-					supertype = Type.getObjectType(interfaces[i]);
-					this.addTypeReference(supertype, ReferenceModifiers.REF_IMPLEMENTS);
-				}
-			}
-		}
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.objectweb.asm.ClassVisitor#visitEnd()
-	 */
-	public void visitEnd() {
-		this.exitMember();
-		if (!this.fSuperStack.isEmpty()) {
-			IReferenceTypeDescriptor type = (IReferenceTypeDescriptor) this.fSuperStack.pop();
-			if(DEBUG) {
-				System.out.println("ending visit of type: ["+type.getQualifiedName()+"]"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.objectweb.asm.ClassVisitor#visitField(int, java.lang.String, java.lang.String, java.lang.String, java.lang.Object)
-	 */
-	public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) {
-		if (fIsVisitMembers) {
-			IReferenceTypeDescriptor owner = (IReferenceTypeDescriptor) this.getMember();
-			IFieldDescriptor field = owner.getField(name, access);
-			this.enterMember(field);
-			if((access & Opcodes.ACC_SYNTHETIC) == 0) {
-				if(signature != null) {
-					this.processSignature(name, signature, ReferenceModifiers.REF_PARAMETERIZED_FIELDDECL, FIELD);
-				} else {
-					this.addTypeReference(Type.getType(desc), ReferenceModifiers.REF_FIELDDECL);
-				}
-			}
-			this.exitMember();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.objectweb.asm.ClassVisitor#visitMethod(int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[])
-	 */
-	public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
-		if (fIsVisitMembers) {
-			IMemberDescriptor member = this.getMember();
-			IReferenceTypeDescriptor owner = null;
-			if (member instanceof IReferenceTypeDescriptor) {
-				owner = (IReferenceTypeDescriptor) member;
-			} else {
-				owner = member.getEnclosingType();
-			}
-			IMethodDescriptor method = owner.getMethod(name, desc, access);
-			this.enterMember(method);
-			// record potential method override reference
-			if ((access & (Opcodes.ACC_PROTECTED | Opcodes.ACC_PUBLIC)) > 0) {
-				if (!this.fSuperStack.isEmpty()) {
-					IReferenceTypeDescriptor superType = (IReferenceTypeDescriptor) this.fSuperStack.peek();
-					this.addMethodDeclaration(superType.getMethod(method.getName(), method.getSignature(), method.getModifiers()));
-				}
-			}
-			if((access & Opcodes.ACC_SYNTHETIC) == 0 && !"<clinit>".equals(name)) { //$NON-NLS-1$
-				int argumentcount = 0;
-				if(signature != null) {
-					this.processSignature(name, signature, ReferenceModifiers.REF_PARAMETERIZED_METHODDECL, METHOD);
-					argumentcount = this.signaturevisitor.argumentcount;
-				}
-				else {
-					Type[] arguments = Type.getArgumentTypes(desc);
-					for(int i = 0; i < arguments.length; i++) {
-						Type type = arguments[i];
-						this.addTypeReference(type, ReferenceModifiers.REF_PARAMETER);
-						argumentcount += type.getSize();
-					}
-					this.addTypeReference(Type.getReturnType(desc), ReferenceModifiers.REF_RETURNTYPE);
-					if(exceptions != null) {
-						for(int i = 0; i < exceptions.length; i++) {
-							this.addTypeReference(Type.getObjectType(exceptions[i]),ReferenceModifiers.REF_THROWS);
-						}
-					}
-				}
-				MethodVisitor mv = super.visitMethod(access, name, desc, signature, exceptions);
-				if(mv != null && ((access & (Opcodes.ACC_NATIVE | Opcodes.ACC_ABSTRACT)) == 0)) {
-					return new ClassFileMethodVisitor(mv, name, argumentcount);
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Called when a member is entered. Pushes the member onto the member
-	 * stack.
-	 *
-	 * @param member current member
-	 */
-	protected void enterMember(IMemberDescriptor member) {
-		this.fMemberStack.push(member);
-	}
-
-	/**
-	 * Called when a member is exited. Pops the top member off the stack.
-	 */
-	protected void exitMember() {
-		this.fMemberStack.pop();
-	}
-
-	/**
-	 * Returns the element descriptor for the current member being
-	 * visited.
-	 *
-	 * @return current member
-	 */
-	protected IMemberDescriptor getMember() {
-		return (IMemberDescriptor) this.fMemberStack.peek();
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/LRUMap.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/LRUMap.java
deleted file mode 100644
index 4b93eae..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/LRUMap.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.search;
-
-import java.util.LinkedHashMap;
-import java.util.Map.Entry;
-/**
- * LRU cache 
- */
-class LRUMap extends LinkedHashMap {
-	private static final long serialVersionUID= 1L;
-	private int fMaxSize;
-	LRUMap(int maxSize) {
-		super();
-		fMaxSize = maxSize;
-	}
-	protected boolean removeEldestEntry(Entry eldest) {
-		return size() > fMaxSize;
-	}	
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/Location.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/Location.java
deleted file mode 100644
index f8e155e..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/Location.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.search;
-
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMemberDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.search.ILocation;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * Base implementation of {@link ILocation}
- * 
- * @since 1.0.0
- */
-public class Location implements ILocation {
-
-	private IApiComponent fComponent = null;
-	/**
-	 * Associated element
-	 */
-	private IMemberDescriptor fElement;
-	
-	private int linenumber = -1;
-	
-	/**
-	 * Constructor
-	 * @param component component the location is contained in, or <code>null</code>
-	 * @param element element associated with location
-	 */
-	public Location(IApiComponent component, IMemberDescriptor element) {
-		fComponent = component;
-		fElement = element;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof Location) {
-			Location loc = (Location) obj;
-			if (loc.getMember().equals(getMember()) && loc.getLineNumber() == getLineNumber()) {
-				return Util.equalsOrNull(getApiComponent(), loc.getApiComponent());
-			}
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.search.ILocation#getApiComponent()
-	 */
-	public IApiComponent getApiComponent() {
-		return fComponent;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.search.ILocation#getLineNumber()
-	 */
-	public int getLineNumber() {
-		return linenumber;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.search.ILocation#getElement()
-	 */
-	public IMemberDescriptor getMember() {
-		return fElement;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.search.ILocation#getType()
-	 */
-	public IReferenceTypeDescriptor getType() {
-		IMemberDescriptor member = getMember();
-		if (member instanceof IReferenceTypeDescriptor) {
-			return (IReferenceTypeDescriptor) member;
-		} else {
-			return member.getEnclosingType();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return fElement.hashCode() + linenumber;
-	}
-
-	/**
-	 * Allows the component id to be set. Used via {@link Reference} when resolving a target location
-	 * @param component the new component id
-	 */
-	public void setApiComponent(IApiComponent component) {
-		fComponent = component;
-	}
-
-	/* (non-Javadoc)
-	 * @see ILocation#setLineNumber(int) 
-	 */
-	public void setLineNumber(int value) {
-		linenumber = value;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("location ["); //$NON-NLS-1$
-		buffer.append(getMember().toString());
-		buffer.append(" from: "); //$NON-NLS-1$
-		if(fComponent == null) {
-			buffer.append(" <unresolved component>"); //$NON-NLS-1$
-		}
-		else {
-			buffer.append(fComponent);
-		}
-		buffer.append(" line: "+linenumber); //$NON-NLS-1$
-		buffer.append("]"); //$NON-NLS-1$
-		return buffer.toString();
-	}
-	
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/MethodExtractor.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/MethodExtractor.java
deleted file mode 100644
index 9310b38..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/MethodExtractor.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.search;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.util.ClassVisitorAdapter;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.objectweb.asm.MethodVisitor;
-
-/**
- * Extracts method declarations from a class file.
- * 
- * @since 1.0.0
- */
-public class MethodExtractor extends ClassVisitorAdapter {
-
-	/**
-	 * List of method descriptors. Methods are added to the list
-	 * as they are visited.
-	 */
-	private List fMethods = new ArrayList();
-	
-	/**
-	 * Cache of descriptors in case of multiple access
-	 */
-	private IMethodDescriptor[] fDescriptors = null;
-	
-	/**
-	 * Current type being visited.
-	 */
-	private IReferenceTypeDescriptor fType;
-
-	/**
-	 * Superclass name, or <code>null</code> if none
-	 */
-	private String fSuperName;
-	
-	/**
-	 * Extended interfaces
-	 */
-	private String[] fInterfaces;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.util.ClassVisitorAdapter#visit(int, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[])
-	 */
-	public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {
-		fType = Util.getType(name.replace('/', '.'));
-		if (superName != null) {
-			fSuperName = superName.replace('/', '.');
-		}
-		if (interfaces != null) {
-			fInterfaces = new String[interfaces.length];
-			for (int i = 0; i < interfaces.length; i++) {
-				fInterfaces[i] = interfaces[i].replace('/', '.');
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.util.ClassVisitorAdapter#visitMethod(int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[])
-	 */
-	public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
-		fMethods.add(fType.getMethod(name, desc, access));
-		return null;
-	}
-	
-	/**
-	 * Returns methods collected so far.
-	 * 
-	 * @return method descriptors
-	 */
-	public IMethodDescriptor[] getMethods() {
-		if (fDescriptors == null) {
-			fDescriptors = (IMethodDescriptor[]) fMethods.toArray(new IMethodDescriptor[fMethods.size()]);
-		} 
-		return fDescriptors;
-	}
-	
-	/**
-	 * Returns super class name or <code>null</code> if none.
-	 * 
-	 * @return super class name or <code>null</code> if none
-	 */
-	public String getSuperclassName() {
-		return fSuperName;
-	}
-	
-	/**
-	 * Returns extended interfaces or <code>null</code> if none.
-	 * 
-	 * @return extended interfaces or <code>null</code> if none
-	 */
-	public String[] getInteraces() {
-		return fInterfaces;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/Reference.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/Reference.java
deleted file mode 100644
index 3dde263..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/Reference.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.search;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.search.ILocation;
-import org.eclipse.pde.api.tools.internal.provisional.search.IReference;
-import org.eclipse.pde.api.tools.internal.provisional.search.ReferenceModifiers;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * Base Implementation of {@link IReference}
- * 
- * @since 1.0.0
- */
-public class Reference implements IReference {
-
-	private ILocation target = null;
-	private ILocation source = null;
-	private ILocation resolved = null; 
-	private int kind;
-	private IApiAnnotations description = null;
-	
-	/**
-	 * Bit mask of method reference kinds that need resolution 
-	 */
-	private final static int METHODS_TO_RESOLVE =
-			ReferenceModifiers.REF_VIRTUALMETHOD | 	// these have to be resolved to see where they are implemented
-			ReferenceModifiers.REF_OVERRIDE |		// resolve inherited methods to see if @noextend
-			ReferenceModifiers.REF_STATICMETHOD |	// resolve static, as could be synthetic
-			ReferenceModifiers.REF_SPECIALMETHOD | 	// resolve specials (super)
-			ReferenceModifiers.REF_INTERFACEMETHOD; // resolves interface methods
-	
-	/**
-	 * Constructor
-	 * @param source the source of the reference
-	 * @param target the target of the reference
-	 * @param kind the kind of the reference. See {@link IReference} for a listing of kinds
-	 */
-	public Reference(ILocation source, ILocation target, int kind) {
-		this.source = source;
-		this.target = target;
-		this.kind = kind;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.search.IReference#getReferenceKind()
-	 */
-	public int getReferenceKind() {
-		return kind;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.search.IReference#getSourceLocation()
-	 */
-	public ILocation getSourceLocation() {
-		return source;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.search.IReference#getTargetApiDescription()
-	 */
-	public IApiAnnotations getResolvedAnnotations() {
-		return description;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.search.IReference#getTargetLocation()
-	 */
-	public ILocation getReferencedLocation() {
-		return target;
-	}
-	
-	/**
-	 * Resolves this reference in the given profile.
-	 * 
-	 * @param engine search engine resolving the reference
-	 * @throws CoreException
-	 */
-	void resolve(SearchEngine engine) throws CoreException {
-		if(resolved == null) {
-			IApiComponent sourceComponent = source.getApiComponent();
-			if(sourceComponent != null) {
-				if ((getReferenceKind() & METHODS_TO_RESOLVE) > 0) {
-					IMethodDescriptor method = (IMethodDescriptor) target.getMember();
-					resolveVirtualMethod(sourceComponent, method, engine);
-				} else {
-					IApiComponent cpackage = Util.getComponent(
-							sourceComponent.getProfile().resolvePackage(sourceComponent, target.getType().getPackage().getName()),
-							target.getType().getQualifiedName());
-					if(cpackage != null) {
-						ILocation res = new Location(cpackage, target.getMember());
-						res.setLineNumber(target.getLineNumber());
-						IApiAnnotations ann = cpackage.getApiDescription().resolveAnnotations(sourceComponent.getId(), res.getMember());
-						setResolution(ann, res);
-					}
-				}
-			}
-		}
-		// TODO: throw exception on failure
-	}	
-	
-	/**
-	 * Resolves a virtual method and returns whether the method lookup was successful.
-	 * We need to resolve the actual type that implements the method - i.e. do the virtual
-	 * method lookup.
-	 * 
-	 * @param profile profile in which method lookup is to be resolved
-	 * @param callSiteComponent the component where the method call site was located
-	 * @param method the method that has been called
-	 * @param engine search engine (used for class file reader cache)
-	 * @returns whether the lookup succeeded
-	 * @throws CoreException if something goes terribly wrong
-	 */
-	private boolean resolveVirtualMethod(IApiComponent callSiteComponent, IMethodDescriptor method, SearchEngine engine) throws CoreException {
-		// resolve the package in which to start the lookup
-		IApiComponent[] implComponents = callSiteComponent.getProfile().resolvePackage(callSiteComponent, method.getPackage().getName());
-		String receivingTypeName = method.getEnclosingType().getQualifiedName();
-		IApiComponent implComponent = Util.getComponent(implComponents, receivingTypeName);
-		if (implComponent != null) {
-			IClassFile classFile = implComponent.findClassFile(receivingTypeName);
-			if (classFile != null) {
-				MethodExtractor extractor = engine.getExtraction(classFile);
-				IMethodDescriptor[] methods = extractor.getMethods();
-				for (int i = 0; i < methods.length; i++) {
-					IMethodDescriptor methodInfo = methods[i];
-					if (methodInfo.equals(method)) {
-						if (methodInfo.isSynthetic()) {
-							// don't resolve references to synthetic methods
-							return false;
-						} else {
-							ILocation res = new Location(implComponent, method);
-							IApiAnnotations ann = implComponent.getApiDescription().resolveAnnotations(
-									getSourceLocation().getApiComponent().getId(), res.getMember());
-							setResolution(ann, res);
-							return true;
-						}
-					}
-				}
-				if (kind == ReferenceModifiers.REF_INTERFACEMETHOD) {
-					// resolve method in super interfaces rather than class
-					String[] interaces = extractor.getInteraces();
-					if (interaces != null) {
-						for (int i = 0; i < interaces.length; i++) {
-							IReferenceTypeDescriptor supertype = Util.getType(interaces[i]);
-							if (resolveVirtualMethod(implComponent, supertype.getMethod(method.getName(), method.getSignature()), engine)) {
-								return true;
-							}
-						}
-					}
-				} else {
-					String superName = extractor.getSuperclassName();
-					if (superName != null) {
-						IReferenceTypeDescriptor supertype = Util.getType(superName);
-						return resolveVirtualMethod(implComponent, supertype.getMethod(method.getName(), method.getSignature()), engine);
-					}
-				}
-			}
-		}
-		return false;
-	}	
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		String kindstr = Util.getReferenceKind(this.kind);
-		if(kindstr == null) {
-			kindstr = "UNKNOWN_KIND"; //$NON-NLS-1$
-		}
-		StringBuffer ms = new StringBuffer();
-		ms.append(source.getMember().toString());
-		ms.append(" references "); //$NON-NLS-1$
-		ms.append(target.getMember().toString());
-		ms.append(" via "); //$NON-NLS-1$
-		ms.append(kindstr);
-		int lineNumber = getSourceLocation().getLineNumber();
-		if (lineNumber != -1) {
-			ms.append(" [line: "); //$NON-NLS-1$
-			ms.append(lineNumber);
-			ms.append("]"); //$NON-NLS-1$
-		}
-		return ms.toString();
-	}
-	
-	/**
-	 * Sets the resolution of this reference.
-	 * 
-	 * @param resolution API description
-	 * @param targetLocation resolved target location
-	 */
-	void setResolution(IApiAnnotations resolution, ILocation targetLocation) {
-		description = resolution;
-		resolved = targetLocation;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof Reference) { 
-			Reference ref = (Reference) obj;
-			return getReferenceKind() == ref.getReferenceKind() &&
-				equalOrNull(getResolvedLocation(), ref.getResolvedLocation()) &&
-				getSourceLocation().equals(ref.getSourceLocation()) &&
-				getReferencedLocation().equals(ref.getReferencedLocation()) &&
-				Util.equalsOrNull(getResolvedAnnotations(), ref.getResolvedAnnotations());
-		}
-		return false;
-	}
-	
-	private boolean equalOrNull(ILocation l1, ILocation l2) {
-		if (l1 == null) {
-			return l2 == null;
-		}
-		return l1.equals(l2);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return kind + source.hashCode() + target.hashCode();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.search.IReference#getResolvedLocation()
-	 */
-	public ILocation getResolvedLocation() {
-		return resolved;
-	}
-
-	
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/ScopedClassFileContainer.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/ScopedClassFileContainer.java
deleted file mode 100644
index 1e3a788..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/ScopedClassFileContainer.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.search;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMemberDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * An API component class file container, filtered by a scope.
- * 
- * @since 1.0.0
- */
-public class ScopedClassFileContainer implements IClassFileContainer {
-	
-	/**
-	 * Underlying component
-	 */
-	private IApiComponent fComponent;
-	
-	/**
-	 * Map of packages names to consider to fully qualified type names in each package to consider,
-	 * or an empty collection for all types in the package.
-	 */
-	private Map fTypesPerPackage = new HashMap();
-	
-	/**
-	 * Cache of package names in the scope
-	 */
-	private Set fPackageNames;
-	
-	/**
-	 * Proxy to underlying API component
-	 */
-	class ProxyVisitor extends ClassFileContainerVisitor {
-		
-		/**
-		 * The visitor we are providing a proxy for.
-		 */
-		private ClassFileContainerVisitor fVisitor;
-		
-		/**
-		 * Constructs a visitor that will visit the underlying API component
-		 * filtering the class files based on a scope.
-		 * 
-		 * @param visitor outer visitor
-		 */
-		ProxyVisitor(ClassFileContainerVisitor visitor) {
-			fVisitor = visitor;
-		}
-
-		public void end(IApiComponent component) {
-			if (fComponent.equals(component)) {
-				fVisitor.end(component);
-			}
-		}
-
-		public boolean visit(IApiComponent component) {
-			if (fComponent.equals(component)) {
-				return fVisitor.visit(component);
-			}
-			return false;
-		}
-
-		public void end(String packageName, IClassFile classFile) {
-			Set types = (Set)fTypesPerPackage.get(packageName);
-			if (types != null && types.contains(classFile.getTypeName())) {
-				fVisitor.end(packageName, classFile);
-			}
-		}
-
-		public void endVisitPackage(String packageName) {
-			if (fPackageNames.contains(packageName)) {
-				fVisitor.endVisitPackage(packageName);
-			}
-		}
-
-		public void visit(String packageName, IClassFile classFile) {
-			Set types = (Set)fTypesPerPackage.get(packageName);
-			if (types != null) {
-				String typeName = classFile.getTypeName();
-				int index = typeName.indexOf('$');
-				if (index >= 0) {
-					typeName = typeName.substring(0, index);
-				}
-				if (types.isEmpty() || types.contains(typeName)) {
-					fVisitor.visit(packageName, classFile);
-				}
-			}
-		}
-
-		public boolean visitPackage(String packageName) {
-			if (fPackageNames.contains(packageName)) {
-				return fVisitor.visitPackage(packageName);
-			}
-			return false;
-		}
-
-	}
-
-	/**
-	 * Constructs a class file container on the given component filtered by the specified
-	 * elements.
-	 * 
-	 * @param component API component
-	 * @param elements leaf elements in the container
-	 */
-	public ScopedClassFileContainer(IApiComponent component, IElementDescriptor[] elements) {
-		fComponent = component;
-		init(elements);
-	}
-	
-	/**
-	 * Initializes this containers packages and types to consider based on the given
-	 * leaf elements.
-	 * 
-	 * @param elements leaf elements
-	 */
-	private void init(IElementDescriptor[] elements) {
-		for (int i = 0; i < elements.length; i++) {
-			IElementDescriptor element = elements[i];
-			IPackageDescriptor pkg = null;
-			IReferenceTypeDescriptor type = null;
-			if (element instanceof IPackageDescriptor) {
-				pkg = (IPackageDescriptor) element;
-			} else if (element instanceof IMemberDescriptor) {
-				IMemberDescriptor member = (IMemberDescriptor)element;
-				pkg = member.getPackage();
-				if (element instanceof IReferenceTypeDescriptor) {
-					type = (IReferenceTypeDescriptor) element;
-				} else {
-					type = member.getEnclosingType();
-				}
-			}
-			String pkgname = pkg.getName();
-			Set types = (Set) fTypesPerPackage.get(pkgname);
-			if (types == null) {
-				types = new HashSet();
-				fTypesPerPackage.put(pkgname, types);
-			}
-			if (type != null) {
-				types.add(type.getQualifiedName());
-			}
-		}
-		fPackageNames = fTypesPerPackage.keySet();
-	}
-	
-	/* (non-Javadoc)
-	 * @see IClassFileContainer#accept(org.eclipse.pde.api.tools.model.component.ClassFileContainerVisitor)
-	 */
-	public void accept(ClassFileContainerVisitor visitor) throws CoreException {
-		ProxyVisitor proxyVisitor = new ProxyVisitor(visitor);
-		fComponent.accept(proxyVisitor);
-	}
-
-	/* (non-Javadoc)
-	 * @see IClassFileContainer#close()
-	 */
-	public void close() throws CoreException {
-		fComponent.close();
-	}
-
-	/* (non-Javadoc)
-	 * @see IClassFileContainer#findClassFile(java.lang.String)
-	 */
-	public IClassFile findClassFile(String qualifiedName) throws CoreException {
-		String packageName = Util.getPackageName(qualifiedName);
-		Set types = (Set) fTypesPerPackage.get(packageName);
-		if (types != null) {
-			if (types.isEmpty()) {
-				// all types in the package
-				return fComponent.findClassFile(qualifiedName);
-			} else {
-				if (types.contains(qualifiedName)) {
-					return fComponent.findClassFile(qualifiedName);
-				}
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see IClassFileContainer#findClassFile(java.lang.String,java.lang.String)
-	 */
-	public IClassFile findClassFile(String qualifiedName, String id) throws CoreException {
-		String packageName = Util.getPackageName(qualifiedName);
-		Set types = (Set) fTypesPerPackage.get(packageName);
-		if (types != null) {
-			if (types.isEmpty()) {
-				// all types in the package
-				return fComponent.findClassFile(qualifiedName, id);
-			} else {
-				if (types.contains(qualifiedName)) {
-					return fComponent.findClassFile(qualifiedName, id);
-				}
-			}
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see IClassFileContainer#getPackageNames()
-	 */
-	public String[] getPackageNames() throws CoreException {
-		return (String[]) fPackageNames.toArray(new String[fPackageNames.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see IClassFileContainer#getOrigin()
-	 */
-	public String getOrigin() {
-		return this.fComponent.getId();
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/SearchCriteria.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/SearchCriteria.java
deleted file mode 100644
index 3a9b991..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/SearchCriteria.java
+++ /dev/null
@@ -1,612 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.search;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IFieldDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMemberDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IPackageDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria;
-import org.eclipse.pde.api.tools.internal.provisional.search.ILocation;
-import org.eclipse.pde.api.tools.internal.provisional.search.IReference;
-import org.eclipse.pde.api.tools.internal.provisional.search.ReferenceModifiers;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-/**
- * Implementation of an API search criteria.
- * 
- * @since 1.0.0
- */
-public class SearchCriteria implements IApiSearchCriteria {
-		
-	/**
-	 * Map of component ID's to collection of leaf element in that scope, or an empty
-	 * collection for entire component.
-	 */
-	private Map fComponentIds = new HashMap();
-		
-	/**
-	 * References kinds with corresponding visibility and usage
-	 * restrictions on the referenced location
-	 */
-	private int fReferenceKinds = ReferenceModifiers.MASK_REF_ALL;
-	private int fVisibilityKinds = VisibilityModifiers.ALL_VISIBILITIES;
-	private int fRestrictionKinds = RestrictionModifiers.NO_RESTRICTIONS;
-	
-	/**
-	 * Java visibility to consider at the source or -1 if not considered
-	 */
-	private int fSourceModifiers = -1;
-	
-	/**
-	 * Corresponding visibility and usage restrictions on the source location
-	 */
-	private int fSourceVisibility = VisibilityModifiers.ALL_VISIBILITIES;
-	private int fSourceRestriction = RestrictionModifiers.ALL_RESTRICTIONS;	
-	
-	/**
-	 * Component filters for source reference locations or <code>null</code> if none.
-	 */
-	private String fSourceFilter[] = null;
-	
-	/**
-	 * User data or <code>null</code>
-	 */
-	private Object fUserData;
-
-	/**
-	 * Used for pattern matching.
-	 */
-	class PatternMatch {
-		private int fElementType;
-		private Pattern fPattern = null;
-		
-		/**
-		 * Constructs a new pattern matcher.
-		 * 
-		 * @param pattern regular expression
-		 * @param elementType element type constant
-		 */
-		PatternMatch(String pattern, int elementType) {
-			fElementType = elementType;
-			fPattern = Pattern.compile(pattern); 
-		}
-		
-		/**
-		 * Return whether the given element matches this pattern.
-		 * 
-		 * @param element element
-		 * @return whether the given element matches this pattern
-		 */
-		public boolean matches(IElementDescriptor element) {
-			String name = null;
-			IReferenceTypeDescriptor potentialInner = null;
-			switch (fElementType) {
-			case IElementDescriptor.T_PACKAGE:
-				switch (element.getElementType()) {
-					case IElementDescriptor.T_PACKAGE:
-						name = ((IPackageDescriptor)element).getName();
-						break;
-					case IElementDescriptor.T_REFERENCE_TYPE:
-					case IElementDescriptor.T_METHOD:
-					case IElementDescriptor.T_FIELD:
-						name = ((IMemberDescriptor)element).getPackage().getName();
-						break;
-					}
-				break;
-			case IElementDescriptor.T_REFERENCE_TYPE:
-				switch (element.getElementType()) {
-					case IElementDescriptor.T_REFERENCE_TYPE:
-						potentialInner = (IReferenceTypeDescriptor)element;  
-						name = potentialInner.getQualifiedName();
-						break;
-					case IElementDescriptor.T_METHOD:
-					case IElementDescriptor.T_FIELD:
-						potentialInner = ((IMemberDescriptor)element).getEnclosingType();
-						name = potentialInner.getQualifiedName();
-						break;
-					}				
-				break;
-			case IElementDescriptor.T_METHOD:
-				switch (element.getElementType()) {
-					case IElementDescriptor.T_METHOD:
-						name = ((IMethodDescriptor)element).getName();
-						break;
-				}				
-				break;
-			case IElementDescriptor.T_FIELD:
-				switch (element.getElementType()) {
-					case IElementDescriptor.T_FIELD:
-						name = ((IFieldDescriptor)element).getName();
-						break;
-				}				
-				break;
-			}
-			if (name != null) {
-				Matcher matcher = fPattern.matcher(name);
-				if (matcher.matches()) {
-					return true;
-				}
-				if (potentialInner != null) {
-					// check enclosing types for match
-					IReferenceTypeDescriptor type = potentialInner.getEnclosingType();
-					if (type != null) {
-						return matches(type);
-					}
-				}
-			}
-			return false;
-		}
-
-		/* (non-Javadoc)
-		 * @see java.lang.Object#toString()
-		 */
-		public String toString() {
-			StringBuffer buffer = new StringBuffer();
-			buffer.append("Element: ").append(Util.getDescriptorKind(fElementType)); //$NON-NLS-1$
-			if(fPattern != null) {
-				buffer.append(" with pattern :").append(fPattern.toString()); //$NON-NLS-1$
-			}
-			return buffer.toString();
-		}
-	}
-	
-	/**
-	 * Used for determining potential element matches.
-	 */
-	class PotentialElementMatch {
-		/**
-		 * Element to match against
-		 */
-		private IElementDescriptor fElement;
-		
-		/**
-		 * Constructs a new element matcher.
-		 * 
-		 * @param element element to match
-		 */
-		PotentialElementMatch(IElementDescriptor element) {
-			fElement = element; 
-		}
-		
-		/**
-		 * Return whether the given element is a potential match for this element.
-		 * 
-		 * @param element element
-		 * @return whether the given element matches this pattern
-		 */
-		public boolean matches(IElementDescriptor element) {
-			if (element.getElementType() == IElementDescriptor.T_METHOD) {
-				if (fElement.getElementType() == IElementDescriptor.T_METHOD) {
-					// ensure names are equal
-					IMethodDescriptor potential = (IMethodDescriptor)element;
-					IMethodDescriptor target = (IMethodDescriptor)fElement;
-					return potential.getName().equals(target.getName()) &&
-						potential.getSignature().equals(target.getSignature());
-				} else {
-					// all method sends must be resolved, so it is a potential match
-					// TODO: could we optimize static methods?
-					return true;
-				}
-			}
-			if (fElement.equals(element)) {
-				return true;
-			}
-			Set parents = getParents(element);
-			return parents.contains(fElement);
-		}
-		
-		/* (non-Javadoc)
-		 * @see java.lang.Object#toString()
-		 */
-		public String toString() {
-			return fElement.toString();
-		}
-	}
-	
-	/**
-	 * List of patterns or <code>null</code> if none.
-	 */
-	private List fPatterns = null;
-	
-	/**
-	 * List of potential element matches or <code>null</code> if none
-	 */
-	private List fPotentialElements = null;
-	
-	/**
-	 * Returns all parent elements of the given element in a set.
-	 * 
-	 * @param element
-	 * @return parent elements
-	 */
-	private Set getParents(IElementDescriptor element) {
-		Set parents = new HashSet();
-		IElementDescriptor parent = element.getParent();
-		while (parent != null) {
-			parents.add(parent);
-			parent = parent.getParent();
-		}
-		return parents;
-	}
-
-
-	/**
-	 * Returns whether this criteria contains the specified element.
-	 * 
-	 * @param componentId component identifier
-	 * @param element element descriptor
-	 * @return whether this criteria contains the specified element
-	 */
-	private boolean encloses(String componentId, IElementDescriptor element) {
-		Set leaves = (Set) fComponentIds.get(componentId);
-		if (leaves != null) {
-			if (leaves.isEmpty()) {
-				// contains every thing in the component
-				// TODO: check if the element's type really exists in the component?
-				return true;
-			}
-			Iterator iterator = leaves.iterator();
-			Set parents = getParents(element);
-			while (iterator.hasNext()) {
-				IElementDescriptor leaf = (IElementDescriptor) iterator.next();
-				if (leaf.equals(element) || parents.contains(leaf)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.search.IApiSearchCriteria#addComponentRestriction(java.lang.String)
-	 */
-	public void addReferencedComponentRestriction(String componentId) {
-		Set components = (Set)fComponentIds.get(componentId);
-		if (components == null) {
-			components = new HashSet();
-			fComponentIds.put(componentId, components);
-		}		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.search.IApiSearchCriteria#addElementRestriction(java.lang.String, org.eclipse.pde.api.tools.descriptors.IElementDescriptor[])
-	 */
-	public void addReferencedElementRestriction(String componentId, IElementDescriptor[] elements) {
-		if (fPotentialElements == null) {
-			fPotentialElements = new ArrayList(elements.length);
-		}
-		for (int i = 0; i < elements.length; i++) {
-			IElementDescriptor element = elements[i];
-			fPotentialElements.add(new PotentialElementMatch(element));
-			Set parents = getParents(element);
-			Set leaves = (Set) fComponentIds.get(componentId);
-			if (leaves == null) {
-				addReferencedComponentRestriction(componentId);
-				leaves = (Set) fComponentIds.get(componentId);
-			}
-			// first check if a parent is already in the scope (i.e already contained)
-			Iterator iterator = parents.iterator();
-			while (iterator.hasNext()) {
-				IElementDescriptor el = (IElementDescriptor) iterator.next();
-				if (leaves.contains(el)) {
-					// already contains a parent element
-					return;
-				}
-			}
-			// remove existing leaves that are children of the element being added
-			iterator = leaves.iterator();
-			while (iterator.hasNext()) {
-				IElementDescriptor leaf = (IElementDescriptor) iterator.next();
-				parents = getParents(leaf);
-				if (parents.contains(element)) {
-					iterator.remove();
-				}
-			}
-			leaves.add(element);			
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.search.IApiSearchCriteria#addPatternRestriction(java.lang.String, int)
-	 */
-	public void addReferencedPatternRestriction(String regEx, int elementType) {
-		if (fPatterns == null) {
-			fPatterns = new ArrayList();
-		}
-		fPatterns.add(new PatternMatch(regEx, elementType));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.search.IApiSearchCriteria#getReferenceKinds()
-	 */
-	public int getReferenceKinds() {
-		return fReferenceKinds;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.search.IApiSearchCriteria#isMatch(org.eclipse.pde.api.tools.search.IReference)
-	 */
-	public boolean isMatch(IReference reference) {
-		ILocation location = reference.getResolvedLocation();
-		if (location != null) {
-			IApiAnnotations annotations = reference.getResolvedAnnotations();
-			if (annotations != null) {
-				return matchesElementRestrictions(location)
-					&& matchesApiRestrictions(annotations);
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns whether the given location meets pattern matching criteria.
-	 * 
-	 * @param location location
-	 * @return whether the given location meets pattern matching criteria
-	 */
-	private boolean matchesPatternRestrictions(ILocation location) {
-		if (fPatterns == null) {
-			return true;
-		}
-		IElementDescriptor element = location.getMember();
-		Iterator iterator = fPatterns.iterator();
-		while (iterator.hasNext()) {
-			PatternMatch pattern = (PatternMatch) iterator.next();
-			if (pattern.matches(element)) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns whether the given annotations matches the conditions of this
-	 * search criteria.
-	 * 
-	 * @param annotations API annotations
-	 * @return whether the given reference matches the conditions of this
-	 * search criteria
-	 */
-	private boolean matchesApiRestrictions(IApiAnnotations annotations) {
-		int vis = annotations.getVisibility();
-		int res = annotations.getRestrictions();
-		if ((vis & fVisibilityKinds) > 0) {
-			if (fRestrictionKinds == RestrictionModifiers.ALL_RESTRICTIONS || (res & fRestrictionKinds) > 0) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns whether the given reference is one of the reference kinds this criteria
-	 * is looking for.
-	 * 
-	 * @param reference reference
-	 * @return whether the given reference is one of the reference kinds this criteria
-	 * is looking for
-	 */
-	private boolean matchesReferenceKinds(IReference reference) {
-		return (reference.getReferenceKind() & (fReferenceKinds)) > 0;
-	}	
-	
-	/**
-	 * Returns whether the given location is contained within the component and
-	 * element restrictions of this search criteria.
-	 * 
-	 * @param location location
-	 * @return whether the given location is contained within the component and
-	 * element restrictions of this search criteria
-	 */
-	private boolean matchesElementRestrictions(ILocation location) {
-		if (fComponentIds.isEmpty()) {
-			return true;
-		}
-		return encloses(location.getApiComponent().getId(), location.getMember());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria#setReferencedRestrictions(int, int)
-	 */
-	public void setReferencedRestrictions(int visibilityMask, int restrictionMask) {
-		fVisibilityKinds = visibilityMask;
-		fRestrictionKinds = restrictionMask;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria#setReferenceKinds(int)
-	 */
-	public void setReferenceKinds(int referenceMask) {
-		fReferenceKinds = referenceMask;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.search.IApiSearchCriteria#isPotentialMatch(org.eclipse.pde.api.tools.search.IReference)
-	 */
-	public boolean isPotentialMatch(IReference reference) {
-		return
-			matchesReferenceKinds(reference) &&
-			!isFilteredSourceLocation(reference.getSourceLocation()) &&
-			matchesSourceModifiers(reference.getSourceLocation()) &&
-			matchesSourceApiRestrictions(reference.getSourceLocation()) &&
-			matchesPatternRestrictions(reference.getReferencedLocation()) &&
-			isPotentialElementMatch(reference.getReferencedLocation());
-	}
-	
-	/**
-	 * Returns whether the location is a filtered source location.
-	 * 
-	 * @param location source location
-	 * @return whether the location (reference) should be filtered (ignored)
-	 */
-	private boolean isFilteredSourceLocation(ILocation location) {
-		if (fSourceFilter == null) {
-			return false;
-		}
-		for (int i = 0; i < fSourceFilter.length; i++) {
-			if (location.getApiComponent().getId().equals(fSourceFilter[i])) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns whether the source location (i.e. location that the reference is made
-	 * from) matches API restrictions for this condition.
-	 *  
-	 * @param location source location
-	 * @return whether restrictions are satisfied
-	 */
-	private boolean matchesSourceApiRestrictions(ILocation location) {
-		if (fSourceVisibility == VisibilityModifiers.ALL_VISIBILITIES && fSourceRestriction == RestrictionModifiers.ALL_RESTRICTIONS) {
-			return true;
-		}
-		IApiComponent apiComponent = location.getApiComponent();
-		try {
-			IApiAnnotations annotations = apiComponent.getApiDescription().resolveAnnotations(apiComponent.getId(), location.getMember());
-			if (annotations != null) {
-				if ((annotations.getVisibility() & fSourceVisibility) > 0) {
-					if (fSourceRestriction == RestrictionModifiers.ALL_RESTRICTIONS || (annotations.getRestrictions() & fRestrictionKinds) > 0) {
-						return true;
-					}
-				}
-			} else {
-				// TODO:
-				return true;
-			}
-		} catch (CoreException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns whether the Java visibility of the given source location matches
-	 * the restrictions of this criteria.
-	 * 
-	 * @param location source/referencing location
-	 * @return whether it matches Java visibility modifiers
-	 */
-	private boolean matchesSourceModifiers(ILocation location) {
-		if (fSourceModifiers == -1) {
-			return true;
-		}
-		IMemberDescriptor member = location.getMember();
-		while (member != null) {
-			int modifiers = member.getModifiers();
-			if ((fSourceModifiers & modifiers) > 0 || fSourceModifiers == modifiers) { // in case of Acc.Default (0)
-				member = member.getEnclosingType();
-			} else {
-				return false;
-			}
-		}
-		return true;
-	}
-
-	private boolean isPotentialElementMatch(ILocation location) {
-		if (fPotentialElements == null) {
-			return true;
-		}
-		IElementDescriptor element = location.getMember();
-		Iterator iterator = fPotentialElements.iterator();
-		while (iterator.hasNext()) {
-			PotentialElementMatch match = (PotentialElementMatch) iterator.next();
-			if (match.matches(element)) {
-				return true;
-			}
-		}
-		return false;		
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("*** Search Criteria ***\n"); //$NON-NLS-1$
-		buffer.append("Reference Kinds: ").append(Util.getReferenceKind(fReferenceKinds)).append("\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		buffer.append("Restriction Kinds: ").append(Util.getRestrictionKind(fRestrictionKinds)).append("\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		buffer.append("Visibility Kinds: ").append(Util.getVisibilityKind(fVisibilityKinds)).append("\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		if(fPatterns != null) {
-			buffer.append("Patterns: ").append(fPatterns.toString()).append("\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		if(fPotentialElements != null) {
-			buffer.append("Potential Matches: ").append(fPotentialElements.toString()).append("\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return buffer.toString();
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria#setSourceModifiers(int)
-	 */
-	public void setSourceModifiers(int modifiers) {
-		fSourceModifiers = modifiers;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria#setSourceRestrictions(int, int)
-	 */
-	public void setSourceRestrictions(int visibilityMask, int restrictionMask) {
-		fSourceVisibility = visibilityMask;
-		fSourceRestriction = restrictionMask;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria#addSourceFilter(java.lang.String)
-	 */
-	public void addSourceFilter(String componentId) {
-		if (fSourceFilter == null) {
-			fSourceFilter = new String[]{componentId};
-		} else {
-			String[] temp = new String[fSourceFilter.length + 1];
-			System.arraycopy(fSourceFilter, 0, temp, 0, fSourceFilter.length);
-			temp[fSourceFilter.length] = componentId;
-			fSourceFilter = temp;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria#getUserData()
-	 */
-	public Object getUserData() {
-		return fUserData;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria#setUserData(java.lang.Object)
-	 */
-	public void setUserData(Object object) {
-		fUserData = object;
-		
-	}
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/SearchEngine.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/SearchEngine.java
deleted file mode 100644
index f490d06..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/SearchEngine.java
+++ /dev/null
@@ -1,406 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.search;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMemberDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchCriteria;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchEngine;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchResult;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchScope;
-import org.eclipse.pde.api.tools.internal.provisional.search.ILocation;
-import org.eclipse.pde.api.tools.internal.provisional.search.IReference;
-import org.eclipse.pde.api.tools.internal.provisional.search.ReferenceModifiers;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.objectweb.asm.ClassReader;
-
-/**
- * Extracts references from an API component.
- * 
- * @since 1.0.0
- */
-public class SearchEngine implements IApiSearchEngine {
-	
-	/**
-	 * Constant used for controlling tracing in the search engine
-	 */
-	private static boolean DEBUG = Util.DEBUG;
-	
-	/**
-	 * Method used for initializing tracing in the search engine
-	 */
-	public static void setDebug(boolean debugValue) {
-		DEBUG = debugValue || Util.DEBUG;
-	}
-	
-	/**
-	 * Empty result collection.
-	 */
-	private static final IApiSearchResult[] EMPTY_RESULT = new IApiSearchResult[0];
-	
-	/**
-	 * Visits each class file, extracting references.
-	 */
-	class Visitor extends ClassFileContainerVisitor {
-		
-		private IApiComponent fCurrentComponent = null;
-		private IProgressMonitor fMonitor = null;
-		
-		public Visitor(IProgressMonitor monitor) {
-			fMonitor = monitor;
-		}
-
-		public void end(IApiComponent component) {
-			fCurrentComponent = null;
-		}
-
-		public boolean visit(IApiComponent component) {
-			fCurrentComponent = component;
-			return true;
-		}
-		
-		public boolean visitPackage(String packageName) {
-			fMonitor.subTask(SearchMessages.SearchEngine_0 + packageName);
-			return true;
-		}
-
-		public void endVisitPackage(String packageName) {
-			fMonitor.worked(1);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.pde.api.tools.model.component.ClassFileContainerVisitor#visit(java.lang.String, org.eclipse.pde.api.tools.model.component.IClassFile)
-		 */
-		public void visit(String packageName, IClassFile classFile) {
-			if (!fMonitor.isCanceled()) {
-				try {
-					fScanner.scan(fCurrentComponent, classFile, fAllReferenceKinds);
-					List references = fScanner.getReferenceListing();
-					// keep potential matches
-					Iterator iterator = references.iterator();
-					while (iterator.hasNext()) {
-						IReference ref = (IReference) iterator.next();
-						for (int i = 0; i < fConditions.length; i++) {
-							if (fConditions[i].isPotentialMatch(ref)) {
-								fPotentialMatches[i].add(ref);
-							}
-						}
-					}
-				} catch (CoreException e) {
-					fStatus.add(e.getStatus());
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Class file scanner
-	 */
-	private ClassFileScanner fScanner;
-		
-	/**
-	 * Scan status
-	 */
-	private MultiStatus fStatus;
-		
-	/**
-	 * Potential matches for each search condition
-	 */
-	private List[] fPotentialMatches = null;
-	
-	/**
-	 * Class file cache for resolution of virtual methods
-	 */
-	private LRUMap fCache = new LRUMap(300);
-	private int fHits = 0;
-	private int fMiss = 0;	
-	
-	/**
-	 * Search criteria
-	 */
-	private IApiSearchCriteria[] fConditions = null;
-	
-	/**
-	 * Mask of all reference kinds to consider based on all search conditions.
-	 */
-	private int fAllReferenceKinds = 0;
-		
-	/**
-	 * Scans the given scope extracting all reference information.
-	 * 
-	 * @param scope scope to scan
-	 * @param monitor progress monitor
-	 * @exception CoreException if the scan fails
-	 */
-	private void extractReferences(IApiSearchScope scope, IProgressMonitor monitor) throws CoreException {
-		fStatus = new MultiStatus(ApiPlugin.PLUGIN_ID, 0, SearchMessages.SearchEngine_1, null); 
-		fScanner = ClassFileScanner.newScanner();
-		String[] packageNames = scope.getPackageNames();
-		SubMonitor localMonitor = SubMonitor.convert(monitor, packageNames.length);
-		ClassFileContainerVisitor visitor = new Visitor(localMonitor);
-		long start = System.currentTimeMillis();
-		try {
-			scope.accept(visitor);
-		} catch (CoreException e) {
-			fStatus.add(e.getStatus());
-		}
-		long end = System.currentTimeMillis();
-		if (!fStatus.isOK()) {
-			throw new CoreException(fStatus);
-		}
-		localMonitor.done();
-		if (DEBUG) {
-			int size = 0;
-			for (int i = 0; i < fPotentialMatches.length; i++) {
-				size += fPotentialMatches[i].size();
-			}
-			System.out.println("Search: extracted " + size + " references in " + (end - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-	}
-	
-	/**
-	 * Creates a unique string key for a given location.
-	 * The key is of the form:
-	 * <pre>
-	 * [component_id]#[type_name](#[member_name]#[member_signature])
-	 * </pre>
-	 * @param source
-	 * @param target 
-	 * @return a string key for the given location.
-	 */
-	private String createSignatureKey(ILocation source, ILocation target) {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(source.getApiComponent().getId());
-		buffer.append("#"); //$NON-NLS-1$
-		buffer.append(target.getType().getQualifiedName());
-		IMemberDescriptor member = target.getMember();
-		if(!(member instanceof IReferenceTypeDescriptor)) {
-			buffer.append("#"); //$NON-NLS-1$
-			buffer.append(member.getName());
-			buffer.append("#"); //$NON-NLS-1$
-			if (member instanceof IMethodDescriptor) {
-				buffer.append(((IMethodDescriptor)member).getSignature());
-			}
-		}
-		return buffer.toString();
-	}
-	
-	/**
-	 * Resolves all references.
-	 * 
-	 * @param referenceLists lists of {@link IReference} to resolve
-	 * @param progress monitor
-	 * @throws CoreException if something goes wrong
-	 */
-	private void resolveReferences(List[] referenceLists, IProgressMonitor monitor) throws CoreException {
-		fHits = 0;
-		fMiss = 0;
-		// sort references by target type for 'shared' resolution
-		Map sigtoref = new HashMap(50);
-		
-		List refs = null;
-		IReference ref = null;
-		String key = null;
-		List methodDecls = new ArrayList(1000);
-		long start = System.currentTimeMillis();
-		for (int i = 0; i < referenceLists.length; i++) {
-			Iterator references = referenceLists[i].iterator();
-			while (references.hasNext()) {
-				ref = (IReference) references.next();
-				if (ref.getReferenceKind() == ReferenceModifiers.REF_OVERRIDE) {
-					methodDecls.add(ref);
-				} else {
-					key = createSignatureKey(ref.getSourceLocation(), ref.getReferencedLocation());
-					refs = (List) sigtoref.get(key);
-					if(refs == null) {
-						refs = new ArrayList(20);
-						sigtoref.put(key, refs);
-					}
-					refs.add(ref);
-				}
-			}
-		}
-		if (monitor.isCanceled()) {
-			return;
-		}
-		long end = System.currentTimeMillis();
-		if (DEBUG) {
-			System.out.println("Search: split into " + methodDecls.size() + " method overrides and " + sigtoref.size() + " unique references (" + (end - start) + "ms)");   //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$ //$NON-NLS-4$
-		}
-		// resolve references
-		start = System.currentTimeMillis();
-		resolveReferenceSets(sigtoref, monitor);
-		end = System.currentTimeMillis();
-		if (DEBUG) {
-			System.out.println("Search: resolved unique references in " + (end - start) + "ms");  //$NON-NLS-1$//$NON-NLS-2$
-		}
-		// resolve method overrides
-		start = System.currentTimeMillis();
-		Iterator iterator = methodDecls.iterator();
-		while (iterator.hasNext()) {
-			Reference reference = (Reference) iterator.next();
-			reference.resolve(this);
-		}
-		end = System.currentTimeMillis();
-		if (DEBUG) {
-			System.out.println("Search: resolved method overrides in " + (end - start) + "ms");  //$NON-NLS-1$//$NON-NLS-2$
-			System.out.println("Search: class file method info cache hits: " + fHits + " misses: " + fMiss); //$NON-NLS-1$ //$NON-NLS-2$
-			
-		}
-		fCache.clear();
-		
-	}
-	
-	/**
-	 * Returns a class file reader for the given class file.
-	 * 
-	 * @param file class file
-	 * @return class file reader
-	 * @throws CoreException
-	 */
-	MethodExtractor getExtraction(IClassFile file) throws CoreException {
-		MethodExtractor extractor= (MethodExtractor) fCache.get(file.getTypeName());
-		if (extractor == null) {
-			extractor = new MethodExtractor();
-			ClassReader reader = new ClassReader(file.getContents());
-			reader.accept(extractor, ClassReader.SKIP_CODE | ClassReader.SKIP_FRAMES);
-			fCache.put(file.getTypeName(), extractor);
-			fMiss++;
-		} else {
-			fHits++;
-		}
-		return extractor;
-	}	
-	
-	/**
-	 * Resolves the collect sets of references.
-	 * @param map the mapping of keys to sets of {@link IReference}s
-	 * @throws CoreException if something bad happens
-	 */
-	private void resolveReferenceSets(Map map, IProgressMonitor monitor) throws CoreException {
-		Iterator types = map.keySet().iterator();
-		String key = null;
-		List refs = null;
-		IReference ref= null;
-		while (types.hasNext()) {
-			if (monitor.isCanceled()) {
-				return;
-			}
-			key = (String) types.next();
-			refs = (List) map.get(key);
-			ref = (IReference) refs.get(0);
-			((Reference)ref).resolve(this);
-			IApiAnnotations resolved = ref.getResolvedAnnotations();
-			if (resolved != null) {
-				Iterator iterator = refs.iterator();
-				while (iterator.hasNext()) {
-					Reference ref2 = (Reference) iterator.next();
-					ref2.setResolution(resolved, ref.getResolvedLocation());
-				}
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.search.IApiSearchEngine#search(org.eclipse.pde.api.tools.search.IApiSearchScope, int[], int[], int[], org.eclipse.pde.api.tools.search.IApiSearchScope, boolean, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IApiSearchResult[] search(IApiSearchScope sourceScope,
-			IApiSearchCriteria[] conditions, IProgressMonitor monitor)
-			throws CoreException {
-		SubMonitor localMonitor = SubMonitor.convert(monitor,SearchMessages.SearchEngine_2, 3);
-		fConditions = conditions;
-		fPotentialMatches = new List[fConditions.length];
-		for (int i = 0; i < conditions.length; i++) {
-			IApiSearchCriteria condition = conditions[i];
-			fAllReferenceKinds |= condition.getReferenceKinds();
-			fPotentialMatches[i] = new LinkedList();
-		}
-		// 1. extract all references, filtering out kinds we don't care about
-		localMonitor.subTask(SearchMessages.SearchEngine_3); 
-		extractReferences(sourceScope, localMonitor);
-		localMonitor.worked(1);
-		if (localMonitor.isCanceled()) {
-			return EMPTY_RESULT;
-		}
-		// 2. resolve the remaining references
-		localMonitor.subTask(SearchMessages.SearchEngine_4);
-		resolveReferences(fPotentialMatches, localMonitor);
-		localMonitor.worked(1);
-		if (localMonitor.isCanceled()) {
-			return EMPTY_RESULT;
-		}
-		// 3. filter based on search conditions
-		localMonitor.subTask(SearchMessages.SearchEngine_5);
-		for (int i = 0; i < fPotentialMatches.length; i++) {
-			List references = fPotentialMatches[i];
-			if (!references.isEmpty()) {
-				IApiSearchCriteria condition = fConditions[i];
-				applyConditions(references, condition);
-			}
-			if (localMonitor.isCanceled()) {
-				return EMPTY_RESULT;
-			}
-		}
-		IApiSearchResult[] results = new IApiSearchResult[fPotentialMatches.length];
-		for (int i = 0; i < fPotentialMatches.length; i++) {
-			List references = fPotentialMatches[i];
-			results[i] = new ApiSearchResult(fConditions[i], (IReference[]) references.toArray(new IReference[references.size()]));
-			references.clear();
-		}
-		fCache.clear();
-		localMonitor.worked(1);
-		localMonitor.done();
-		return results;
-	}
-	
-	/**
-	 * Iterates through the given references, removing those that do not match
-	 * search conditions.
-	 * 
-	 * @param references
-	 * @param condition condition to satisfy
-	 */
-	private void applyConditions(List references, IApiSearchCriteria condition) {
-		Iterator iterator = references.iterator();
-		while (iterator.hasNext()) {
-			IReference ref = (IReference) iterator.next();
-			if (!condition.isMatch(ref)) {
-				iterator.remove();
-			}
-		}
-	}
-	
-	public void resolveReferences(IReference[] references, IProgressMonitor monitor) throws CoreException {
-		List list = new ArrayList(references.length);
-		for (int i = 0; i < references.length; i++) {
-			list.add(references[i]);
-		}
-		resolveReferences(new List[]{list}, monitor);
-	}
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/SearchMessages.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/SearchMessages.java
deleted file mode 100644
index 5459a2b..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/SearchMessages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.search;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * 
- */
-public class SearchMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.pde.api.tools.internal.search.searchmessages"; //$NON-NLS-1$
-	public static String SearchEngine_0;
-	public static String SearchEngine_1;
-	public static String SearchEngine_2;
-	public static String SearchEngine_3;
-	public static String SearchEngine_4;
-	public static String SearchEngine_5;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, SearchMessages.class);
-	}
-
-	private SearchMessages() {
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/SearchScope.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/SearchScope.java
deleted file mode 100644
index dc78da6..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/SearchScope.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.search;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.Map.Entry;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.AbstractClassFileContainer;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchScope;
-
-/**
- * Implementation of an API search scope.
- * 
- * @since 1.0.0
- */
-public class SearchScope extends AbstractClassFileContainer implements IApiSearchScope {
-		
-	/**
-	 * Map of components to collection of leaf element in that scope, or an empty
-	 * collection for entire component.
-	 */
-	private Map fComponents = new HashMap();
-	
-	/**
-	 * Map of component id's to components with that id, contained in this scope.
-	 */
-	private Map fComponentIds = new HashMap();
-	
-	/**
-	 * Adds the entire component to this scope.
-	 * 
-	 * @param component component to add
-	 */
-	public void addComponent(IApiComponent component) {
-		fComponents.put(component, new HashSet());
-		Set components = (Set)fComponentIds.get(component.getId());
-		if (components == null) {
-			components = new HashSet();
-			fComponentIds.put(component.getId(), components);
-		}
-		components.add(component);
-	}
-	
-	/**
-	 * Adds the given element to this scope.
-	 * 
-	 * @param component component the element is contained in
-	 * @param element element in the component to add
-	 */
-	public void addElement(IApiComponent component, IElementDescriptor element) {
-		Set parents = getParents(element);
-		Set leaves = (Set) fComponents.get(component);
-		if (leaves == null) {
-			addComponent(component);
-			leaves = (Set) fComponents.get(component);
-		}
-		// first check if a parent is already in the scope (i.e already contained)
-		Iterator iterator = parents.iterator();
-		while (iterator.hasNext()) {
-			IElementDescriptor el = (IElementDescriptor) iterator.next();
-			if (leaves.contains(el)) {
-				// already contains a parent element
-				return;
-			}
-		}
-		// remove existing leaves that are children of the element being added
-		iterator = leaves.iterator();
-		while (iterator.hasNext()) {
-			IElementDescriptor leaf = (IElementDescriptor) iterator.next();
-			parents = getParents(leaf);
-			if (parents.contains(element)) {
-				iterator.remove();
-			}
-		}
-		leaves.add(element);
-	}
-
-	/**
-	 * Returns all parent elements of the given element in a set.
-	 * 
-	 * @param element
-	 * @return parent elements
-	 */
-	private Set getParents(IElementDescriptor element) {
-		Set parents = new HashSet();
-		IElementDescriptor parent = element.getParent();
-		while (parent != null) {
-			parents.add(parent);
-			parent = parent.getParent();
-		}
-		return parents;
-	}
-	
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.descriptors.AbstractClassFileContainer#createClassFileContainers()
-	 */
-	protected List createClassFileContainers() throws CoreException {
-		List containers = new ArrayList(fComponents.size());
-		Iterator iterator = fComponents.entrySet().iterator();
-		while (iterator.hasNext()) {
-			Entry entry = (Entry) iterator.next();
-			IApiComponent component = (IApiComponent) entry.getKey();
-			if (component != null) {
-				Set leaves = (Set) entry.getValue();
-				if (leaves.isEmpty()) {
-					containers.add(component);
-				} else {
-					containers.add(new ScopedClassFileContainer(component, (IElementDescriptor[])leaves.toArray(new IElementDescriptor[leaves.size()])));
-				}
-			}
-		}
-		return containers;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.search.IApiSearchScope#encloses(java.lang.String, org.eclipse.pde.api.tools.descriptors.IElementDescriptor)
-	 */
-	public boolean encloses(String componentId, IElementDescriptor element) {
-		Set set = (Set) fComponentIds.get(componentId);
-		if (set != null) {
-			Iterator componets = set.iterator();
-			while (componets.hasNext()) {
-				Set leaves = (Set) fComponents.get(componets.next());
-				if (leaves != null) {
-					if (leaves.isEmpty()) {
-						// contains every thing in the component
-						// TODO: check if the element's type really exists in the component?
-						return true;
-					}
-					Iterator iterator = leaves.iterator();
-					Set parents = getParents(element);
-					while (iterator.hasNext()) {
-						IElementDescriptor leaf = (IElementDescriptor) iterator.next();
-						if (leaf.equals(element) || parents.contains(leaf)) {
-							return true;
-						}
-					}
-				}
-			}
-		}
-		return false;
-	}
-
-	public String getOrigin() {
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("*** Search Scope ***\n"); //$NON-NLS-1$
-		IApiComponent key = null;
-		HashSet entry = null;
-		for(Iterator iter = fComponents.keySet().iterator(); iter.hasNext();){
-			key = (IApiComponent) iter.next();
-			entry = (HashSet) fComponents.get(key);
-			buffer.append("Component: ").append(key.getId()).append('\n'); //$NON-NLS-1$
-			buffer.append("Elements: ").append(entry.toString()).append('\n'); //$NON-NLS-1$
-		}
-		return buffer.toString();
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/TypeScope.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/TypeScope.java
deleted file mode 100644
index 7dbeb14..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/TypeScope.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.search;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.Map.Entry;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMemberDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchScope;
-
-/**
- * A search scope containing only types from one component. More efficient than a general purpose
- * scope.
- * 
- * @since 1.0
- */
-public class TypeScope implements IApiSearchScope {
-
-	/**
-	 * Associated component
-	 */
-	private IApiComponent fComponent;
-	
-	/**
-	 * Map of package names to associated type descriptors
-	 */
-	private Map fPackageToTypes;
-			
-	/**
-	 * Constructs a new class file container/search scope on the given types.
-	 * 
-	 * @param component API component
-	 * @param types types within the component
-	 */
-	public TypeScope(IApiComponent component, IReferenceTypeDescriptor[] types) {
-		fComponent = component;
-		fPackageToTypes = new HashMap();
-		for (int i = 0; i < types.length; i++) {
-			IReferenceTypeDescriptor type = types[i];
-			String name = type.getPackage().getName();
-			Set set = (Set) fPackageToTypes.get(name);
-			if (set == null) {
-				set = new HashSet();
-				fPackageToTypes.put(name, set);
-			}
-			set.add(type);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.search.IApiSearchScope#encloses(java.lang.String, org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor)
-	 */
-	public boolean encloses(String componentId, IElementDescriptor element) {
-		if (getOrigin().equals(componentId)) {
-			if (element.getElementType() == IElementDescriptor.T_FIELD || element.getElementType() == IElementDescriptor.T_METHOD) {
-				element = ((IMemberDescriptor)element).getEnclosingType();
-			}
-			if (element.getElementType() == IElementDescriptor.T_REFERENCE_TYPE) {
-				IReferenceTypeDescriptor type = (IReferenceTypeDescriptor) element;
-				String pkg = type.getPackage().getName();
-				Set types = (Set) fPackageToTypes.get(pkg);
-				if (types != null) {
-					return types.contains(type);
-				}
-			}
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer#getOrigin()
-	 */
-	public String getOrigin() {
-		return fComponent.getId();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer#getPackageNames()
-	 */
-	public String[] getPackageNames() throws CoreException {
-		Set pkgs = fPackageToTypes.keySet();
-		return (String[]) pkgs.toArray(new String[pkgs.size()]);
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer#accept(org.eclipse.pde.api.tools.internal.provisional.ClassFileContainerVisitor)
-	 */
-	public void accept(ClassFileContainerVisitor visitor) throws CoreException {
-		if (visitor.visit(fComponent)) {
-			Set entrySet = fPackageToTypes.entrySet();
-			Iterator iterator = entrySet.iterator();
-			while (iterator.hasNext()) {
-				Entry entry = (Entry) iterator.next();
-				String pkg = (String)entry.getKey();
-				if (visitor.visitPackage(pkg)) {
-					Set types = (Set) entry.getValue();
-					Iterator typeIter = types.iterator();
-					while (typeIter.hasNext()) {
-						IReferenceTypeDescriptor type = (IReferenceTypeDescriptor) typeIter.next();
-						IClassFile classFile = fComponent.findClassFile(type.getQualifiedName());
-						if (classFile != null) {
-							visitor.visit(pkg, classFile);
-							visitor.end(pkg, classFile);
-						}
-					}
-				}
-				visitor.endVisitPackage(pkg);
-			}
-		}
-		visitor.end(fComponent);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer#close()
-	 */
-	public void close() throws CoreException {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer#findClassFile(java.lang.String)
-	 */
-	public IClassFile findClassFile(String qualifiedName) throws CoreException {
-		IReferenceTypeDescriptor descriptor = Factory.typeDescriptor(qualifiedName);
-		if (encloses(getOrigin(), descriptor)) {
-			return fComponent.findClassFile(qualifiedName);
-		}
-		return null;
-	}
-
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.api.tools.internal.provisional.IClassFileContainer#findClassFile(java.lang.String, java.lang.String)
-	 */
-	public IClassFile findClassFile(String qualifiedName, String id) throws CoreException {
-		if (getOrigin().equals(id)) {
-			return findClassFile(qualifiedName);
-		}
-		return null;
-	}
-
-	
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/XMLFactory.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/XMLFactory.java
deleted file mode 100644
index 7037321..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/XMLFactory.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.search;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.IApiAnnotations;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IFieldDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMemberDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IMethodDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.search.ILocation;
-import org.eclipse.pde.api.tools.internal.provisional.search.IReference;
-import org.eclipse.pde.api.tools.internal.provisional.search.ReferenceModifiers;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * Serializes references to XML.
- * 
- * @since 1.0.0
- */
-public class XMLFactory {
-	
-	/**
-	 * Constant representing a method signature attribute in XML.
-	 * Value is: <code>methodSignature</code>
-	 */
-	public static final String ATTR_METHOD_SIGNATURE = "methodSignature"; //$NON-NLS-1$
-
-	/**
-	 * Constant representing a method attribute in XML.
-	 * Value is: <code>method</code>
-	 */
-	public static final String ATTR_METHOD = "method"; //$NON-NLS-1$
-
-	/**
-	 * Constant representing a field attribute in XML.
-	 * Value is: <code>field</code>
-	 */
-	public static final String ATTR_FIELD = "field"; //$NON-NLS-1$
-
-	/**
-	 * Constant representing a type attribute in XML.
-	 * Value is: <code>type</code>
-	 */
-	public static final String ATTR_TYPE = "type"; //$NON-NLS-1$
-
-	/**
-	 * Constant representing a package attribute in XML.
-	 * Value is: <code>package</code>
-	 */
-	public static final String ATTR_PACKAGE = "package"; //$NON-NLS-1$
-
-	/**
-	 * Constant representing a line number attribute in XML.
-	 * Value is: <code>lineNumber</code>
-	 */
-	public static final String ATTR_LINE_NUMBER = "lineNumber"; //$NON-NLS-1$
-
-	/**
-	 * Constant representing a restrictions attribute in XML.
-	 * Value is: <code>restrictions</code>
-	 */
-	public static final String ATTR_RESTRICTIONS = "restrictions"; //$NON-NLS-1$
-
-	/**
-	 * Constant representing a visibility attribute in XML.
-	 * Value is: <code>visibility</code>
-	 */
-	public static final String ATTR_VISIBILITY = "visibility"; //$NON-NLS-1$
-
-	/**
-	 * Constant representing a component attribute in XML.
-	 * Value is: <code>component</code>
-	 */
-	public static final String ATTR_COMPONENT = "component"; //$NON-NLS-1$
-
-	/**
-	 * Constant representing the referenced element in XML.
-	 * Value is: <code>target</code>
-	 */
-	public static final String ELEMENT_TARGET = "target"; //$NON-NLS-1$
-
-	/**
-	 * Constant representing the origin of a reference element in XML.
-	 * Value is: <code>origin</code>
-	 */
-	public static final String ELEMENT_ORIGIN = "origin"; //$NON-NLS-1$
-	
-	/**
-	 * Constant representing reference elements node in XML.
-	 * Value is: <code>references</code>
-	 */
-	public static final String ELEMENT_REFERNCES = "references"; //$NON-NLS-1$
-	
-	/**
-	 * Constant representing a reference element node in XML.
-	 * Value is: <code>reference</code>
-	 */
-	public static final String ELEMENT_REFERNCE = "reference"; //$NON-NLS-1$
-	
-	/**
-	 * Constant representing a kind attribute in XML.
-	 * Value is: <code>kind</code>
-	 */
-	public static final String ATTR_KIND = "kind"; //$NON-NLS-1$	
-	
-	/**
-	 * Returns an XML element for the given reference element and document.
-	 * Clients are responsible for appending the element to an appropriate
-	 * parent node in the document.
-	 * 
-	 * @param reference reference to create XML for
-	 * @param document document in which to create the element
-	 * @return XML element
-	 */
-	public static Element serializeElement(IReference reference, Document document) {
-		Element element = document.createElement(ELEMENT_REFERNCE);
-		element.setAttribute(ATTR_KIND, toString(reference.getReferenceKind(), ReferenceModifiers.class, null));
-		ILocation origin = reference.getSourceLocation();
-		Element child = serializeLocation(ELEMENT_ORIGIN, origin.getApiComponent().getId(), origin.getMember(), origin.getLineNumber(), null, document);
-		element.appendChild(child);
-		ILocation target = reference.getResolvedLocation();
-		child = serializeLocation(ELEMENT_TARGET, target.getApiComponent().getId(), target.getMember(), -1, reference.getResolvedAnnotations(), document);
-		element.appendChild(child);
-		return element;
-	}
-	
-	/**
-	 * Returns an XML element representing the given location.
-	 * 
-	 * @param nodeName name of XML element
-	 * @param componentId component containing the element or <code>null</code> if unspecified
-	 * @param element the element being serialized
-	 * @param lineNumber the line number associated with the location or -1 if unspecified
-	 * @param annotation the API annotations associated with the element, or <code>null</code>
-	 *  if unspecified
-	 * @param document document in which to create the element
-	 * @return XML element
-	 */
-	private static Element serializeLocation(String nodeName, String componentId, IMemberDescriptor element, int lineNumber, IApiAnnotations annotation, Document document) {
-		Element node = document.createElement(nodeName);
-		if (componentId != null) {
-			node.setAttribute(ATTR_COMPONENT, componentId);
-		}
-		if (annotation != null) {
-			node.setAttribute(ATTR_VISIBILITY, toString(annotation.getVisibility(), VisibilityModifiers.class, null));
-			node.setAttribute(ATTR_RESTRICTIONS, toString(annotation.getRestrictions(), RestrictionModifiers.class, "NO_RESTRICTIONS")); //$NON-NLS-1$
-		}
-		if (lineNumber >= 0) {
-			node.setAttribute(ATTR_LINE_NUMBER, Integer.toString(lineNumber));
-		}
-		node.setAttribute(ATTR_PACKAGE, element.getPackage().getName());
-		if (element instanceof IReferenceTypeDescriptor) {
-			node.setAttribute(ATTR_TYPE, ((IReferenceTypeDescriptor)element).getName());
-		} else {
-			node.setAttribute(ATTR_TYPE, element.getEnclosingType().getName());
-			if (element instanceof IFieldDescriptor) {
-				node.setAttribute(ATTR_FIELD, element.getName());
-			} else if (element instanceof IMethodDescriptor) {
-				node.setAttribute(ATTR_METHOD, element.getName());
-				node.setAttribute(ATTR_METHOD_SIGNATURE, ((IMethodDescriptor)element).getSignature());
-			}
-		}
-		return node;
-	}
-	
-	/**
-	 * Returns the given modifiers in a string format
-	 * suitable for writing to an XML document. The string is
-	 * a comma separated list of constant names defined in
-	 * the given class.
-	 * 
-	 * @param modifiers reference kind bit mask
-	 * @param clazz class the modifiers are defined in
-	 * @param emptyValue string to return if the mask is empty or <code>null</code> if
-	 *  an empty string should be returned
-	 * @return comma separated list of reference kind constant names
-	 */
-	private static String toString(int modifiers, Class clazz, String emptyValue) {
-		Object obj = null;
-		try {
-			obj = clazz.newInstance();
-		} catch (InstantiationException e) {
-			ApiPlugin.log(e);
-		} catch (IllegalAccessException e) {
-			ApiPlugin.log(e);
-		}
-		StringBuffer buffer = new StringBuffer();
-		Field[] fields = clazz.getDeclaredFields();
-		for (int i = 0; i < fields.length; i++) {
-			Field field = fields[i];
-			if (Modifier.isPublic(field.getModifiers()) && field.getType() == int.class) {
-				try {
-					int flag = field.getInt(obj);
-					if (flag != 0 && (flag & modifiers) == flag) {
-						append(buffer, field.getName());
-					}
-				} catch (IllegalArgumentException e) {
-					ApiPlugin.log(e);
-				} catch (IllegalAccessException e) {
-					ApiPlugin.log(e);
-				}
-			}
-		} 
-		if (buffer.length() == 0 && emptyValue != null) {
-			return emptyValue;
-		}
-		return buffer.toString();
-	}
-	
-	/**
-	 * Appends the given modifier string to the buffer. A comma
-	 * is inserted if required.
-	 * 
-	 * @param buffer string buffer
-	 * @param modifier modifier to append
-	 */
-	private static void append(StringBuffer buffer, String modifier) {
-		if (buffer.length() > 0) {
-			buffer.append(',');
-		}
-		buffer.append(modifier);
-	}	
-	
-	/**
-	 * Serializes references into an XML document,
-	 * 
-	 * @param references to include
-	 * @return XML document
-	 * @throws CoreException
-	 */
-	public static Document serializeReferences(IReference[] references) throws CoreException {
-		Document document = Util.newDocument();
-		Element root = document.createElement(ELEMENT_REFERNCES);
-		document.appendChild(root);
-		for (int i = 0; i < references.length; i++) {
-			Element child = XMLFactory.serializeElement(references[i], document);
-			root.appendChild(child);
-		}
-		return document;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/searchmessages.properties b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/searchmessages.properties
deleted file mode 100644
index 6842489..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/search/searchmessages.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-SearchEngine_0=API scanning: collecting references in 
-SearchEngine_1=Search failed
-SearchEngine_2=API usage analysis
-SearchEngine_3=API scanning: collecting references
-SearchEngine_4=API scanning: resolving references
-SearchEngine_5=API scanning: analyzing references
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/tools/ApiExtractorAdapter.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/tools/ApiExtractorAdapter.java
deleted file mode 100644
index 9250a63..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/tools/ApiExtractorAdapter.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.tools;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
-import org.objectweb.asm.ClassAdapter;
-import org.objectweb.asm.FieldVisitor;
-import org.objectweb.asm.MethodVisitor;
-import org.objectweb.asm.Opcodes;
-import org.objectweb.asm.commons.EmptyVisitor;
-
-public class ApiExtractorAdapter extends ClassAdapter {
-	private List localCollector;
-	private boolean ignore;
-	private String name;
-	private Set collector;
-
-	public ApiExtractorAdapter(Set collector) {
-		super(new EmptyVisitor());
-		this.ignore = true;
-		this.collector = collector;
-		this.localCollector = new ArrayList();
-	}
-
-	public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {
-		if ((access & Opcodes.ACC_PUBLIC) != 0) {
-			this.ignore = false;
-		}
-		this.name = name;
-	}
-	/* (non-Javadoc)
-	 * @see org.objectweb.asm.ClassAdapter#visitInnerClass(java.lang.String, java.lang.String, java.lang.String, int)
-	 */
-	public void visitInnerClass(String innerClassName, String outerName, String innerName, int access) {
-		if (this.name.equals(innerClassName) && (outerName == null || innerName == null)) {
-			// local class
-			this.ignore = true;
-		}
-	}
-	public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) {
-		if ((access & (Opcodes.ACC_PUBLIC | Opcodes.ACC_PROTECTED)) != 0) {
-			StringBuffer buffer = new StringBuffer(this.name);
-			buffer.append('#').append(name).append(desc);
-			this.collect(String.valueOf(buffer));
-		}
-		return null;
-	}
-
-	public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
-		if ((access & (Opcodes.ACC_PUBLIC | Opcodes.ACC_PROTECTED)) != 0) {
-			StringBuffer buffer = new StringBuffer(this.name);
-			buffer.append('#').append(name).append(desc);
-			this.collect(String.valueOf(buffer));
-		}
-		return null;
-	}
-	private void collect(String value) {
-		this.localCollector.add(value);
-	}
-
-	public void visitEnd() {
-		if (!this.ignore) {
-			this.collector.addAll(this.localCollector);
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/tools/JREApiCollector.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/tools/JREApiCollector.java
deleted file mode 100644
index dfb699d..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/tools/JREApiCollector.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.tools;
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileFilter;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.objectweb.asm.ClassReader;
-
-public class JREApiCollector {
-	private static boolean DEBUG = false;
-	private static final String PROFILE = "-profile"; //$NON-NLS-1$
-	private static final String JRE_LOCATION = "-jre"; //$NON-NLS-1$
-	private static final String OUTPUT = "-output"; //$NON-NLS-1$
-	private static final String PACKAGE_PROPERTY = "org.osgi.framework.system.packages"; //$NON-NLS-1$
-
-	static {
-		DEBUG = DEBUG || System.getProperty("DEBUG") != null; //$NON-NLS-1$
-	}
-	String jreLocation;
-	String jreProfile;
-	String output;
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		JREApiCollector apiCollector = new JREApiCollector();
-		apiCollector.configure(args);
-		apiCollector.run();
-	}
-
-	public void configure(String[] args) {
-		// command line processing
-		/*
-		 * Recognized options:
-		 * -jre
-		 * -output
-		 * -profile
-		 */
-		final int OPTION_DEFAULT = 0;
-		final int OPTION_PROFILE  = 1;
-		final int OPTION_JRE_LOCATION = 2;
-		final int OPTION_OUTPUT = 3;
-		int mode = OPTION_DEFAULT;
-		for (int i = 0, max = args.length; i < max; i++) {
-			String currentArg = args[i];
-			switch (mode) {
-				case OPTION_DEFAULT:
-					if (PROFILE.equals(currentArg)) {
-						mode = OPTION_PROFILE;
-						continue;
-					}
-					if (JRE_LOCATION.equals(currentArg)) {
-						mode = OPTION_JRE_LOCATION;
-						continue;
-					}
-					if (OUTPUT.equals(currentArg)) {
-						mode = OPTION_OUTPUT;
-						continue;
-					}
-					System.err.println("Unknown option : " + currentArg); //$NON-NLS-1$
-					break;
-				case OPTION_PROFILE:
-					if (this.jreProfile != null) {
-						throw new IllegalArgumentException("Cannot set the jre profile value more than once"); //$NON-NLS-1$
-					}
-					this.jreProfile = currentArg;
-					mode = OPTION_DEFAULT;
-					break;
-				case OPTION_OUTPUT:
-					if (this.output != null) {
-						throw new IllegalArgumentException("Cannot set the output value more than once"); //$NON-NLS-1$
-					}
-					this.output = currentArg;
-					mode = OPTION_DEFAULT;
-					break;
-				case OPTION_JRE_LOCATION :
-					if (this.jreLocation != null) {
-						throw new IllegalArgumentException("Cannot set the jre location value more than once"); //$NON-NLS-1$
-					}
-					this.jreLocation = currentArg;
-					mode = OPTION_DEFAULT;
-					break;
-			}
-		}
-		if (this.jreProfile == null || this.jreLocation == null || this.output == null) {
-			printUsage();
-			throw new IllegalArgumentException("Missing arguments"); //$NON-NLS-1$
-		}
-	}
-
-	private void printUsage() {
-		System.out.println("Usage: JREApiCollector -profile <path> -jre <path to jre home directory -output <path to output file>"); //$NON-NLS-1$
-	}
-
-	private void run() {
-		File profileFile = new File(this.jreProfile);
-		if (!profileFile.exists()) {
-			throw new IllegalArgumentException(NLS.bind(Messages.noProfile, this.jreProfile));
-		}
-		File outputFile = new File(this.output);
-		if (outputFile.exists()) {
-			if (!outputFile.delete()) {
-				throw new IllegalArgumentException(NLS.bind(Messages.cannotDeleteOutputFile, this.output));
-			}
-		} else {
-			File parent = outputFile.getParentFile();
-			if (!parent.exists() && !parent.mkdirs()) {
-				throw new IllegalArgumentException(NLS.bind(Messages.cannotCreateOutputFileParent, parent.getAbsolutePath()));
-			}
-		}
-		Properties properties = new Properties();
-		try {
-			FileInputStream stream = new FileInputStream(profileFile);
-			properties.load(stream);
-			stream.close();
-		} catch (FileNotFoundException e) {
-			e.printStackTrace();
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		String property = properties.getProperty(PACKAGE_PROPERTY);
-		if (property == null) {
-			throw new IllegalStateException(NLS.bind(Messages.cannotCreateOutputFileParent, PACKAGE_PROPERTY));
-		}
-		if (DEBUG) System.out.println(property);
-		Set packagesNames = new HashSet();
-		StringTokenizer tokenizer = new StringTokenizer(property, ","); //$NON-NLS-1$
-		while (tokenizer.hasMoreTokens()) {
-			String token = tokenizer.nextToken();
-			packagesNames.add(token.trim());
-		}
-		File jreHome = new File(this.jreLocation);
-		if (!jreHome.exists()) {
-			throw new IllegalArgumentException(NLS.bind(Messages.noJRELocation, this.jreLocation));
-		}
-		File[] files = Util.getAllFiles(jreHome, new FileFilter() {
-			public boolean accept(File pathname) {
-				return pathname.isDirectory() || Util.isArchive(pathname.getName());
-			}
-		});
-		if (files != null && files.length != 0) {
-			// directly process all entries
-			Set collector = new HashSet();
-			for (int i = 0, max = files.length; i < max; i++) {
-				collectClassFiles(files[i], packagesNames, collector);
-			}
-			List list = new ArrayList();
-			list.addAll(collector);
-			Collections.sort(list);
-			FileWriter fileWriter = null;
-			PrintWriter writer = null;
-			try {
-				fileWriter = new FileWriter(this.output);
-				writer = new PrintWriter(fileWriter);
-				for (Iterator iterator = list.iterator(); iterator.hasNext(); ) {
-					writer.println(iterator.next());
-				}
-			} catch (IOException e) {
-				e.printStackTrace();
-			} finally {
-				if (writer != null) {
-					writer.close();
-				}
-			}
-			
-			Set set = new HashSet();
-			set.addAll(collector);
-			if (DEBUG) {
-				System.out.println(NLS.bind(Messages.numberOfElements, Integer.toString(collector.size())));
-				System.out.println(NLS.bind(Messages.numberOfUniqueElements, Integer.toString(set.size())));
-			}
-		}
-	}
-
-	private void collectClassFiles(File file, Set packagesNames, Set collector) {
-		if (DEBUG) System.out.println(file.getAbsolutePath());
-		ZipInputStream inputStream = null;
-		try {
-			inputStream = new ZipInputStream(new BufferedInputStream(new FileInputStream(file)));
-			processArchiveEntry(inputStream, packagesNames, collector);
-		} catch (FileNotFoundException e) {
-			e.printStackTrace();
-		} catch (IOException e) {
-			e.printStackTrace();
-		} finally {
-			if (inputStream != null) {
-				try {
-					inputStream.close();
-				} catch (IOException e) {
-					e.printStackTrace();
-				}
-			}
-		}
-	}
-
-	private void processArchiveEntry(ZipInputStream inputStream, Set packageNames, Set collector) throws IOException {
-		ZipEntry zipEntry = inputStream.getNextEntry();
-		while (zipEntry != null) {
-			String name = zipEntry.getName();
-			String packageName = getPackageName(name);
-			if (Util.isClassFile(name) && includesPackage(packageNames, packageName)) {
-				extractApis(inputStream, collector);
-			}
-			inputStream.closeEntry();
-			zipEntry = inputStream.getNextEntry();
-		}
-	}
-
-	private boolean includesPackage(Set packageNames, String packageName) {
-		return packageNames.contains(packageName) || packageName.startsWith("java."); //$NON-NLS-1$
-	}
-
-	private void extractApis(InputStream inputStream, Set collector) throws IOException {
-		byte[] contents = Util.getInputStreamAsByteArray(inputStream, -1);
-		ClassReader classReader = new ClassReader(contents);
-		ApiExtractorAdapter visitor = new ApiExtractorAdapter(collector);
-		classReader.accept(visitor, ClassReader.SKIP_FRAMES | ClassReader.SKIP_CODE | ClassReader.SKIP_DEBUG);
-	}
-
-	private String getPackageName(String name) {
-		int index = name.lastIndexOf('/');
-		if (index != -1) {
-			return name.substring(0, index).replace('/', '.');
-		}
-		return Util.EMPTY_STRING;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/tools/Messages.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/tools/Messages.java
deleted file mode 100644
index ecb1166..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/tools/Messages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.tools;
-
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.pde.api.tools.internal.builder.BuilderMessages;
-
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.pde.api.tools.internal.tools.messages"; //$NON-NLS-1$
-
-	public static String noProfile;
-	public static String cannotDeleteOutputFile;
-	public static String cannotCreateOutputFileParent;
-	public static String cannotFindPackageProperty;
-	public static String numberOfElements;
-	public static String numberOfUniqueElements;	
-	public static String noJRELocation;
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, BuilderMessages.class);
-	}
-
-	private Messages() {
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/tools/messages.properties b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/tools/messages.properties
deleted file mode 100644
index 62794dc..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/tools/messages.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-noProfile=The jre profile file {0} doesn''t exist
-cannotDeleteOutputFile=could not delete the output file {0}
-cannotCreateOutputFileParent=could not create the output file parent {0}
-cannotFindPackageProperty=Could not find the package property : {0}
-numberOfElements={0} elements
-numberOfUniqueElements={0 unique elements
-noJRELocation=No jre found at : {0}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/ClassVisitorAdapter.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/ClassVisitorAdapter.java
deleted file mode 100644
index 826b756..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/ClassVisitorAdapter.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.util;
-
-import org.objectweb.asm.AnnotationVisitor;
-import org.objectweb.asm.Attribute;
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.FieldVisitor;
-import org.objectweb.asm.MethodVisitor;
-
-/**
- * An adapter for a class visitor. Can be subclassed to override desired methods.
- * 
- * @since 1.0.0
- */
-public class ClassVisitorAdapter implements ClassVisitor {
-
-	/* (non-Javadoc)
-	 * @see org.objectweb.asm.ClassVisitor#visit(int, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[])
-	 */
-	public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.objectweb.asm.ClassVisitor#visitAnnotation(java.lang.String, boolean)
-	 */
-	public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.objectweb.asm.ClassVisitor#visitAttribute(org.objectweb.asm.Attribute)
-	 */
-	public void visitAttribute(Attribute attr) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.objectweb.asm.ClassVisitor#visitEnd()
-	 */
-	public void visitEnd() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.objectweb.asm.ClassVisitor#visitField(int, java.lang.String, java.lang.String, java.lang.String, java.lang.Object)
-	 */
-	public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.objectweb.asm.ClassVisitor#visitInnerClass(java.lang.String, java.lang.String, java.lang.String, int)
-	 */
-	public void visitInnerClass(String name, String outerName, String innerName, int access) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.objectweb.asm.ClassVisitor#visitMethod(int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[])
-	 */
-	public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.objectweb.asm.ClassVisitor#visitOuterClass(java.lang.String, java.lang.String, java.lang.String)
-	 */
-	public void visitOuterClass(String owner, String name, String desc) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.objectweb.asm.ClassVisitor#visitSource(java.lang.String, java.lang.String)
-	 */
-	public void visitSource(String source, String debug) {
-	}
-
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/HashtableOfInt.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/HashtableOfInt.java
deleted file mode 100644
index bec27df..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/HashtableOfInt.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.util;
- 
- /**
-  *	Hashtable for non-zero int keys.
-  */
-  
-public final class HashtableOfInt {
-	// to avoid using Enumerations, walk the individual tables skipping nulls
-	public int[] keyTable;
-	public Object[] valueTable;
-
-	public int elementSize; // number of elements in the table
-	int threshold;
-public HashtableOfInt() {
-	this(5);
-}
-public HashtableOfInt(int size) {
-	this.elementSize = 0;
-	this.threshold = size; // size represents the expected number of elements
-	int extraRoom = (int) (size * 1.75f);
-	if (this.threshold == extraRoom)
-		extraRoom++;
-	this.keyTable = new int[extraRoom];
-	this.valueTable = new Object[extraRoom];
-}
-public boolean containsKey(int key) {
-	int length = keyTable.length, index = key % length;
-	int currentKey;
-	while ((currentKey = keyTable[index]) != 0) {
-		if (currentKey == key)
-			return true;
-		if (++index == length) {
-			index = 0;
-		}
-	}
-	return false;
-}
-public Object get(int key) {
-	int length = keyTable.length, index = key % length;
-	int currentKey;
-	while ((currentKey = keyTable[index]) != 0) {
-		if (currentKey == key)  return valueTable[index];
-		if (++index == length) {
-			index = 0;
-		}
-	}
-	return null;
-}
-public Object put(int key, Object value) {
-	int length = keyTable.length, index = key % length;
-	int currentKey;
-	while ((currentKey = keyTable[index]) != 0) {
-		if (currentKey == key)  return valueTable[index] = value;
-		if (++index == length) {
-			index = 0;
-		}
-	}
-	keyTable[index] = key;
-	valueTable[index] = value;
-
-	// assumes the threshold is never equal to the size of the table
-	if (++elementSize > threshold)
-		rehash();
-	return value;
-}
-private void rehash() {
-	HashtableOfInt newHashtable = new HashtableOfInt(elementSize * 2); // double the number of expected elements
-	int currentKey;
-	for (int i = keyTable.length; --i >= 0;)
-		if ((currentKey = keyTable[i]) != 0)
-			newHashtable.put(currentKey, valueTable[i]);
-
-	this.keyTable = newHashtable.keyTable;
-	this.valueTable = newHashtable.valueTable;
-	this.threshold = newHashtable.threshold;
-}
-public int size() {
-	return elementSize;
-}
-public String toString() {
-	String s = ""; //$NON-NLS-1$
-	Object object;
-	for (int i = 0, length = valueTable.length; i < length; i++)
-		if ((object = valueTable[i]) != null)
-			s += keyTable[i] + " -> " + object.toString() + "\n"; //$NON-NLS-2$ //$NON-NLS-1$
-	return s;
-}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/SDKTesterCreator.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/SDKTesterCreator.java
deleted file mode 100644
index 5a15716..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/SDKTesterCreator.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.util;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileFilter;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-import java.util.zip.CRC32;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-import java.util.zip.ZipOutputStream;
-
-import org.eclipse.pde.api.tools.internal.IApiCoreConstants;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-
-
-public class SDKTesterCreator {
-	private static final String DEBUG_PROPERTY = "DEBUG"; //$NON-NLS-1$
-
-	private static final String OVERRIDE = "-o"; //$NON-NLS-1$
-	private static boolean DEBUG = false;
-
-	static final CRC32 CRC32 = new CRC32();
-
-	static boolean override = false;
-
-	public static void main(String[] args) {
-		DEBUG = System.getProperty(DEBUG_PROPERTY) != null;
-		// first argument is the component.xml root directory name
-		if (args.length < 2) {
-			return;
-		}
-		if (args.length == 3) {
-			if (args[2].equals(OVERRIDE)) {
-				override = true;
-			}
-		}
-		File componentXmlRoot = new File(args[0]);
-		if (!componentXmlRoot.exists() || !componentXmlRoot.isDirectory()) {
-			System.err.println("Invalid component.xml root : " + args[0]); //$NON-NLS-1$
-			return;
-		}
-		File[] allComponentXmlFiles = Util.getAllFiles(componentXmlRoot, new FileFilter() {
-			public boolean accept(File path) {
-				return (path.isFile() && path.getName().equals(IApiCoreConstants.COMPONENT_XML_NAME)) || path.isDirectory();
-			}
-		});
-		if (allComponentXmlFiles == null) {
-			System.err.println("No component.xml to process"); //$NON-NLS-1$
-			return;
-		}
-		String[] allComponentXmlFileNames = new String[allComponentXmlFiles.length];
-		int beginIndex = componentXmlRoot.getAbsolutePath().length() + 1;
-		for (int i = 0, max = allComponentXmlFiles.length; i < max; i++) {
-			File file = allComponentXmlFiles[i];
-			allComponentXmlFileNames[i] = file.getAbsolutePath().substring(beginIndex);
-		}
-		Arrays.sort(allComponentXmlFileNames, new Comparator() {
-			public int compare(Object o1, Object o2) {
-				String fileName1 = (String) o1;
-				String fileName2 = (String) o2;
-				return fileName1.compareTo(fileName2);
-			}
-		});
-		if (DEBUG) {
-			int max = allComponentXmlFileNames.length;
-			System.out.println("" + max + " files found"); //$NON-NLS-1$ //$NON-NLS-2$
-			for (int i = 0; i < max; i++) {
-				System.out.println("component.xml [" + i + "] = " + allComponentXmlFileNames[i]); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		// second argument is the root of a plugins folder
-		File pluginsRoot = new File(args[1]);
-		if (!pluginsRoot.exists() || !pluginsRoot.isDirectory()) {
-			System.err.println("Invalid plugins root : " + args[1]); //$NON-NLS-1$
-			return;
-		}
-		File[] allPluginsFiles = pluginsRoot.listFiles();
-		if (DEBUG) {
-			if (allPluginsFiles != null) {
-				int max = allPluginsFiles.length;
-				System.out.println("" + max + " plugins found"); //$NON-NLS-1$ //$NON-NLS-2$
-				for (int i = 0, max2 = allPluginsFiles.length; i < max2; i++) {
-					File file = allPluginsFiles[i];
-					System.out.println(file.getAbsolutePath());
-				}
-			}
-		}
-		if (allPluginsFiles == null) {
-			System.err.println("No plugins to process"); //$NON-NLS-1$
-			return;
-		}
-		
-		List list = new ArrayList();
-		for (int i = 0, max = allPluginsFiles.length; i < max; i++) {
-			File file = allPluginsFiles[i];
-			int result = getComponentXmlIndex(allComponentXmlFileNames, file);
-			if (result >= 0) {
-				list.add(new Integer(result));
-				// there is a component.xml for the current plugin, add it
-				if (file.isDirectory()) {
-					// the plugin is a directory
-					processDirectoryEntry(file, new File(componentXmlRoot, allComponentXmlFileNames[result]));
-				} else {
-					// the plugin is a jar'd plugin
-					File outputFile = new File(file.getParent(), file.getName() + "_0");//$NON-NLS-1$
-					if (processJarFile(file, outputFile, new File(componentXmlRoot, allComponentXmlFileNames[result]))) {
-						// component.xml was added successfully into the plugin jar
-						File oldFile = new File(file.getParent(), file.getName() + "_old"); //$NON-NLS-1$
-						if (Util.copy(file, oldFile)) {
-							// backup copy is created in oldFile
-							if(file.delete()) {
-								if (outputFile.renameTo(file)) {
-									// get rid of the old copy
-									oldFile.delete();
-								} else {
-									System.err.println("Rename " + outputFile + " to " + file + " failed"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-									outputFile.delete();
-									// restore the backup file
-									oldFile.renameTo(file);
-								}
-							} else {
-								System.err.println("Could not delete " + file); //$NON-NLS-1$
-								// delete new file and backup
-								outputFile.delete();
-								oldFile.delete();
-							}
-						} else {
-							System.err.println("Could not create a backup for " + file); //$NON-NLS-1$
-						}
-					} else {
-						// delete the local file since nothing has been done for it
-						outputFile.delete();
-					}
-				}
-			}
-		}
-		// find all component.xml that were not matched
-		for (Iterator iterator = list.iterator(); iterator.hasNext();) {
-			Integer index = (Integer) iterator.next();
-			allComponentXmlFileNames[index.intValue()] = null;
-		}
-		for (int i = 0, max = allComponentXmlFileNames.length; i < max; i++) {
-			String componentXmlFileName = allComponentXmlFileNames[i];
-			if (componentXmlFileName != null) {
-				System.err.println("This component.xml file " + componentXmlFileName + " was not matched"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-	}
-
-	private static void processDirectoryEntry(File file, File componentXmlFile) {
-		File currentComponentXmlFile = new File(file, IApiCoreConstants.COMPONENT_XML_NAME);
-		if (currentComponentXmlFile.exists()) {
-			// there is a component.xml file in this plugin
-			System.out.println("component.xml already exists"); //$NON-NLS-1$
-			if (override) {
-				System.out.println("overriding component.xml for " + file); //$NON-NLS-1$
-				if (!currentComponentXmlFile.delete()) {
-					System.err.println("Could not delete existing component.xml file (" + currentComponentXmlFile + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-					return;
-				}
-			} else {
-				return;
-			}
-		}
-		if(DEBUG) {
-			System.out.println("Add component.xml in " + file); //$NON-NLS-1$
-		}
-		BufferedInputStream inputStream = null;
-		BufferedOutputStream outputStream = null;
-		try {
-			inputStream = new BufferedInputStream(new FileInputStream(componentXmlFile));
-			byte[] bytes = Util.getInputStreamAsByteArray(inputStream, -1);
-			outputStream = new BufferedOutputStream(new FileOutputStream(new File(file, IApiCoreConstants.COMPONENT_XML_NAME)));
-			outputStream.write(bytes);
-			outputStream.flush();
-		} catch (FileNotFoundException e) {
-			ApiPlugin.log(e);
-		} catch (IOException e) {
-			ApiPlugin.log(e);
-		} finally {
-			try {
-				if (inputStream != null) {
-					inputStream.close();
-				}
-			} catch(IOException e) {
-				// ignore
-			}
-			try {
-				if (outputStream != null) {
-					outputStream.close();
-				}
-			} catch(IOException e) {
-				// ignore
-			}
-		}
-	}
-
-	private static boolean processJarFile(File inputFile, File outputFile, File componentXMLFile) {
-		ZipInputStream inputStream = null;
-		ZipOutputStream zipOutputStream = null;
-		try {
-			zipOutputStream = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(outputFile)));
-		} catch (FileNotFoundException e) {
-			ApiPlugin.log(e);
-		}
-		if (zipOutputStream == null) {
-			System.err.println("Could not create the output file : " + outputFile); //$NON-NLS-1$
-			return false;
-		}
-		try {
-			inputStream = new ZipInputStream(new BufferedInputStream(new FileInputStream(inputFile)));
-			if (processArchiveEntry(inputStream, zipOutputStream, componentXMLFile) && DEBUG) {
-				System.out.println("Add component.xml in " + inputFile); //$NON-NLS-1$
-				return true;
-			}
-		} catch (IOException e) {
-			ApiPlugin.log(e);
-		} finally {
-			if (inputStream != null) {
-				try {
-					inputStream.close();
-				} catch (IOException e) {
-					// ignore
-				}
-			}
-			try {
-				zipOutputStream.flush();
-				zipOutputStream.close();
-			} catch (IOException e) {
-				// ignore
-			}
-		}
-		return false;
-	}
-
-	private static boolean processArchiveEntry(ZipInputStream inputStream, ZipOutputStream zipOutputStream, File componentXmlFile)
-			throws IOException {
-		byte[] bytes = null;
-		ZipEntry zipEntry = inputStream.getNextEntry();
-		boolean containsComponentXML = false;
-		while (zipEntry != null) {
-			String name = zipEntry.getName();
-			bytes = Util.getInputStreamAsByteArray(inputStream, (int) zipEntry.getSize());
-			if (name.equals(IApiCoreConstants.COMPONENT_XML_NAME)) {
-				containsComponentXML = true;
-				if (override) {
-					bytes = null;
-					containsComponentXML = false;
-				}
-			}
-			if (bytes != null) {
-				writeZipFileEntry(zipOutputStream, name, bytes, CRC32);
-			}
-			inputStream.closeEntry();
-			zipEntry = inputStream.getNextEntry();
-		}
-		if (!containsComponentXML && componentXmlFile != null) {
-			// add component.xml entry
-			BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream(componentXmlFile));
-			bytes = Util.getInputStreamAsByteArray(bufferedInputStream, -1);
-			bufferedInputStream.close();
-			if (bytes != null) {
-				writeZipFileEntry(zipOutputStream, IApiCoreConstants.COMPONENT_XML_NAME, bytes, CRC32);
-				return true;
-			} else {
-				System.err.println("Could not retrieve the contents of " + componentXmlFile); //$NON-NLS-1$
-			}
-		}
-		return false;
-	}
-
-	private static void writeZipFileEntry(ZipOutputStream outputStream,
-			String entryName,
-			byte[] bytes,
-			CRC32 crc32) throws IOException {
-		crc32.reset();
-		int byteArraySize = bytes.length;
-		crc32.update(bytes, 0, byteArraySize);
-		ZipEntry entry = new ZipEntry(entryName);
-		entry.setMethod(ZipEntry.DEFLATED);
-		entry.setSize(byteArraySize);
-		entry.setCrc(crc32.getValue());
-		outputStream.putNextEntry(entry);
-		outputStream.write(bytes, 0, byteArraySize);
-		outputStream.closeEntry();
-	}
-
-	private static int getComponentXmlIndex(String[] allComponentXmlFileNames, File file) {
-		String fileName = file.getName();
-		int index = fileName.indexOf('_');
-		String key = (index == -1 ? fileName : fileName.substring(0, index)) + File.separator + IApiCoreConstants.COMPONENT_XML_NAME;
-		int result = Arrays.binarySearch(allComponentXmlFileNames, key);
-		return result;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/SinceTagVersion.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/SinceTagVersion.java
deleted file mode 100644
index 4dec528..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/SinceTagVersion.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.util;
-
-import org.osgi.framework.Version;
-
-/**
- * Version identifier for @since tags. It consists of an optional bundle name followed by a 
- * version string that follows the format defined in the class {@link Version}
- *
- * @since 3.4
- */
-public class SinceTagVersion {
-	private String pluginName;
-	private Version version;
-
-	/**
-	 * Creates a new instance.
-	 * 
-	 * @param value the given since tag value
-	 * @throws IllegalArgumentException if the given value is null or doesn't have the right format
-	 */
-	public SinceTagVersion(String value) {
-		if (value == null) {
-			throw new IllegalArgumentException("The given value cannot be null"); //$NON-NLS-1$
-		}
-		int index = value.indexOf(' ');
-		if (index == -1) {
-			// should be only a version; no plugin name
-			this.version = new Version(value);
-		} else {
-			// plugin name followed by a version
-			this.pluginName = value.substring(0, index);
-			this.version = new Version(value.substring(index + 1, value.length()).trim());
-		}
-	}
-
-	/**
-	 * Returns the version part of the @since tag. It cannot be null.
-	 *
-	 * @return the version part of the @since tag
-	 */
-	public Version getVersion() {
-		return this.version;
-	}
-	
-	/**
-	 * Returns the plugin name part of the @since tag. It can be null.
-	 *
-	 * @return the plugin name part of the @since tag
-	 */
-	public String pluginName() {
-		return this.pluginName;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/SourceDefaultHandler.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/SourceDefaultHandler.java
deleted file mode 100644
index a7a14ab..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/SourceDefaultHandler.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.pde.api.tools.internal.util;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.helpers.DefaultHandler;
-
-public class SourceDefaultHandler extends DefaultHandler {
-	private static final String ORG_ECLIPSE_PDE_CORE_SOURCE_EXTENSION_POINT_NAME = "org.eclipse.pde.core.source"; //$NON-NLS-1$
-	private static final String EXTENSION_NAME = "extension"; //$NON-NLS-1$
-	private static final String ECLIPSE_POINT_ATTRIBUTE_NAME = "point"; //$NON-NLS-1$
-	boolean isSource = false;
-	public void error(SAXParseException e) throws SAXException {
-		e.printStackTrace();
-	}
-	public void startElement(String uri, String localName, String name, Attributes attributes)
-			throws SAXException {
-		if (this.isSource) return;
-		this.isSource = EXTENSION_NAME.equals(name)
-				&& attributes.getLength() == 1
-				&& (ECLIPSE_POINT_ATTRIBUTE_NAME.equals(attributes.getQName(0))
-						|| ECLIPSE_POINT_ATTRIBUTE_NAME.equals(attributes.getLocalName(0)))
-				&& ORG_ECLIPSE_PDE_CORE_SOURCE_EXTENSION_POINT_NAME.equals(attributes.getValue(0));
-	}
-	public boolean isSource() {
-		return this.isSource;
-	}
-}
\ No newline at end of file
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/Util.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/Util.java
deleted file mode 100644
index be16daa..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/Util.java
+++ /dev/null
@@ -1,2472 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.util;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.BufferedWriter;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileFilter;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.FileWriter;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.io.UnsupportedEncodingException;
-import java.nio.ByteBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CodingErrorAction;
-import java.nio.charset.IllegalCharsetNameException;
-import java.nio.charset.UnsupportedCharsetException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Properties;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.ITextFileBufferManager;
-import org.eclipse.core.filebuffers.LocationKind;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jdt.core.Flags;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IField;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IMember;
-import org.eclipse.jdt.core.IMethod;
-import org.eclipse.jdt.core.IType;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.Signature;
-import org.eclipse.jdt.core.compiler.CharOperation;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.core.dom.ArrayType;
-import org.eclipse.jdt.core.dom.MethodDeclaration;
-import org.eclipse.jdt.core.dom.ParameterizedType;
-import org.eclipse.jdt.core.dom.PrimitiveType;
-import org.eclipse.jdt.core.dom.QualifiedType;
-import org.eclipse.jdt.core.dom.SimpleType;
-import org.eclipse.jdt.core.dom.SingleVariableDeclaration;
-import org.eclipse.jdt.core.dom.Type;
-import org.eclipse.jdt.internal.launching.EEVMType;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.LibraryLocation;
-import org.eclipse.jdt.launching.environments.IExecutionEnvironment;
-import org.eclipse.jdt.launching.environments.IExecutionEnvironmentsManager;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.pde.api.tools.internal.ApiSettingsXmlVisitor;
-import org.eclipse.pde.api.tools.internal.IApiCoreConstants;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IClassFile;
-import org.eclipse.pde.api.tools.internal.provisional.RestrictionModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.DeltaVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IElementDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.descriptors.IReferenceTypeDescriptor;
-import org.eclipse.pde.api.tools.internal.provisional.problems.IApiProblem;
-import org.eclipse.pde.api.tools.internal.provisional.search.ReferenceModifiers;
-import org.objectweb.asm.Opcodes;
-import org.osgi.framework.Version;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * A Utility class to use for API tools
- * 
- * @since 1.0.0
- */
-public final class Util {
-	
-	/**
-	 * Class that runs a build in the workspace or the given project
-	 */
-	private static final class BuildJob extends Job {
-		private final IProject[] fProjects;
-
-		/**
-		 * Constructor
-		 * @param name
-		 * @param project
-		 */
-		private BuildJob(String name, IProject[] projects) {
-			super(name);
-			fProjects = projects;
-		}
-		
-		public boolean belongsTo(Object family) {
-			return ResourcesPlugin.FAMILY_MANUAL_BUILD == family;
-		}
-		
-		/**
-		 * Returns if this build job is covered by another build job
-		 * @param other
-		 * @return true if covered by another build job, false otherwise
-		 */
-		public boolean isCoveredBy(BuildJob other) {
-			if (other.fProjects == null) {
-				return true;
-			}
-			if (this.fProjects != null) {
-				for (int i = 0, max = this.fProjects.length; i < max; i++) {
-					if (!other.contains(this.fProjects[i])) {
-						return false;
-					}
-				}
-				return true;
-			}
-			return false;
-		}
-		
-		public boolean contains(IProject project) {
-			if (project == null) return false;
-			for (int i = 0, max = this.fProjects.length; i < max; i++) {
-				if (project.equals(this.fProjects[i])) {
-					return true;
-				}
-			}
-			return false;
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		protected IStatus run(IProgressMonitor monitor) {
-			synchronized (getClass()) {
-				if (monitor.isCanceled()) {
-					return Status.CANCEL_STATUS;
-				}
-		        Job[] buildJobs = Job.getJobManager().find(ResourcesPlugin.FAMILY_MANUAL_BUILD);
-		        for (int i= 0; i < buildJobs.length; i++) {
-		        	Job curr= buildJobs[i];
-		        	if (curr != this && curr instanceof BuildJob) {
-		        		BuildJob job= (BuildJob) curr;
-		        		if (job.isCoveredBy(this)) {
-		        			curr.cancel(); // cancel all other build jobs of our kind
-		        		}
-		        	}
-				}
-			}
-			try {
-				if (fProjects != null) {
-					int length = fProjects.length;
-					monitor.beginTask(UtilMessages.Util_0, length);
-					for (int i = 0; i < length; i++) {
-						IProject project = fProjects[i];
-						monitor.subTask(NLS.bind(UtilMessages.Util_5, project.getName())); 
-						project.build(IncrementalProjectBuilder.FULL_BUILD, ApiPlugin.BUILDER_ID, null, new SubProgressMonitor(monitor,1));
-						monitor.worked(1);
-					}
-				}
-			} catch (CoreException e) {
-				return e.getStatus();
-			} catch (OperationCanceledException e) {
-				return Status.CANCEL_STATUS;
-			}
-			finally {
-				monitor.done();
-			}
-			return Status.OK_STATUS;
-		}
-	}
-	
-	public static boolean DEBUG;
-
-	public static final String EMPTY_STRING = "";//$NON-NLS-1$
-	public static final String DEFAULT_PACKAGE_NAME = EMPTY_STRING;
-	
-	public static final String DOT_CLASS_SUFFIX = ".class"; //$NON-NLS-1$
-
-	/**
-	 * Constant representing the default size to read from an input stream
-	 */
-	private static final int DEFAULT_READING_SIZE = 8192;
-	
-	private static final String JAVA_LANG_OBJECT = "java.lang.Object"; //$NON-NLS-1$
-	private static final String JAVA_LANG_RUNTIMEEXCEPTION = "java.lang.RuntimeException"; //$NON-NLS-1$
-	public static final String LINE_DELIMITER = System.getProperty("line.separator"); //$NON-NLS-1$
-	
-	public static final String UNKNOWN_ELEMENT_TYPE = "UNKOWN_ELEMENT_KIND"; //$NON-NLS-1$
-
-	public static final String UNKNOWN_FLAGS = "UNKNOWN_FLAGS"; //$NON-NLS-1$
-	public static final String UNKNOWN_KIND = "UNKOWN_KIND"; //$NON-NLS-1$
-	
-	public static final IClassFile[] NO_CLASS_FILES = new IClassFile[0];
-
-	// Trace for delete operation
-	/*
-	 * Maximum time wasted repeating delete operations while running JDT/Core tests.
-	 */
-	private static int DELETE_MAX_TIME = 0;
-	/**
-	 * Trace deletion operations while running JDT/Core tests.
-	 */
-	private static boolean DELETE_DEBUG = false;
-	/**
-	 * Maximum of time in ms to wait in deletion operation while running JDT/Core tests.
-	 * Default is 10 seconds. This number cannot exceed 1 minute (ie. 60000).
-	 * <br>
-	 * To avoid too many loops while waiting, the ten first ones are done waiting
-	 * 10ms before repeating, the ten loops after are done waiting 100ms and
-	 * the other loops are done waiting 1s...
-	 */
-	private static int DELETE_MAX_WAIT = 10000;
-
-	static {
-		String property = System.getProperty("DEBUG"); //$NON-NLS-1$
-		DEBUG = property != null && property.equalsIgnoreCase("TRUE"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Throws an exception with the given message and underlying exception.
-	 * 
-	 * @param message error message
-	 * @param exception underlying exception, or <code>null</code>
-	 * @throws CoreException
-	 */
-	private static void abort(String message, Throwable exception) throws CoreException {
-		IStatus status = new Status(IStatus.ERROR, ApiPlugin.PLUGIN_ID, message, exception);
-		throw new CoreException(status);
-	}
-
-	/**
-	 * Appends a property to the given string buffer with the given key and value
-	 * in the format "key=value\n".
-	 * 
-	 * @param buffer buffer to append to
-	 * @param key key
-	 * @param value value
-	 */
-	private static void appendProperty(StringBuffer buffer, String key, String value) {
-		buffer.append(key);
-		buffer.append('=');
-		buffer.append(value);
-		buffer.append('\n');
-	}
-
-	/**
-	 * Collects all of the deltas from the given parent delta
-	 * @param delta
-	 * @return
-	 */
-	public static List collectAllDeltas(IDelta delta) {
-		final List list = new ArrayList();
-		delta.accept(new DeltaVisitor() {
-			public void endVisit(IDelta localDelta) {
-				if (localDelta.getChildren().length == 0) {
-					list.add(localDelta);
-				}
-				super.endVisit(localDelta);
-			}
-		});
-		return list;
-	}
-	
-	/**
-	 * Collects files into the collector array list
-	 * 
-	 * @param root
-	 *            the root to collect the files from
-	 * @param collector
-	 *            the collector to place matches into
-	 * @param fileFilter
-	 *            the filter for files or <code>null</code> to accept all
-	 *            files
-	 */
-	private static void collectAllFiles(File root, ArrayList collector, FileFilter fileFilter) {
-		File[] files = root.listFiles(fileFilter);
-		for (int i = 0; i < files.length; i++) {
-			final File currentFile = files[i];
-			if (currentFile.isDirectory()) {
-				collectAllFiles(currentFile, collector, fileFilter);
-			} else {
-				collector.add(currentFile);
-			}
-		}
-	}
-
-	/**
-	 * Convert fully qualified signature to unqualified one.
-	 * The descriptor can be dot or slashed based.
-	 * 
-	 * @param descriptor the given descriptor to convert
-	 * @return the converted signature
-	 */
-	public static String dequalifySignature(String signature) {
-		StringBuffer buffer = new StringBuffer();
-		char[] chars = signature.toCharArray();
-		for (int i = 0, max = chars.length; i < max; i++) {
-			char currentChar = chars[i];
-			switch(currentChar) {
-				case 'L' : {
-					buffer.append('Q');
-					// read reference type
-					int lastDotPosition = i;
-					i++;
-					while(i < chars.length && (currentChar = chars[i]) != ';') {
-						switch(currentChar) {
-							case '/' :
-							case '.' :
-								lastDotPosition = i;
-								break;
-						}
-						i++;
-					}
-					buffer.append(chars, lastDotPosition + 1, i - lastDotPosition - 1);
-					buffer.append(';');
-					break;
-				}
-				case 'Q': {
-					while(i < chars.length && currentChar != ';') {
-						buffer.append(currentChar);
-						currentChar = chars[++i];
-					}
-				}
-				default: {
-					buffer.append(currentChar);
-				}
-			}
-		}
-		return String.valueOf(buffer);
-	}
-
-	/**
-	 * Returns all of the API projects in the workspace
-	 * @return all of the API projects in the workspace or <code>null</code> if there are none.
-	 */
-	public static IProject[] getApiProjects() {
-		IProject[] allProjects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-		ArrayList temp = new ArrayList();
-		IProject project = null;
-		for (int i = 0, max = allProjects.length; i < max; i++) {
-			project = allProjects[i];
-			if (project.isAccessible()) {
-				try {
-					if (project.hasNature(org.eclipse.pde.api.tools.internal.provisional.ApiPlugin.NATURE_ID)) {
-						temp.add(project);
-					}
-				} 
-				catch (CoreException e) {}
-			}
-		}
-		IProject[] projects = null;
-		if (temp.size() != 0) {
-			projects = new IProject[temp.size()];
-			temp.toArray(projects);
-		}
-		return projects;
-	}
-	
-	/**
-	 * Returns if the specified signature is qualified or not.
-	 * Qualification is determined if there is a token in the signature the begins with an 'L'.
-	 * @param signature
-	 * @return true if the signature is qualified, false otherwise
-	 */
-	public static boolean isQualifiedSignature(String signature) {
-		StringTokenizer tokenizer = new StringTokenizer(signature, "();IJCSBDFTZ!["); //$NON-NLS-1$
-		if(tokenizer.hasMoreTokens()) {
-			return tokenizer.nextToken().charAt(0) == 'L';
-		}
-		return false;
-	}
-	
-	/**
-	 * Copies the given file to the new file
-	 * @param file
-	 * @param newFile
-	 * @return if the copy succeeded
-	 */
-	public static boolean copy(File file, File newFile) {
-		byte[] bytes = null;
-		BufferedInputStream inputStream = null;
-		try {
-			inputStream = new BufferedInputStream(new FileInputStream(file));
-			bytes = Util.getInputStreamAsByteArray(inputStream, -1);
-		} catch (FileNotFoundException e) {
-			ApiPlugin.log(e);
-		} catch (IOException e) {
-			ApiPlugin.log(e);
-		} finally {
-			if (inputStream != null) {
-				try {
-					inputStream.close();
-				} catch (IOException e) {
-					ApiPlugin.log(e);
-				}
-			}
-		}
-		if (bytes != null) {
-			BufferedOutputStream outputStream = null;
-			try {
-				outputStream = new BufferedOutputStream(new FileOutputStream(newFile));
-				outputStream.write(bytes);
-				outputStream.flush();
-			} catch (FileNotFoundException e) {
-				ApiPlugin.log(e);
-			} catch (IOException e) {
-				ApiPlugin.log(e);
-			} finally {
-				if (outputStream != null) {
-					try {
-						outputStream.close();
-					} catch(IOException e) {
-						// ignore
-					}
-				}
-			}
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Creates an ee file using the default ee id set in the workspace, or 'JavaSE 1.6' if there
-	 * is no default ee id set or the framework is not running
-	 * 
-	 * @return a new ee file
-	 * @throws IOException
-	 * @throws CoreException
-	 */
-	public static File createDefaultEEFile() throws IOException, CoreException {
-		return createEEFile(getDefaultEEId());
-	}
-	
-	/**
-	 * Resolves an EE file given the id of the environment
-	 * @param eeid
-	 * @return
-	 * @throws IOException
-	 */
-	public static File createEEFile(String eeid) throws IOException, CoreException {
-		if (ApiPlugin.isRunningInFramework()) {
-			IExecutionEnvironmentsManager manager = JavaRuntime.getExecutionEnvironmentsManager();
-			IExecutionEnvironment environment = manager.getEnvironment(eeid);
-			IVMInstall[] compatibleVMs = environment.getCompatibleVMs();
-			IVMInstall jre = null;
-			for (int i = 0; i < compatibleVMs.length; i++) {
-				IVMInstall install = compatibleVMs[i];
-				if (environment.isStrictlyCompatible(install)) {
-					jre = install;
-					break;
-				}
-			}
-			if (jre == null && compatibleVMs.length > 0) {
-				jre = compatibleVMs[0];
-			}
-			if (jre == null) {
-				jre = JavaRuntime.getDefaultVMInstall();
-			}
-			return createEEFile(jre, eeid);
-		} else {
-			String fileName = System.getProperty("ee.file"); //$NON-NLS-1$
-			if (fileName == null) {
-				abort("Could not retrieve the ee.file property", null); //$NON-NLS-1$
-			}
-			return new File(fileName);
-		}
-	}
-	
-	/**
-	 * Creates an EE file for the given JRE and specified EE id
-	 * @param eeid
-	 * @return
-	 * @throws IOException
-	 */
-	public static File createEEFile(IVMInstall jre, String eeid) throws IOException {
-		String string = Util.generateEEContents(jre, eeid);
-		File eeFile = File.createTempFile("eed", ".ee"); //$NON-NLS-1$ //$NON-NLS-2$
-		eeFile.deleteOnExit();
-		FileOutputStream outputStream = new FileOutputStream(eeFile);
-		outputStream.write(string.getBytes(IApiCoreConstants.UTF_8));
-		outputStream.close();
-		return eeFile;
-	}	
-
-	/**
-	 * Returns whether the objects are equal, accounting for either one being <code>null</code>.
-	 * 
-	 * @param o1
-	 * @param o2
-	 * @return whether the objects are equal, or both are <code>null</code>
-	 */
-	public static boolean equalsOrNull(Object o1, Object o2) {
-		if (o1 == null) {
-			return o2 == null;
-		}
-		return o1.equals(o2);
-	}
-
-	/**
-	 * Returns an execution environment description for the given VM.
-	 *  
-	 * @param vm JRE to create an definition for
-	 * @return an execution environment description for the given VM
-	 * @throws IOException if unable to generate description
-	 */
-	public static String generateEEContents(IVMInstall vm, String eeId) throws IOException {
-		StringBuffer buffer = new StringBuffer();
-		appendProperty(buffer, EEVMType.PROP_JAVA_HOME, vm.getInstallLocation().getCanonicalPath());
-		StringBuffer paths = new StringBuffer();
-		LibraryLocation[] libraryLocations = JavaRuntime.getLibraryLocations(vm);
-		for (int i = 0; i < libraryLocations.length; i++) {
-			LibraryLocation lib = libraryLocations[i];
-			paths.append(lib.getSystemLibraryPath().toOSString());
-			if (i < (libraryLocations.length - 1)) {
-				paths.append(File.pathSeparatorChar);
-			}
-		}
-		appendProperty(buffer, EEVMType.PROP_BOOT_CLASS_PATH, paths.toString());
-		appendProperty(buffer, EEVMType.PROP_CLASS_LIB_LEVEL, eeId);
-		return  buffer.toString();
-	}
-	
-	/**
-	 * Returns an array of all of the files from the given root that are
-	 * accepted by the given file filter. If the file filter is null all files
-	 * within the given root are returned.
-	 * 
-	 * @param root
-	 * @param fileFilter
-	 * @return the list of files from within the given root
-	 */
-	public static File[] getAllFiles(File root, FileFilter fileFilter) {
-		ArrayList files = new ArrayList();
-		if (root.isDirectory()) {
-			collectAllFiles(root, files, fileFilter);
-			File[] result = new File[files.size()];
-			files.toArray(result);
-			return result;
-		}
-		return null;
-	}
-
-	/**
-	 * Returns XML for the component's current API description.
-	 * 
-	 * @param apiComponent API component
-	 * @return XML for the API description
-	 * @throws CoreException if something goes terribly wrong 
-	 */
-	public static String getApiDescriptionXML(IApiComponent apiComponent) throws CoreException {
-		ApiSettingsXmlVisitor xmlVisitor = new ApiSettingsXmlVisitor(apiComponent);
-		apiComponent.getApiDescription().accept(xmlVisitor);
-		return xmlVisitor.getXML();
-	}
-
-	/**
-	 * Returns a build job
-	 * @param projects The projects to build or <code>null</code> to build the workspace.
-	 * @return the build job
-	 */
-	public static Job getBuildJob(final IProject[] projects) {
-		Assert.isNotNull(projects);
-		Job buildJob = new BuildJob(UtilMessages.Util_4, projects);
-		buildJob.setRule(ResourcesPlugin.getWorkspace().getRuleFactory().buildRule());
-		buildJob.setUser(true);
-		return buildJob;
-	}
-
-	/**
-	 * Returns the {@link IClassFile} with the given name from the first {@link IApiComponent}
-	 * it is found in, or <code>null</code> if not found
-	 * @param components
-	 * @param typeName
-	 * @return the {@link IClassFile} with the given name or <code>null</code>
-	 */
-	public static IClassFile getClassFile(IApiComponent[] components, String typeName) {
-		if (components == null) return null;
-		for (int i = 0, max = components.length; i < max; i++) {
-			IApiComponent apiComponent = components[i];
-			if (apiComponent != null) {
-				try {
-					IClassFile classFile = apiComponent.findClassFile(typeName);
-					if (classFile != null) {
-						return classFile;
-					}
-				} catch (CoreException e) {
-					// ignore
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the component with the given type name or <code>null</code> 
-	 * @param components
-	 * @param typeName
-	 * @return the component with the given type name or <code>null</code>
-	 */
-	public static IApiComponent getComponent(IApiComponent[] components, String typeName) {
-		if (components == null) return null;
-		for (int i = 0, max = components.length; i < max; i++) {
-			IApiComponent apiComponent = components[i];
-			if (apiComponent != null) {
-				try {
-					IClassFile classFile = apiComponent.findClassFile(typeName);
-					if (classFile != null) {
-						return apiComponent;
-					}
-				} catch (CoreException e) {
-					// ignore
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * @return the id of the default execution environment specified in the workspace,
-	 * or 'JavaSE-1.6' if none can be derived 
-	 */
-	public static String getDefaultEEId() {
-		String eeid = "JavaSE-1.6"; //$NON-NLS-1$
-		IVMInstall install = JavaRuntime.getDefaultVMInstall();
-		if (install != null) {
-			IExecutionEnvironment[] environments = JavaRuntime.getExecutionEnvironmentsManager().getExecutionEnvironments();
-			for (int i = 0; i < environments.length; i++) {
-				if (environments[i].isStrictlyCompatible(install)) {
-					return environments[i].getId();
-				}
-			}
-		}
-		return eeid;
-	}
-	
-	/**
-	 * Return a string that represents the element type of the given delta.
-	 * Returns {@link #UNKNOWN_ELEMENT_TYPE} if the element type cannot be determined.
-	 * 
-	 * @param delta the given delta
-	 * @return a string that represents the element type of the given delta.
-	 */
-	public static String getDeltaElementType(IDelta delta) {
-		return getDeltaElementType(delta.getElementType());
-	}
-
-	/**
-	 * Returns a text representation of a marker severity level
-	 * @param severity
-	 * @return text of a marker severity level
-	 */
-	public static String getSeverity(int severity) {
-		switch(severity) {
-			case IMarker.SEVERITY_ERROR: {
-				return "ERROR"; //$NON-NLS-1$
-			}
-			case IMarker.SEVERITY_INFO: {
-				return "INFO"; //$NON-NLS-1$
-			}
-			case IMarker.SEVERITY_WARNING: {
-				return "WARNING"; //$NON-NLS-1$
-			}
-			default: {
-				return "UNKNOWN_SEVERITY"; //$NON-NLS-1$
-			}
-		}
-	}
-	
-	/**
-	 * Return a string that represents the given element type
-	 * Returns {@link #UNKNOWN_ELEMENT_TYPE} if the element type cannot be determined.
-	 * 
-	 * @param elementType the given element type
-	 * @return a string that represents the given element type.
-	 */
-	public static String getDeltaElementType(int elementType) {
-		switch(elementType) {
-			case IDelta.ANNOTATION_ELEMENT_TYPE :
-				return "ANNOTATION_ELEMENT_TYPE"; //$NON-NLS-1$
-			case IDelta.INTERFACE_ELEMENT_TYPE :
-				return "INTERFACE_ELEMENT_TYPE"; //$NON-NLS-1$
-			case IDelta.ENUM_ELEMENT_TYPE :
-				return "ENUM_ELEMENT_TYPE"; //$NON-NLS-1$
-			case IDelta.API_COMPONENT_ELEMENT_TYPE :
-				return "API_COMPONENT_ELEMENT_TYPE"; //$NON-NLS-1$
-			case IDelta.API_PROFILE_ELEMENT_TYPE :
-				return "API_PROFILE_ELEMENT_TYPE"; //$NON-NLS-1$
-			case IDelta.CONSTRUCTOR_ELEMENT_TYPE :
-				return "CONSTRUCTOR_ELEMENT_TYPE"; //$NON-NLS-1$
-			case IDelta.MEMBER_ELEMENT_TYPE :
-				return "MEMBER_ELEMENT_TYPE"; //$NON-NLS-1$
-			case IDelta.METHOD_ELEMENT_TYPE :
-				return "METHOD_ELEMENT_TYPE"; //$NON-NLS-1$
-			case IDelta.FIELD_ELEMENT_TYPE :
-				return "FIELD_ELEMENT_TYPE"; //$NON-NLS-1$
-			case IDelta.CLASS_ELEMENT_TYPE :
-				return "CLASS_ELEMENT_TYPE"; //$NON-NLS-1$
-		}
-		return UNKNOWN_ELEMENT_TYPE;
-	}
-
-	/**
-	 * Return a string that represents the flags of the given delta.
-	 * Returns {@link #UNKNOWN_FLAGS} if the flags cannot be determined.
-	 * 
-	 * @param delta the given delta
-	 * @return a string that represents the flags of the given delta.
-	 */
-	public static String getDeltaFlagsName(IDelta delta) {
-		return getDeltaFlagsName(delta.getFlags());
-	}
-	
-	/**
-	 * Return a string that represents the given flags
-	 * Returns {@link #UNKNOWN_FLAGS} if the flags cannot be determined.
-	 * 
-	 * @param flags the given delta's flags
-	 * @return a string that represents the given flags.
-	 */
-	public static String getDeltaFlagsName(int flags) {
-		switch(flags) {
-			case IDelta.ABSTRACT_TO_NON_ABSTRACT : return "ABSTRACT_TO_NON_ABSTRACT"; //$NON-NLS-1$
-			case IDelta.ANNOTATION_DEFAULT_VALUE : return "ANNOTATION_DEFAULT_VALUE"; //$NON-NLS-1$
-			case IDelta.API_COMPONENT : return "API_COMPONENT"; //$NON-NLS-1$
-			case IDelta.ARRAY_TO_VARARGS : return "ARRAY_TO_VARARGS"; //$NON-NLS-1$
-			case IDelta.CHECKED_EXCEPTION : return "CHECKED_EXCEPTION"; //$NON-NLS-1$
-			case IDelta.CLASS_BOUND : return "CLASS_BOUND"; //$NON-NLS-1$
-			case IDelta.CLINIT : return "CLINIT"; //$NON-NLS-1$
-			case IDelta.CONSTRUCTOR : return "CONSTRUCTOR"; //$NON-NLS-1$
-			case IDelta.CONTRACTED_SUPERCLASS_SET : return "CONTRACTED_SUPERCLASS_SET"; //$NON-NLS-1$
-			case IDelta.CONTRACTED_SUPERINTERFACES_SET : return "CONTRACTED_SUPERINTERFACES_SET"; //$NON-NLS-1$
-			case IDelta.DECREASE_ACCESS : return "DECREASE_ACCESS"; //$NON-NLS-1$
-			case IDelta.ENUM_CONSTANT : return "ENUM_CONSTANT"; //$NON-NLS-1$
-			case IDelta.EXECUTION_ENVIRONMENT : return "EXECUTION_ENVIRONMENT"; //$NON-NLS-1$
-			case IDelta.EXPANDED_SUPERCLASS_SET : return "EXPANDED_SUPERCLASS_SET"; //$NON-NLS-1$
-			case IDelta.EXPANDED_SUPERINTERFACES_SET : return "EXPANDED_SUPERINTERFACES_SET"; //$NON-NLS-1$
-			case IDelta.FIELD : return "FIELD"; //$NON-NLS-1$
-			case IDelta.FIELD_MOVED_UP : return "FIELD_MOVED_UP"; //$NON-NLS-1$
-			case IDelta.FINAL_TO_NON_FINAL : return "FINAL_TO_NON_FINAL"; //$NON-NLS-1$
-			case IDelta.FINAL_TO_NON_FINAL_NON_STATIC : return "FINAL_TO_NON_FINAL_NON_STATIC"; //$NON-NLS-1$
-			case IDelta.FINAL_TO_NON_FINAL_STATIC_CONSTANT : return "FINAL_TO_NON_FINAL_STATIC_CONSTANT"; //$NON-NLS-1$
-			case IDelta.FINAL_TO_NON_FINAL_STATIC_NON_CONSTANT : return "FINAL_TO_NON_FINAL_STATIC_NON_CONSTANT"; //$NON-NLS-1$
-			case IDelta.INCREASE_ACCESS : return "INCREASE_ACCESS"; //$NON-NLS-1$
-			case IDelta.INTERFACE_BOUND : return "INTERFACE_BOUND"; //$NON-NLS-1$
-			case IDelta.INTERFACE_BOUNDS : return "INTERFACE_BOUNDS"; //$NON-NLS-1$
-			case IDelta.METHOD : return "METHOD"; //$NON-NLS-1$
-			case IDelta.METHOD_MOVED_UP : return "METHOD_MOVED_UP"; //$NON-NLS-1$
-			case IDelta.METHOD_WITH_DEFAULT_VALUE : return "METHOD_WITH_DEFAULT_VALUE"; //$NON-NLS-1$
-			case IDelta.METHOD_WITHOUT_DEFAULT_VALUE : return "METHOD_WITHOUT_DEFAULT_VALUE"; //$NON-NLS-1$
-			case IDelta.NATIVE_TO_NON_NATIVE : return "NATIVE_TO_NON_NATIVE"; //$NON-NLS-1$
-			case IDelta.NON_ABSTRACT_TO_ABSTRACT : return "NON_ABSTRACT_TO_ABSTRACT"; //$NON-NLS-1$
-			case IDelta.NON_FINAL_TO_FINAL : return "NON_FINAL_TO_FINAL"; //$NON-NLS-1$
-			case IDelta.NON_NATIVE_TO_NATIVE : return "NON_NATIVE_TO_NATIVE"; //$NON-NLS-1$
-			case IDelta.NON_STATIC_TO_STATIC : return "NON_STATIC_TO_STATIC"; //$NON-NLS-1$
-			case IDelta.NON_SYNCHRONIZED_TO_SYNCHRONIZED : return "NON_SYNCHRONIZED_TO_SYNCHRONIZED"; //$NON-NLS-1$
-			case IDelta.NON_TRANSIENT_TO_TRANSIENT : return "NON_TRANSIENT_TO_TRANSIENT"; //$NON-NLS-1$
-			case IDelta.STATIC_TO_NON_STATIC : return "STATIC_TO_NON_STATIC"; //$NON-NLS-1$
-			case IDelta.SUPERCLASS : return "SUPERCLASS"; //$NON-NLS-1$
-			case IDelta.SYNCHRONIZED_TO_NON_SYNCHRONIZED : return "SYNCHRONIZED_TO_NON_SYNCHRONIZED"; //$NON-NLS-1$
-			case IDelta.TO_ANNOTATION : return "TO_ANNOTATION"; //$NON-NLS-1$
-			case IDelta.TO_CLASS : return "TO_CLASS"; //$NON-NLS-1$
-			case IDelta.TO_ENUM : return "TO_ENUM"; //$NON-NLS-1$
-			case IDelta.TO_INTERFACE : return "TO_INTERFACE"; //$NON-NLS-1$
-			case IDelta.TRANSIENT_TO_NON_TRANSIENT : return "TRANSIENT_TO_NON_TRANSIENT"; //$NON-NLS-1$
-			case IDelta.TYPE : return "TYPE"; //$NON-NLS-1$
-			case IDelta.TYPE_ARGUMENTS : return "TYPE_ARGUMENTS"; //$NON-NLS-1$
-			case IDelta.TYPE_MEMBER : return "TYPE_MEMBER"; //$NON-NLS-1$
-			case IDelta.TYPE_PARAMETER : return "TYPE_PARAMETER"; //$NON-NLS-1$
-			case IDelta.TYPE_PARAMETER_NAME : return "TYPE_PARAMETER_NAME"; //$NON-NLS-1$
-			case IDelta.TYPE_PARAMETERS : return "TYPE_PARAMETERS"; //$NON-NLS-1$
-			case IDelta.TYPE_VISIBILITY : return "TYPE_VISIBILITY"; //$NON-NLS-1$
-			case IDelta.UNCHECKED_EXCEPTION : return "UNCHECKED_EXCEPTION"; //$NON-NLS-1$
-			case IDelta.VALUE : return "VALUE"; //$NON-NLS-1$
-			case IDelta.VARARGS_TO_ARRAY : return "VARARGS_TO_ARRAY"; //$NON-NLS-1$
-			case IDelta.RESTRICTIONS : return "RESTRICTIONS"; //$NON-NLS-1$
-		}
-		return UNKNOWN_FLAGS;
-	}
-
-	/**
-	 * Return a string that represents the kind of the given delta.
-	 * Returns {@link #UNKNOWN_KIND} if the kind cannot be determined.
-	 * 
-	 * @param delta the given delta
-	 * @return a string that represents the kind of the given delta.
-	 */
-	public static String getDeltaKindName(IDelta delta) {
-		return getDeltaKindName(delta.getKind());
-	}
-
-	/**
-	 * Return a string that represents the given kind.
-	 * Returns {@link #UNKNOWN_KIND} if the kind cannot be determined.
-	 * 
-	 * @param delta the given kind
-	 * @return a string that represents the given kind.
-	 */
-	public static String getDeltaKindName(int kind) {
-		switch(kind) {
-			case IDelta.ADDED :
-				return "ADDED"; //$NON-NLS-1$
-			case IDelta.CHANGED :
-				return "CHANGED"; //$NON-NLS-1$
-			case IDelta.REMOVED :
-				return "REMOVED"; //$NON-NLS-1$
-		}
-		return UNKNOWN_KIND;
-	}
-
-	/**
-	 * Returns the preference key for the given element type, the given kind and the given flags.
-	 * 
-	 * @param elementType the given element type (retrieved using {@link IDelta#getElementType()}
-	 * @param kind the given kind (retrieved using {@link IDelta#getKind()}
-	 * @param flags the given flags (retrieved using {@link IDelta#getFlags()}
-	 * @return the preference key for the given element type, the given kind and the given flags.
-	 */
-	public static String getDeltaPrefererenceKey(int elementType, int kind, int flags) {
-		StringBuffer buffer = new StringBuffer(Util.getDeltaElementType(elementType));
-		buffer.append('_').append(Util.getDeltaKindName(kind));
-		if (flags != -1) {
-			buffer.append('_').append(Util.getDeltaFlagsName(flags));
-		}
-		return String.valueOf(buffer);
-	}
-
-	/**
-	 * Returns the details of the api delta as a string
-	 * @param delta
-	 * @return the details of the delta as a string
-	 */
-	public static String getDetail(IDelta delta) {
-		StringBuffer buffer = new StringBuffer();
-		switch(delta.getElementType()) {
-			case IDelta.CLASS_ELEMENT_TYPE :
-				buffer.append("class"); //$NON-NLS-1$
-				break;
-			case IDelta.ANNOTATION_ELEMENT_TYPE :
-				buffer.append("annotation"); //$NON-NLS-1$
-				break;
-			case IDelta.INTERFACE_ELEMENT_TYPE :
-				buffer.append("interface"); //$NON-NLS-1$
-				break;
-			case IDelta.API_COMPONENT_ELEMENT_TYPE :
-				buffer.append("api component"); //$NON-NLS-1$
-				break;
-			case IDelta.API_PROFILE_ELEMENT_TYPE :
-				buffer.append("api profile"); //$NON-NLS-1$
-				break;
-			case IDelta.METHOD_ELEMENT_TYPE:
-				buffer.append("method"); //$NON-NLS-1$
-				break;
-			case IDelta.MEMBER_ELEMENT_TYPE :
-				buffer.append("member"); //$NON-NLS-1$
-				break;
-			case IDelta.CONSTRUCTOR_ELEMENT_TYPE :
-				buffer.append("constructor"); //$NON-NLS-1$
-				break;
-			case IDelta.ENUM_ELEMENT_TYPE :
-				buffer.append("enum"); //$NON-NLS-1$
-				break;
-			case IDelta.FIELD_ELEMENT_TYPE :
-				buffer.append("field"); //$NON-NLS-1$
-				break;
-		}
-		buffer.append(' ');
-		switch(delta.getKind()) {
-			case IDelta.ADDED :
-				buffer.append("added"); //$NON-NLS-1$
-				break;
-			case IDelta.REMOVED :
-				buffer.append("removed"); //$NON-NLS-1$
-				break;
-			case IDelta.CHANGED :
-				buffer.append("changed"); //$NON-NLS-1$
-				break;
-			default:
-				buffer.append("unknown kind"); //$NON-NLS-1$
-			break;
-		}
-		buffer.append(' ').append(getDeltaFlagsName(delta.getFlags())).append(' ').append(delta.getTypeName()).append("#").append(delta.getKey()); //$NON-NLS-1$
-		return String.valueOf(buffer);
-	}
-
-	/**
-	 * Returns the {@link IDocument} for the specified {@link ICompilationUnit}
-	 * @param cu
-	 * @return the {@link IDocument} for the specified {@link ICompilationUnit}
-	 * @throws CoreException
-	 */
-	public static IDocument getDocument(ICompilationUnit cu) throws CoreException {
-		if (cu.getOwner() == null) {
-			IFile file= (IFile) cu.getResource();
-			if (file.exists()) {
-				ITextFileBufferManager bufferManager= FileBuffers.getTextFileBufferManager();
-				IPath path= cu.getPath();
-				bufferManager.connect(path, LocationKind.IFILE, new NullProgressMonitor());
-				return bufferManager.getTextFileBuffer(path, LocationKind.IFILE).getDocument();
-			}
-		}
-		return new org.eclipse.jface.text.Document(cu.getSource());
-	}
-
-	/**
-	 * Retrieve EE properties from the ee.file property.
-	 * @param eeFileProperty the given ee.file property
-	 *
-	 * @return the corresponding properties or null if none
-	 */
-	public static Properties getEEProfile(File eeFileProperty) {
-		if (!eeFileProperty.exists()) {
-			return null;
-		}
-		EEVMType.clearProperties(eeFileProperty);
-		String ee = EEVMType.getProperty(EEVMType.PROP_CLASS_LIB_LEVEL, eeFileProperty);
-		if (ee == null) {
-			return null;
-		}
-		String profileName = ee + ".profile"; //$NON-NLS-1$
-		InputStream stream = Util.class.getResourceAsStream("profiles/" + profileName); //$NON-NLS-1$
-		if (stream != null) {
-			try {
-				Properties profile = new Properties();
-				profile.load(stream);
-				return profile;
-			} catch (IOException e) {
-				ApiPlugin.log(e);
-			} finally {
-				try {
-					stream.close();
-				} catch(IOException e) {
-					ApiPlugin.log(e);
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Retrieve EE properties for the given ee name.
-	 * @param eeName the given ee name
-	 *
-	 * @return the corresponding properties or null if none
-	 */
-	public static Properties getEEProfile(String eeName) {
-		if (eeName == null) {
-			return null;
-		}
-		String profileName = eeName + ".profile"; //$NON-NLS-1$
-		InputStream stream = Util.class.getResourceAsStream("profiles/" + profileName); //$NON-NLS-1$
-		if (stream != null) {
-			try {
-				Properties profile = new Properties();
-				profile.load(stream);
-				return profile;
-			} catch (IOException e) {
-				ApiPlugin.log(e);
-			} finally {
-				try {
-					stream.close();
-				} catch(IOException e) {
-					ApiPlugin.log(e);
-				}
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the number of fragments for the given version value, -1 if the format is unknown.
-	 * The version is formed like: [optional plugin name] major.minor.micro.qualifier.
-	 * 
-	 * @param version the given version value
-	 * @return the number of fragments for the given version value or -1 if the format is unknown
-	 * @throws IllegalArgumentException if version is null
-	 */
-	public static final int getFragmentNumber(String version) {
-		if (version == null) throw new IllegalArgumentException("The given version should not be null"); //$NON-NLS-1$
-		int index = version.indexOf(' ');
-		char[] charArray = version.toCharArray();
-		int length = charArray.length;
-		if (index + 1 >= length) {
-			return -1;
-		}
-		int counter = 1;
-		for (int i = index + 1; i < length; i++) {
-			switch(charArray[i]) {
-				case '0' :
-				case '1' :
-				case '2' :
-				case '3' :
-				case '4' :
-				case '5' :
-				case '6' :
-				case '7' :
-				case '8' :
-				case '9' :
-					continue;
-				case '.' :
-					counter++;
-					break;
-				default :
-					return -1;
-			}
-		}
-		return counter;
-	}
-
-	public static IMember getIMember(IDelta delta, IJavaProject javaProject) {
-		String typeName = delta.getTypeName();
-		if (typeName == null) return null;
-		IType type = null;
-		try {
-			type = javaProject.findType(typeName.replace('$', '.'));
-		} catch (JavaModelException e) {
-			// ignore
-		}
-		if (type == null) return null;
-		String key = delta.getKey();
-		switch(delta.getElementType()) {
-			case IDelta.FIELD_ELEMENT_TYPE : {
-					IField field = type.getField(key);
-					if (field.exists()) {
-						return field;
-					}
-				}
-				break;
-			case IDelta.CLASS_ELEMENT_TYPE :
-			case IDelta.ANNOTATION_ELEMENT_TYPE :
-			case IDelta.INTERFACE_ELEMENT_TYPE :
-			case IDelta.ENUM_ELEMENT_TYPE :
-			case IDelta.MEMBER_ELEMENT_TYPE :
-				// we report the marker on the type
-				switch(delta.getKind()) {
-					case IDelta.ADDED :
-						switch(delta.getFlags()) {
-							case IDelta.FIELD :
-								IField field = type.getField(key);
-								if (field.exists()) {
-									return field;
-								}
-								break;
-							case IDelta.METHOD :
-							case IDelta.CONSTRUCTOR :
-								int indexOf = key.indexOf('(');
-								if (indexOf == -1) {
-									return null;
-								}
-								int index = indexOf;
-								String selector = key.substring(0, index);
-								String descriptor = key.substring(index, key.length());
-								return getMethod(type, selector, descriptor);
-							case IDelta.TYPE_MEMBER :
-								IType type2 = type.getType(key);
-								if (type2.exists()) {
-									return type2;
-								}
-						}
-				}
-				return type;
-			case IDelta.METHOD_ELEMENT_TYPE :
-			case IDelta.CONSTRUCTOR_ELEMENT_TYPE : {
-					int indexOf = key.indexOf('(');
-					if (indexOf == -1) {
-						return null;
-					}
-					int index = indexOf;
-					String selector = key.substring(0, index);
-					String descriptor = key.substring(index, key.length());
-					return getMethod(type, selector, descriptor);
-				}
-		}
-		return null;
-	}
-
-	private static IMember getMethod(IType type, String selector, String descriptor) {
-		IMethod method = null;
-		String signature = descriptor.replace('/', '.');
-		String[] parameterTypes = Signature.getParameterTypes(signature);
-
-		try {
-			method = type.getMethod(selector, parameterTypes);
-		} catch (IllegalArgumentException e) {
-			ApiPlugin.log(e);
-		}
-		if (method == null) {
-			return null;
-		}
-		if (method.exists()) {
-			return method;
-		} else {
-			// try to check by selector
-			IMethod[] methods = null;
-			try {
-				methods = type.getMethods();
-			} catch (JavaModelException e) {
-				ApiPlugin.log(e);
-				return type;
-			}
-			List list = new ArrayList();
-			for (int i = 0, max = methods.length; i < max; i++) {
-				IMethod method2 = methods[i];
-				if (selector.equals(method2.getElementName())) {
-					list.add(method2);
-				}
-			}
-			switch(list.size()) {
-				case 0 :
-					return type;
-				case 1 :
-					return (IMember) list.get(0);
-				default:
-					// need to find a matching parameters
-					for (Iterator iterator = list.iterator(); iterator.hasNext(); ) {
-						IMethod method2 = (IMethod) iterator.next();
-						try {
-							if (Util.matchesSignatures(method2.getSignature(), signature)) {
-								return method2;
-							}
-						} catch (JavaModelException e) {
-							// ignore
-						}
-					}
-			}
-		}
-		return type;
-	}
-
-	/**
-	 * Returns the given input stream as a byte array
-	 * @param stream the stream to get as a byte array
-	 * @param length the length to read from the stream or -1 for unknown
-	 * @return the given input stream as a byte array
-	 * @throws IOException
-	 */
-	public static byte[] getInputStreamAsByteArray(InputStream stream, int length) throws IOException {
-		byte[] contents;
-		if (length == -1) {
-			contents = new byte[0];
-			int contentsLength = 0;
-			int amountRead = -1;
-			do {
-				// read at least 8K
-				int amountRequested = Math.max(stream.available(), DEFAULT_READING_SIZE);
-				// resize contents if needed
-				if (contentsLength + amountRequested > contents.length) {
-					System.arraycopy(contents,
-							0,
-							contents = new byte[contentsLength + amountRequested],
-							0,
-							contentsLength);
-				}
-				// read as many bytes as possible
-				amountRead = stream.read(contents, contentsLength, amountRequested);
-				if (amountRead > 0) {
-					// remember length of contents
-					contentsLength += amountRead;
-				}
-			} while (amountRead != -1);
-			// resize contents if necessary
-			if (contentsLength < contents.length) {
-				System.arraycopy(contents, 0, contents = new byte[contentsLength], 0, contentsLength);
-			}
-		} else {
-			contents = new byte[length];
-			int len = 0;
-			int readSize = 0;
-			while ((readSize != -1) && (len != length)) {
-				// See PR 1FMS89U
-				// We record first the read size. In this case length is the actual
-				// read size.
-				len += readSize;
-				readSize = stream.read(contents, len, length - len);
-			}
-		}
-		return contents;
-	}
-	
-	/**
-	 * Returns the given input stream's contents as a character array.
-	 * If a length is specified (i.e. if length != -1), this represents the number of bytes in the stream.
-	 * Note the specified stream is not closed in this method
-	 * @param stream the stream to get convert to the char array 
-	 * @param length the length of the input stream, or -1 if unknown
-	 * @param encoding the encoding to use when reading the stream
-	 * @return the given input stream's contents as a character array.
-	 * @throws IOException if a problem occurred reading the stream.
-	 */
-	public static char[] getInputStreamAsCharArray(InputStream stream, int length, String encoding) throws IOException {
-		Charset charset = null;
-		try {
-			charset = Charset.forName(encoding);
-		} catch (IllegalCharsetNameException e) {
-			System.err.println("Illegal charset name : " + encoding); //$NON-NLS-1$
-			return null;
-		} catch(UnsupportedCharsetException e) {
-			System.err.println("Unsupported charset : " + encoding); //$NON-NLS-1$
-			return null;
-		}
-		CharsetDecoder charsetDecoder = charset.newDecoder();
-		charsetDecoder.onMalformedInput(CodingErrorAction.REPLACE).onUnmappableCharacter(CodingErrorAction.REPLACE);
-		byte[] contents = getInputStreamAsByteArray(stream, length);
-		ByteBuffer byteBuffer = ByteBuffer.allocate(contents.length);
-		byteBuffer.put(contents);
-		byteBuffer.flip();
-		return charsetDecoder.decode(byteBuffer).array();
-	}
-	
-	public static IResource getManifestFile(IProject currentProject) {
-		return currentProject.findMember("META-INF/MANIFEST.MF"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns a string representation of the category of an api problem
-	 * @param category
-	 * @return the string of the api problem category
-	 */
-	public static String getProblemCategory(int category) {
-		if(category == IApiProblem.CATEGORY_BINARY) {
-			return "BINARY"; //$NON-NLS-1$
-		}
-		if(category == IApiProblem.CATEGORY_SINCETAGS) {
-			return "SINCETAGS"; //$NON-NLS-1$
-		}
-		if(category == IApiProblem.CATEGORY_USAGE) {
-			return "USAGE"; //$NON-NLS-1$
-		}
-		if(category == IApiProblem.CATEGORY_VERSION) {
-			return "VERSION"; //$NON-NLS-1$
-		}
-		if(category == IApiProblem.CATEGORY_API_PROFILE) {
-			return "API_PROFILE"; //$NON-NLS-1$
-		}
-		return "UNKNOWN_CATEGORY"; //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the string representation of the element kind of an
-	 * {@link IApiProblem}, given its category
-	 * @param category
-	 * @param kind
-	 * @return the string of the {@link IApiProblem} element kind 
-	 */
-	public static String getProblemElementKind(int category, int kind) {
-		switch(category) {
-			case IApiProblem.CATEGORY_BINARY:
-			case IApiProblem.CATEGORY_SINCETAGS:{
-				return getDeltaElementType(kind);
-			}
-			case IApiProblem.CATEGORY_USAGE:
-			case IApiProblem.CATEGORY_VERSION:
-			case IApiProblem.CATEGORY_API_PROFILE: {
-				return getDescriptorKind(kind);
-			}
-		}
-		return "UNKNOWN_KIND"; //$NON-NLS-1$
-	}
-	
-	/**
-	 * Return the string representation of the flags for a problem
-	 * @param category
-	 * @param flags
-	 * @return the string for the problem flags
-	 */
-	public static String getProblemFlagsName(int category, int flags) {
-		switch(category) {
-			case IApiProblem.CATEGORY_BINARY:  {
-				return getDeltaFlagsName(flags);
-			}
-			case IApiProblem.CATEGORY_SINCETAGS:
-			case IApiProblem.CATEGORY_USAGE:
-			case IApiProblem.CATEGORY_VERSION:
-			case IApiProblem.CATEGORY_API_PROFILE: {
-				switch(flags) {
-					case IApiProblem.LEAK_EXTENDS: {
-						return "LEAK_EXTENDS"; //$NON-NLS-1$
-					}
-					case IApiProblem.LEAK_FIELD: {
-						return "LEAK_FIELD"; //$NON-NLS-1$
-					}
-					case IApiProblem.LEAK_IMPLEMENTS: {
-						return "LEAK_IMPLEMENTS"; //$NON-NLS-1$
-					}
-					case IApiProblem.LEAK_METHOD_PARAMETER: {
-						return "LEAK_METHOD_PARAMETER"; //$NON-NLS-1$
-					}
-					case IApiProblem.LEAK_RETURN_TYPE: {
-						return "LEAK_RETURN_TYPE"; //$NON-NLS-1$
-					}
-				}
-			}
-		}
-		return "UNKNOWN_KIND"; //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the string representation of the kind of an
-	 * {@link IApiProblem}, given its category
-	 * @param category
-	 * @param kind
-	 * @return the string of the {@link IApiProblem} kind
-	 */
-	public static String getProblemKind(int category, int kind) {
-		switch(category) {
-			case IApiProblem.CATEGORY_BINARY: {
-				return getDeltaKindName(kind);
-			}
-			case IApiProblem.CATEGORY_SINCETAGS: {
-				return getTagsProblemKindName(kind);
-			}
-			case IApiProblem.CATEGORY_USAGE: {
-				return getUsageProblemKindName(kind);
-			}
-			case IApiProblem.CATEGORY_VERSION: {
-				return getVersionProblemKindName(kind);
-			}
-			case IApiProblem.CATEGORY_API_PROFILE: {
-				return getApiProfileProblemKindName(kind);
-			}
-		}
-		return "UNKNOWN_KIND"; //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the string representation of the API profile problem kind
-	 * @param kind
-	 * @return the string of the API profile problem kind
-	 */
-	public static String getApiProfileProblemKindName(int kind) {
-		switch(kind) {
-			case IApiProblem.API_PROFILE_MISSING: {
-				return "API_PROFILE_MISSING"; //$NON-NLS-1$
-			}
-		}
-		return "UNKOWN_KIND"; //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the string representation of the version problem kind.
-	 * @param kind
-	 * @return the string of the version API problem kind
-	 */
-	public static String getVersionProblemKindName(int kind) {
-		switch(kind) {
-			case IApiProblem.MINOR_VERSION_CHANGE: {
-				return "MINOR_VERSION_CHANGE"; //$NON-NLS-1$
-			}
-			case IApiProblem.MAJOR_VERSION_CHANGE: {
-				return "MAJOR_VERSION_CHANGE"; //$NON-NLS-1$
-			}
-			case IApiProblem.MAJOR_VERSION_CHANGE_NO_BREAKAGE: {
-				return "MAJOR_VERSION_CHANGE_NO_BREAKAGE"; //$NON-NLS-1$
-			}
-		}
-		return "UNKNOWN_KIND"; //$NON-NLS-1$
-	}
- 	
-	/**
-	 * Returns the string representation of the kind of usage problem for 
-	 * an {@link IApiProblem} kind
-	 * @param kind
-	 * @return the string for the usage api problem kind
-	 */
-	public static String getUsageProblemKindName(int kind) {
-		switch(kind) {
-			case IApiProblem.ILLEGAL_EXTEND: {
-				return "ILLEGAL_EXTEND"; //$NON-NLS-1$
-			}
-			case IApiProblem.ILLEGAL_IMPLEMENT: {
-				return "ILLEGAL_IMPLEMENT"; //$NON-NLS-1$
-			}
-			case IApiProblem.ILLEGAL_INSTANTIATE: {
-				return "ILLEGAL_INSTANTIATE"; //$NON-NLS-1$
-			}
-			case IApiProblem.ILLEGAL_REFERENCE: {
-				return "ILLEGAL_REFERENCE"; //$NON-NLS-1$
-			}
-			case IApiProblem.ILLEGAL_OVERRIDE: {
-				return "ILLEGAL_OVERRIDE"; //$NON-NLS-1$
-			}
-			case IApiProblem.API_LEAK: {
-				return "API_LEAK"; //$NON-NLS-1$
-			}
-		}
-		return "UNKNOWN_KIND"; //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the string representation of the kind of since tab
-	 * api problem
-	 * @param kind
-	 * @return the string for the since tag api problem kind
-	 */
-	public static String getTagsProblemKindName(int kind) {
-		switch(kind) {
-			case IApiProblem.SINCE_TAG_INVALID: {
-				return "INVALID_SINCE_TAGS"; //$NON-NLS-1$
-			}
-			case IApiProblem.SINCE_TAG_MALFORMED: {
-				return "MALFORMED_SINCE_TAGS"; //$NON-NLS-1$
-			}
-			case IApiProblem.SINCE_TAG_MISSING: {
-				return "MISSING_SINCE_TAGS"; //$NON-NLS-1$
-			}
-		}
-		return "UNKNOWN_KIND"; //$NON-NLS-1$
-	}
-	
-	/**
-	 * Creates a method signature from a specified {@link MethodDeclaration}
-	 * @param node
-	 * @return the signature for the given method node or <code>null</code>
-	 */
-	public static String getMethodSignatureFromNode(MethodDeclaration node) {
-		if(!node.isConstructor()) {
-			List params = node.parameters();
-			List rparams = new ArrayList(params.size());
-			SingleVariableDeclaration param = null;
-			String pname = null;
-			for(Iterator iter = params.iterator(); iter.hasNext();) {
-				param = (SingleVariableDeclaration) iter.next();
-				pname = Util.getTypeSignature(param.getType());
-				if(pname != null) {
-					rparams.add(pname);
-				}
-			}
-			if(rparams.size() == params.size()) {
-				Type returnType = node.getReturnType2();
-				if (returnType != null) {
-					String rtype = Util.getTypeSignature(returnType);
-					if(rtype != null) {
-						return Signature.createMethodSignature((String[]) rparams.toArray(new String[rparams.size()]), rtype);
-					}
-				}
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * The type name is dot-separated
-	 * @param typeName the given type name
-	 * @return the package name for the given type name or an empty string if none
-	 */
-	public static String getPackageName(String typeName) {
-		int index = typeName.lastIndexOf('.');
-		return index == -1 ? DEFAULT_PACKAGE_NAME : typeName.substring(0, index);
-	}
-	
-	/**
-	 * Returns the string representation of an element descriptor type or <code>null</code>
-	 * if the kind is unknown
-	 * @param kind
-	 * @return the string of the kind or <code>null</code>
-	 */
-	public static String getDescriptorKind(int kind) {
-		switch(kind) {
-			case IElementDescriptor.T_PACKAGE: {
-				return "PACKAGE";	 //$NON-NLS-1$
-			}
-			case IElementDescriptor.T_ARRAY_TYPE: {
-				return "ARRAY_TYPE"; //$NON-NLS-1$
-			}
-			case IElementDescriptor.T_FIELD: {
-				return "FIELD"; //$NON-NLS-1$
-			}
-			case IElementDescriptor.T_METHOD: {
-				return "METHOD"; //$NON-NLS-1$
-			}
-			case IElementDescriptor.T_PRIMITIVE_TYPE: {
-				return "PRIMITIVE_TYPE"; //$NON-NLS-1$
-			}
-			case IElementDescriptor.T_REFERENCE_TYPE: {
-				return "REFERENCE_TYPE"; //$NON-NLS-1$
-			}
-			case IElementDescriptor.T_RESOURCE: {
-				return "RESOURCE"; //$NON-NLS-1$
-			}
-		}
-		return "UNKOWN_ELEMENT_KIND"; //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the string representation of the specified visibility modifier or <code>null</code>
-	 * if the kind is unknown
-	 * @param kind
-	 * @return
-	 */
-	public static String getVisibilityKind(int kind) {
-		switch(kind) {
-			case VisibilityModifiers.ALL_VISIBILITIES: {
-				return "ALL_VISIBILITIES"; //$NON-NLS-1$
-			}
-			case VisibilityModifiers.API: {
-				return "API"; //$NON-NLS-1$
-			}
-			case VisibilityModifiers.PRIVATE: {
-				return "PRIVATE"; //$NON-NLS-1$
-			}
-			case VisibilityModifiers.PRIVATE_PERMISSIBLE: {
-				return "PRIVATE_PERMISSIBLE"; //$NON-NLS-1$
-			}
-			case VisibilityModifiers.SPI: {
-				return "SPI"; //$NON-NLS-1$
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the string representation of the specified restriction kind or <code>null</code>
-	 * if the kind is unknown
-	 * @param kind
-	 * @return the string for the kind or <code>null</code>
-	 */
-	public static String getRestrictionKind(int kind) {
-		switch(kind) {
-			case RestrictionModifiers.ALL_RESTRICTIONS: {
-				return "ALL_RESTRICTIONS"; //$NON-NLS-1$
-			}
-			case RestrictionModifiers.NO_EXTEND: {
-				return "NO_EXTEND"; //$NON-NLS-1$
-			}
-			case RestrictionModifiers.NO_IMPLEMENT: {
-				return "NO_IMPLEMENT"; //$NON-NLS-1$
-			}
-			case RestrictionModifiers.NO_INSTANTIATE: {
-				return "NO_INSTANTIATE"; //$NON-NLS-1$
-			}
-			case RestrictionModifiers.NO_REFERENCE: {
-				return "NO_REFERENCE"; //$NON-NLS-1$
-			}
-			case RestrictionModifiers.NO_RESTRICTIONS: {
-				return "NO_RESTRICTIONS"; //$NON-NLS-1$
-			}
-		}
-		return "UNKNOWN_KIND"; //$NON-NLS-1$
-	}
-	
-	/**
-	 * Returns the string representation for the given reference kind
-	 * @param kind
-	 * @return the string for the reference kind
-	 */
-	public static final String getReferenceKind(int kind) {
-		switch(kind) {
-			case ReferenceModifiers.REF_EXTENDS: {
-				return "EXTENDS"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_IMPLEMENTS: {
-				return "IMPLEMENTS"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_SPECIALMETHOD: {
-				return "INVOKED_SPECIAL"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_STATICMETHOD: {
-				return "INVOKED_STATIC"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_PUTFIELD: {
-				return "PUT_FIELD"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_PUTSTATIC: {
-				return "PUT_STATIC_FIELD"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_FIELDDECL: {
-				return "DECLARED_FIELD"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_PARAMETERIZED_TYPEDECL: {
-				return "DECLARED_PARAMETERIZED_TYPE"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_PARAMETERIZED_FIELDDECL: {
-				return "DECLARED_PARAMETERIZED_FIELD"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_PARAMETERIZED_METHODDECL: {
-				return "DECLARED_PARAMETERIZED_METHOD"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_PARAMETER: {
-				return "PARAMETER"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_LOCALVARIABLEDECL: {
-				return "LOCAL_VAR_DECLARED"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_PARAMETERIZED_VARIABLE: {
-				return "DECLARED_PARAMETERIZED_VARIABLE"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_THROWS: {
-				return "THROWS"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_CHECKCAST: {
-				return "CASTS"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_ARRAYALLOC: {
-				return "ALLOCATES_ARRAY"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_CATCHEXCEPTION: {
-				return "CATCHES_EXCEPTION"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_GETFIELD: {
-				return "GETS_FIELD"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_GETSTATIC: {
-				return "GETS_STATIC_FIELD"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_INSTANCEOF: {
-				return "INSTANCEOF"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_INTERFACEMETHOD: {
-				return "INTERFACE_METHOD"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_CONSTRUCTORMETHOD: {
-				return "CONSTRUCTOR_METHOD"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_LOCALVARIABLE: {
-				return "LOCAL_VARIABLE"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_PASSEDPARAMETER: {
-				return "PASSED_PARAMETER"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_RETURNTYPE: {
-				return "RETURN_TYPE"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_VIRTUALMETHOD: {
-				return "VIRTUAL_METHOD"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_CONSTANTPOOL: {
-				return "CONSTANT_POOL"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_INSTANTIATE: {
-				return "INSTANTIATION"; //$NON-NLS-1$
-			}
-			case ReferenceModifiers.REF_OVERRIDE : {
-				return "OVERRIDE"; //$NON-NLS-1$
-			}
-		}
-		return null;
-	}	
-	
-	/**
-	 * Returns a reference type for the given fully qualified type name.
-	 * 
-	 * @param fullyQualifiedName type name
-	 * @return reference type
-	 */
-	public static IReferenceTypeDescriptor getType(String fullyQualifiedName) {
-		int index = fullyQualifiedName.lastIndexOf('.');
-		String pkg = index == -1 ? DEFAULT_PACKAGE_NAME : fullyQualifiedName.substring(0, index);
-		String type = index == -1 ? fullyQualifiedName : fullyQualifiedName.substring(index + 1);
-		return Factory.packageDescriptor(pkg).getType(type);
-	}
-	
-	/**
-	 * Returns a reference type for the given fully qualified type name with the
-	 * given modifiers
-	 * 
-	 * @param fullyQualifiedName type name
-	 * @param modifiers access flags as defined by {@link Flags}
-	 * @return reference type
-	 */
-	public static IReferenceTypeDescriptor getType(String fullyQualifiedName, int modifiers) {
-		int index = fullyQualifiedName.lastIndexOf('.');
-		String pkg = index == -1 ? DEFAULT_PACKAGE_NAME : fullyQualifiedName.substring(0, index);
-		String type = index == -1 ? fullyQualifiedName : fullyQualifiedName.substring(index + 1);
-		return Factory.packageDescriptor(pkg).getType(type, modifiers);
-	}		
-	
-	/**
-	 * Returns the simple name of the type, by stripping off the last '.' segment and returning it.
-	 * This method assumes that qualified type names are '.' separated. If the type specified is a package
-	 * than an empty string is returned.
-	 * @param qualifiedname the fully qualified name of a type, '.' separated (e.g. a.b.c.Type)
-	 * @return the simple name from the qualified name. For example if the qualified name is a.b.c.Type this method 
-	 * will return Type (stripping off the package qualification)
-	 */
-	public static String getTypeName(String qualifiedname) {
-		int idx = qualifiedname.lastIndexOf('.');
-		idx++;
-		if(idx > 0) {
-			return qualifiedname.substring(idx, qualifiedname.length());
-		}
-		// default package
-		return qualifiedname;
-	}
-	
-	/**
-	 * Processes the signature for the given {@link Type}
-	 * @param type the type to process
-	 * @return the signature for the type or <code>null</code> if one could not be 
-	 * derived
-	 */
-	public static String getTypeSignature(Type type) {
-		switch(type.getNodeType()) {
-		case ASTNode.SIMPLE_TYPE: {
-			return Signature.createTypeSignature(((SimpleType) type).getName().getFullyQualifiedName(), false);
-		}
-		case ASTNode.QUALIFIED_TYPE: {
-			return Signature.createTypeSignature(((QualifiedType)type).getName().getFullyQualifiedName(), false);
-		}
-		case ASTNode.ARRAY_TYPE: {
-			ArrayType a = (ArrayType) type;
-			return Signature.createArraySignature(getTypeSignature(a.getElementType()), a.getDimensions());
-		}
-		case ASTNode.PARAMETERIZED_TYPE: {
-			//we don't need to care about the other scoping types only the base type
-			return getTypeSignature(((ParameterizedType) type).getType());
-		}
-		case ASTNode.PRIMITIVE_TYPE: {
-			return Signature.createTypeSignature(((PrimitiveType)type).getPrimitiveTypeCode().toString(), false);
-		}
-		}
-		return null;
-	}
-	
-	public static boolean isAbstract(int accessFlags) {
-		return (accessFlags & Opcodes.ACC_ABSTRACT) != 0;
-	}
-	
-	public static boolean isAnnotation(int accessFlags) {
-		return (accessFlags & Opcodes.ACC_ANNOTATION) != 0;
-	}
-	
-	/**
-	 * Returns if the specified file name is an archive name. A name is
-	 * considered to be an archive name if it ends with either '.zip' or '.jar'
-	 * 
-	 * @param fileName
-	 * @return true if the file name is an archive name false otherwise
-	 */
-	public static boolean isArchive(String fileName) {
-		String normalizedFileName = fileName.toLowerCase();
-		return normalizedFileName.endsWith(".zip") || normalizedFileName.endsWith(".jar"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-	/**
-	 * Returns if the flags are for a bridge
-	 * @param accessFlags
-	 * @return
-	 */
-	public static boolean isBridge(int accessFlags) {
-		return (accessFlags & Opcodes.ACC_BRIDGE) != 0;
-	}
-	
-	/**
-	 * Returns if the flags are for a class
-	 * @param accessFlags
-	 * @return
-	 */
-	public static boolean isClass(int accessFlags) {
-		return (accessFlags & (Opcodes.ACC_ENUM | Opcodes.ACC_ANNOTATION | Opcodes.ACC_INTERFACE)) == 0;
-	}
-	
-	/**
-	 * Returns if the specified file name is for a class file. A name is
-	 * considered to be a class file if it ends in '.class'
-	 * 
-	 * @param fileName
-	 * @return true if the name is for a class file false otherwise
-	 */
-	public static boolean isClassFile(String fileName) {
-		return fileName.toLowerCase().endsWith(DOT_CLASS_SUFFIX); 
-	}
-
-	public static boolean isDefault(int accessFlags) {
-		// none of the private, protected or public bit is set
-		return (accessFlags & (Opcodes.ACC_PRIVATE
-		|	Opcodes.ACC_PROTECTED
-		|	Opcodes.ACC_PUBLIC)) == 0;
-	}
-	
-	public static boolean isDeprecated(int accessFlags) {
-		return (accessFlags & Opcodes.ACC_DEPRECATED) != 0;
-	}
-
-
-	public static boolean isEnum(int accessFlags) {
-		return (accessFlags & Opcodes.ACC_ENUM) != 0;
-	}
-
-	public static boolean isFinal(int accessFlags) {
-		return (accessFlags & Opcodes.ACC_FINAL) != 0;
-	}
-	
-	public static final boolean isGreatherVersion(String versionToBeChecked, String referenceVersion) {
-		SinceTagVersion sinceTagVersion1 = null;
-		SinceTagVersion sinceTagVersion2 = null;
-		try {
-			sinceTagVersion1 = new SinceTagVersion(versionToBeChecked);
-			sinceTagVersion2 = new SinceTagVersion(referenceVersion);
-		} catch (IllegalArgumentException e) {
-			// We cannot compare the two versions as their format is unknown
-			// TODO (olivier) should we report these as malformed tags?
-			return false;
-		}
-		Version version1 = sinceTagVersion1.getVersion();
-		Version version2 = sinceTagVersion2.getVersion();
-		if (version1.getMajor() > version2.getMajor()) {
-			return true;
-		}
-		if (version1.getMinor() > version2.getMinor()) {
-			return true;
-		}
-		if (version1.getMicro() > version2.getMicro()) {
-			return true;
-		}
-		String qualifier1 = version1.getQualifier();
-		String qualifier2 = version2.getQualifier();
-		if (qualifier1 == null) {
-			return false;
-		} else if (qualifier2 == null) {
-			return true;
-		} else {
-			return qualifier1.compareTo(qualifier2) > 0;
-		}
-	}
-
-	public static final boolean isDifferentVersion(String versionToBeChecked, String referenceVersion) {
-		SinceTagVersion sinceTagVersion1 = null;
-		SinceTagVersion sinceTagVersion2 = null;
-		try {
-			sinceTagVersion1 = new SinceTagVersion(versionToBeChecked);
-			sinceTagVersion2 = new SinceTagVersion(referenceVersion);
-		} catch (IllegalArgumentException e) {
-			// We cannot compare the two versions as their format is unknown
-			// TODO (olivier) should we report these as malformed tags?
-			return false;
-		}
-		Version version1 = sinceTagVersion1.getVersion();
-		Version version2 = sinceTagVersion2.getVersion();
-		if (version1.getMajor() != version2.getMajor()) {
-			return true;
-		}
-		if (version1.getMinor() != version2.getMinor()) {
-			return true;
-		}
-		if (version1.getMicro() != version2.getMicro()) {
-			return true;
-		}
-		return false;
-	}
-
-	public static boolean isInterface(int accessFlags) {
-		return (accessFlags & Opcodes.ACC_INTERFACE) != 0;
-	}
-
-	/**
-	 * Returns if the specified file name is for a java source file. A name is
-	 * considered to be a java source file if it ends in '.java'
-	 * 
-	 * @param fileName
-	 * @return true if the name is for a java source file, false otherwise
-	 */
-	public static boolean isJavaFileName(String fileName) {
-		return fileName.toLowerCase().endsWith(".java"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns if the given name is {@link java.lang.Object}
-	 * @param name
-	 * @return true if the name is java.lang.Object, false otherwise
-	 */
-	public static boolean isJavaLangObject(String name) {
-		return name != null && name.equals(JAVA_LANG_OBJECT);
-	}
-	
-	/**
-	 * Return if the name is {@link java.lang.RuntimeException}
-	 * @param name
-	 * @return true if the name is java.lang.RuntimeException, false otherwise
-	 */
-	public static boolean isJavaLangRuntimeException(String name) {
-		return name != null && name.equals(JAVA_LANG_RUNTIMEEXCEPTION);
-	}
-
-	public static boolean isNative(int accessFlags) {
-		return (accessFlags & Opcodes.ACC_NATIVE) != 0;
-	}
-
-	public static boolean isPrivate(int accessFlags) {
-		return (accessFlags & Opcodes.ACC_PRIVATE) != 0;
-	}
-
-	public static boolean isProtected(int accessFlags) {
-		return (accessFlags & Opcodes.ACC_PROTECTED) != 0;
-	}
-
-	public static boolean isPublic(int accessFlags) {
-		return (accessFlags & Opcodes.ACC_PUBLIC) != 0;
-	}
-
-	public static boolean isStatic(int accessFlags) {
-		return (accessFlags & Opcodes.ACC_STATIC) != 0;
-	}
-
-	public static boolean isStrict(int accessFlags) {
-		return (accessFlags & Opcodes.ACC_STRICT) != 0;
-	}
-	
-	public static boolean isSynchronized(int accessFlags) {
-		return (accessFlags & Opcodes.ACC_SYNCHRONIZED) != 0;
-	}
-	
-	public static boolean isSynthetic(int accessFlags) {
-		return (accessFlags & Opcodes.ACC_SYNTHETIC) != 0;
-	}
-
-	public static boolean isTransient(int accessFlags) {
-		return (accessFlags & Opcodes.ACC_TRANSIENT) != 0;
-	}
-	
-	public static boolean isVarargs(int accessFlags) {
-		return (accessFlags & Opcodes.ACC_VARARGS) != 0;
-	}
-	
-	public static boolean isVolatile(int accessFlags) {
-		return (accessFlags & Opcodes.ACC_VOLATILE) != 0;
-	}
-	
-	public static boolean isVisible(IDelta delta) {
-		int modifiers = delta.getModifiers();
-		return isProtected(modifiers) || isPublic(modifiers);
-	}
-
-	/**
-	 * Returns a new XML document.
-	 * 
-	 * @return document
-	 * @throws CoreException if unable to create a new document
-	 */
-	public static Document newDocument() throws CoreException {
-		DocumentBuilderFactory dfactory= DocumentBuilderFactory.newInstance();
-		DocumentBuilder docBuilder = null;
-		try {
-			docBuilder = dfactory.newDocumentBuilder();
-		} catch (ParserConfigurationException e) {
-			abort("Unable to create new XML document.", e); //$NON-NLS-1$
-		}
-		Document doc= docBuilder.newDocument();
-		return doc;
-	}
-	
-	/**
-	 * Parses the given string representing an XML document, returning its
-	 * root element.
-	 * 
-	 * @param document XML document as a string
-	 * @return the document's root element
-	 * @throws CoreException if unable to parse the document
-	 */
-	public static Element parseDocument(String document) throws CoreException {
-		Element root = null;
-		InputStream stream = null;
-		try{
-			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			parser.setErrorHandler(new DefaultHandler());
-			stream = new ByteArrayInputStream(document.getBytes());
-			root = parser.parse(stream).getDocumentElement();
-		} catch (ParserConfigurationException e) {
-			abort("Unable to parse XML document.", e);  //$NON-NLS-1$
-		} catch (FactoryConfigurationError e) {
-			abort("Unable to parse XML document.", e);  //$NON-NLS-1$
-		} catch (SAXException e) {
-			abort("Unable to parse XML document.", e);  //$NON-NLS-1$
-		} catch (IOException e) {
-			abort("Unable to parse XML document.", e);  //$NON-NLS-1$
-		} finally { 
-			try{
-				if (stream != null) {
-					stream.close();
-				}
-			} catch(IOException e) {
-				abort("Unable to parse XML document.", e);  //$NON-NLS-1$
-			}
-		}
-		return root;
-	}
-	
-	/**
-	 * Save the given contents into the given file. The file parent folder must exist.
-	 * 
-	 * @param file the given file target
-	 * @param contents the given contents
-	 * @throws IOException if an IOException occurs while saving the file
-	 */
-	public static void saveFile(File file, String contents) throws IOException {
-		BufferedWriter writer = null;
-		try {
-			writer = new BufferedWriter(new FileWriter(file));
-			writer.write(contents);
-			writer.flush();
-		} finally {
-			if (writer != null) {
-				try {
-					writer.close();
-				} catch(IOException e) {
-					// ignore
-				}
-			}
-		}
-	}
-
-	/**
-	 * Returns the given string as an {@link InputStream}
-	 * @param string the string to convert
-	 * @return the {@link InputStream} for the given string
-	 */
-	public static InputStream getInputStreamFromString(String string) {
-		try {
-			return new ByteArrayInputStream(string.getBytes(IApiCoreConstants.UTF_8));
-		}
-		catch(UnsupportedEncodingException uee) {
-			ApiPlugin.log(uee);
-		}
-		return null;
-	}
-	
-	/**
-	 * Serializes the given XML document into a UTF-8 string.
-	 * 
-	 * @param document XML document to serialize
-	 * @return a string representing the given document
-	 * @throws CoreException if unable to serialize the document
-	 */
-	public static String serializeDocument(Document document) throws CoreException {
-		try {
-			ByteArrayOutputStream s = new ByteArrayOutputStream();
-			TransformerFactory factory = TransformerFactory.newInstance();
-			Transformer transformer = factory.newTransformer();
-			transformer.setOutputProperty(OutputKeys.METHOD, "xml");  //$NON-NLS-1$
-			transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-			transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount","4"); //$NON-NLS-1$ //$NON-NLS-2$
-			DOMSource source = new DOMSource(document);
-			StreamResult outputTarget = new StreamResult(s);
-			transformer.transform(source, outputTarget);
-			return s.toString(IApiCoreConstants.UTF_8);	
-		} catch (TransformerException e) {
-			abort("Unable to serialize XML document.", e);   //$NON-NLS-1$
-		} catch (IOException e) {
-			abort("Unable to serialize XML document.",e);  //$NON-NLS-1$
-		}
-		return null;
-	}
-	/**
-	 * Unzip the contents of the given zip in the given directory (create it if it doesn't exist)
-	 */
-	public static void unzip(String zipPath, String destDirPath) throws IOException {
-		InputStream zipIn = new FileInputStream(zipPath);
-		byte[] buf = new byte[8192];
-		File destDir = new File(destDirPath);
-		ZipInputStream zis = new ZipInputStream(zipIn);
-		FileOutputStream fos = null;
-		try {
-			ZipEntry zEntry;
-			while ((zEntry = zis.getNextEntry()) != null) {
-				// if it is empty directory, create it
-				if (zEntry.isDirectory()) {
-					new File(destDir, zEntry.getName()).mkdirs();
-					continue;
-				}
-				// if it is a file, extract it
-				String filePath = zEntry.getName();
-				int lastSeparator = filePath.lastIndexOf("/"); //$NON-NLS-1$
-				String fileDir = ""; //$NON-NLS-1$
-				if (lastSeparator >= 0) {
-					fileDir = filePath.substring(0, lastSeparator);
-				}
-				//create directory for a file
-				new File(destDir, fileDir).mkdirs();
-				//write file
-				File outFile = new File(destDir, filePath);
-				fos = new FileOutputStream(outFile);
-				int n = 0;
-				while ((n = zis.read(buf)) >= 0) {
-					fos.write(buf, 0, n);
-				}
-				fos.close();
-			}
-		} catch (IOException ioe) {
-			if (fos != null) {
-				try {
-					fos.close();
-				} catch (IOException ioe2) {
-				}
-			}
-		} finally {
-			try {
-				zipIn.close();
-				zis.close();
-			} catch (IOException ioe) {
-			}
-		}
-	}
-	/**
-	 * Gets the .ee file supplied to run tests based on system
-	 * property.
-	 * 
-	 * @return
-	 */
-	public static File getEEDescriptionFile() {
-		// generate a fake 1.5 ee file
-		File fakeEEFile = null;
-		PrintWriter writer = null;
-		try {
-			fakeEEFile = File.createTempFile("eefile", ".ee"); //$NON-NLS-1$ //$NON-NLS-2$
-			writer = new PrintWriter(new BufferedWriter(new FileWriter(fakeEEFile)));
-			writer.print("-Djava.home="); //$NON-NLS-1$
-			writer.println(System.getProperty("java.home")); //$NON-NLS-1$
-			writer.print("-Dee.bootclasspath="); //$NON-NLS-1$
-			writer.println(getJavaClassLibsAsString());
-			writer.println("-Dee.language.level=1.6"); //$NON-NLS-1$
-			writer.println("-Dee.class.library.level=JavaSE-1.6"); //$NON-NLS-1$
-			writer.flush();
-		} catch (IOException e) {
-			// ignore
-		} finally {
-			if (writer != null) {
-				writer.close();
-			}
-		}
-		return fakeEEFile;
-	}
-
-	/**
-	 * @return a string representation of all of the libraries from the bootpath 
-	 * of the current default system VM.
-	 */
-	public static String getJavaClassLibsAsString() {
-		String[] libs = Util.getJavaClassLibs();
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0, max = libs.length; i < max; i++) {
-			if (i > 0) {
-				buffer.append(File.pathSeparatorChar);
-			}
-			buffer.append(libs[i]);
-		}
-		return String.valueOf(buffer);
-	}
-	
-	/**
-	 * @return an array of the library names from the bootpath of the current default system VM 
-	 */
-	public static String[] getJavaClassLibs() {
-		// check bootclasspath properties for Sun, JRockit and Harmony VMs
-		String bootclasspathProperty = System.getProperty("sun.boot.class.path"); //$NON-NLS-1$
-		if ((bootclasspathProperty == null) || (bootclasspathProperty.length() == 0)) {
-			// IBM J9 VMs
-			bootclasspathProperty = System.getProperty("vm.boot.class.path"); //$NON-NLS-1$
-			if ((bootclasspathProperty == null) || (bootclasspathProperty.length() == 0)) {
-				// Harmony using IBM VME
-				bootclasspathProperty = System.getProperty("org.apache.harmony.boot.class.path"); //$NON-NLS-1$
-			}
-		}
-		String[] jars = null;
-		if ((bootclasspathProperty != null) && (bootclasspathProperty.length() != 0)) {
-			StringTokenizer tokenizer = new StringTokenizer(bootclasspathProperty, File.pathSeparator);
-			final int size = tokenizer.countTokens();
-			jars = new String[size];
-			int i = 0;
-			while (tokenizer.hasMoreTokens()) {
-				final String fileName = toNativePath(tokenizer.nextToken());
-				if (new File(fileName).exists()) {
-					jars[i] = fileName;
-					i++;
-				}
-			}
-			if (size != i) {
-				// resize
-				System.arraycopy(jars, 0, (jars = new String[i]), 0, i);
-			}
-		} else {
-			String jreDir = System.getProperty("java.home"); //$NON-NLS-1$
-			final String osName = System.getProperty("os.name"); //$NON-NLS-1$
-			if (jreDir == null) {
-				return new String[] {};
-			}
-			if (osName.startsWith("Mac")) { //$NON-NLS-1$
-				return new String[] {
-						toNativePath(jreDir + "/../Classes/classes.jar") //$NON-NLS-1$
-				};
-			}
-			final String vmName = System.getProperty("java.vm.name"); //$NON-NLS-1$
-			if ("J9".equals(vmName)) { //$NON-NLS-1$
-				return new String[] {
-						toNativePath(jreDir + "/lib/jclMax/classes.zip") //$NON-NLS-1$
-				};
-			}
-			String[] jarsNames = null;
-			ArrayList paths = new ArrayList();
-			if ("DRLVM".equals(vmName)) { //$NON-NLS-1$
-				FilenameFilter jarFilter = new FilenameFilter() {
-					public boolean accept(File dir, String name) {
-						return name.endsWith(".jar") & !name.endsWith("-src.jar");  //$NON-NLS-1$//$NON-NLS-2$
-					}
-				};
-				jarsNames = new File(jreDir + "/lib/boot/").list(jarFilter); //$NON-NLS-1$
-				addJarEntries(jreDir + "/lib/boot/", jarsNames, paths); //$NON-NLS-1$
-			} else {
-				jarsNames = new String[] {
-						"/lib/vm.jar", //$NON-NLS-1$
-						"/lib/rt.jar", //$NON-NLS-1$
-						"/lib/core.jar", //$NON-NLS-1$
-						"/lib/security.jar", //$NON-NLS-1$
-						"/lib/xml.jar", //$NON-NLS-1$
-						"/lib/graphics.jar" //$NON-NLS-1$
-				};
-				addJarEntries(jreDir, jarsNames, paths);
-			}
-			jars = new String[paths.size()];
-			paths.toArray(jars);
-		}
-		return jars;
-	}
-	/**
-	 * Makes the given path a path using native path separators as returned by File.getPath()
-	 * and trimming any extra slash.
-	 */
-	public static String toNativePath(String path) {
-		String nativePath = path.replace('\\', File.separatorChar).replace('/', File.separatorChar);
-		return
-		nativePath.endsWith("/") || nativePath.endsWith("\\") ? //$NON-NLS-1$ //$NON-NLS-2$
-				nativePath.substring(0, nativePath.length() - 1) :
-					nativePath;
-	}
-
-	private static void addJarEntries(String jreDir, String[] jarNames, ArrayList paths) {
-		for (int i = 0, max = jarNames.length; i < max; i++) {
-			final String currentName = jreDir + jarNames[i];
-			File f = new File(currentName);
-			if (f.exists()) {
-				paths.add(toNativePath(currentName));
-			}
-		}
-	}
-	/**
-	 * Delete a file or directory and insure that the file is no longer present
-	 * on file system. In case of directory, delete all the hierarchy underneath.
-	 *
-	 * @param file The file or directory to delete
-	 * @return true iff the file was really delete, false otherwise
-	 */
-	public static boolean delete(File file) {
-		// flush all directory content
-		if (file.isDirectory()) {
-			flushDirectoryContent(file);
-		}
-		// remove file
-		file.delete();
-		if (isFileDeleted(file)) {
-			return true;
-		}
-		return waitUntilFileDeleted(file);
-	}
-	public static void flushDirectoryContent(File dir) {
-		File[] files = dir.listFiles();
-		if (files == null) return;
-		for (int i = 0, max = files.length; i < max; i++) {
-			delete(files[i]);
-		}
-	}
-	/**
-	 * Wait until the file is _really_ deleted on file system.
-	 *
-	 * @param file Deleted file
-	 * @return true if the file was finally deleted, false otherwise
-	 */
-	private static boolean waitUntilFileDeleted(File file) {
-		int count = 0;
-		int delay = 10; // ms
-		int maxRetry = DELETE_MAX_WAIT / delay;
-		int time = 0;
-		while (count < maxRetry) {
-			try {
-				count++;
-				Thread.sleep(delay);
-				time += delay;
-				if (time > DELETE_MAX_TIME) DELETE_MAX_TIME = time;
-				if (DELETE_DEBUG) System.out.print('.');
-				if (file.exists()) {
-					if (file.delete()) {
-						// SUCCESS
-						return true;
-					}
-				}
-				if (isFileDeleted(file)) {
-					// SUCCESS
-					return true;
-				}
-				// Increment waiting delay exponentially
-				if (count >= 10 && delay <= 100) {
-					count = 1;
-					delay *= 10;
-					maxRetry = DELETE_MAX_WAIT / delay;
-					if ((DELETE_MAX_WAIT%delay) != 0) {
-						maxRetry++;
-					}
-				}
-			}
-			catch (InterruptedException ie) {
-				break; // end loop
-			}
-		}
-		System.err.println();
-		System.err.println("	!!! ERROR: "+file+" was never deleted even after having waited "+DELETE_MAX_TIME+"ms!!!"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		System.err.println();
-		return false;
-	}
-	/**
-	 * Returns whether a file is really deleted or not.
-	 * Does not only rely on {@link File#exists()} method but also
-	 * look if it's not in its parent children {@link #getParentChildFile(File)}.
-	 *
-	 * @param file The file to test if deleted
-	 * @return true if the file does not exist and was not found in its parent children.
-	 */
-	public static boolean isFileDeleted(File file) {
-		return !file.exists() && getParentChildFile(file) == null;
-	}
-	/**
-	 * Returns the parent's child file matching the given file or null if not found.
-	 *
-	 * @param file The searched file in parent
-	 * @return The parent's child matching the given file or null if not found.
-	 */
-	private static File getParentChildFile(File file) {
-		File parent = file.getParentFile();
-		if (parent == null || !parent.exists()) return null;
-		File[] files = parent.listFiles();
-		int length = files==null ? 0 : files.length;
-		if (length > 0) {
-			for (int i=0; i<length; i++) {
-				if (files[i] == file) {
-					return files[i];
-				} else if (files[i].equals(file)) {
-					return files[i];
-				} else if (files[i].getPath().equals(file.getPath())) {
-					return files[i];
-				}
-			}
-		}
-		return null;
-	}
-
-	public static boolean matchesSignatures(String signature, String signature2) {
-		if (!matches(Signature.getReturnType(signature), Signature.getReturnType(signature2))) {
-			return false;
-		}
-		String[] parameterTypes = Signature.getParameterTypes(signature);
-		String[] parameterTypes2 = Signature.getParameterTypes(signature2);
-		int length = parameterTypes.length;
-		int length2 = parameterTypes2.length;
-		if (length != length2) return false;
-		for (int i = 0; i < length2; i++) {
-			if (!matches(parameterTypes[i], parameterTypes2[i])) {
-				return false;
-			}
-		}
-		return true;
-	}
-	private static boolean matches(String type, String type2) {
-		if (type.length() == 1) {
-			if (type2.length() != 1) {
-				return false;
-			}
-			return type.charAt(0) == type2.charAt(0);
-		} else if (type2.length() == 1) {
-			return false;
-		}
-		char[] typeChars = type.toCharArray();
-		char[] type2Chars = type2.toCharArray();
-		// return types are reference types
-		if (typeChars[0] == Signature.C_ARRAY) {
-			// array type
-			if (type2Chars[0] != Signature.C_ARRAY) {
-				// not an array type
-				return false;
-			}
-			// check array types
-			// get type1 dimensions
-			int dims1 = Signature.getArrayCount(typeChars);
-			if (dims1 != Signature.getArrayCount(type2Chars)) {
-				return false;
-			}
-			return matches(CharOperation.subarray(typeChars, dims1, typeChars.length),
-					CharOperation.subarray(type2Chars, dims1, type2Chars.length));
-		}
-		if (type2.charAt(0) == Signature.C_ARRAY) {
-			// an array type
-			return false;
-		}
-		// check reference types
-		return matches(typeChars, type2Chars);
-	}
-
-	private static boolean matches(char[] type, char[] type2) {
-		char[] typeName = Signature.toCharArray(type);
-		char[] typeName2 = Signature.toCharArray(type2);
-		if (CharOperation.lastIndexOf(Signature.C_DOLLAR, typeName2) == -1) {
-			// no member type
-			int index = CharOperation.indexOf(typeName, typeName2, true);
-			return index != -1 && ((index + typeName.length) == typeName2.length);
-		}
-		// member type
-		int index = CharOperation.indexOf(typeName, typeName2, true);
-		if (index != -1 && ((index + typeName.length) == typeName2.length)) {
-			return true;
-		}
-		int dotIndex = CharOperation.lastIndexOf(Signature.C_DOT, typeName);
-		if (dotIndex == -1) {
-			return false;
-		}
-		typeName[dotIndex] = Signature.C_DOLLAR;
-		index = CharOperation.indexOf(typeName, typeName2, true);
-		return index != -1 && ((index + typeName.length) == typeName2.length);
-	}
-	
-	public static Set convertAsSet(String[] values) {
-		Set set = new HashSet();
-		if (values != null && values.length != 0) {
-			for (int i = 0, max = values.length; i < max; i++) {
-				set.add(values[i]);
-			}
-		}
-		return set;
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/UtilMessages.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/UtilMessages.java
deleted file mode 100644
index 3a5a324..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/UtilMessages.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.util;
-
-import org.eclipse.osgi.util.NLS;
-
-public class UtilMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.pde.api.tools.internal.util.utilmessages"; //$NON-NLS-1$
-	public static String Util_0;
-	public static String Util_2;
-	public static String Util_3;
-	public static String Util_4;
-	public static String Util_5;
-
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, UtilMessages.class);
-	}
-
-	private UtilMessages() {
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/CDC-1.0_Foundation-1.0.profile b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/CDC-1.0_Foundation-1.0.profile
deleted file mode 100644
index 1157a29..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/CDC-1.0_Foundation-1.0.profile
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.microedition.io
-org.osgi.framework.bootdelegation = \
- javax.microedition.io
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- CDC-1.0/Foundation-1.0
-osgi.java.profile.name = CDC-1.0/Foundation-1.0
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/CDC-1.1_Foundation-1.1.profile b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/CDC-1.1_Foundation-1.1.profile
deleted file mode 100644
index 374300a..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/CDC-1.1_Foundation-1.1.profile
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.microedition.io,\
- javax.microedition.pki,\
- javax.security.auth.x500
-org.osgi.framework.bootdelegation = \
- javax.microedition.io,\
- javax.microedition.pki,\
- javax.security.auth.x500
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- CDC-1.0/Foundation-1.0,\
- CDC-1.1/Foundation-1.1
-osgi.java.profile.name = CDC-1.1/Foundation-1.1
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/J2SE-1.2.profile b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/J2SE-1.2.profile
deleted file mode 100644
index 28f973a..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/J2SE-1.2.profile
+++ /dev/null
@@ -1,42 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- org.omg.CORBA,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextPackage
-org.osgi.framework.bootdelegation = \
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- JRE-1.1,\
- J2SE-1.2
-osgi.java.profile.name = J2SE-1.2
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/J2SE-1.3.profile b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/J2SE-1.3.profile
deleted file mode 100644
index b7dbdfa..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/J2SE-1.3.profile
+++ /dev/null
@@ -1,63 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.naming,\
- javax.naming.directory,\
- javax.naming.event,\
- javax.naming.ldap,\
- javax.naming.spi,\
- javax.rmi,\
- javax.rmi.CORBA,\
- javax.sound.midi,\
- javax.sound.midi.spi,\
- javax.sound.sampled,\
- javax.sound.sampled.spi,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- javax.transaction,\
- org.omg.CORBA,\
- org.omg.CORBA_2_3,\
- org.omg.CORBA_2_3.portable,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextPackage,\
- org.omg.SendingContext,\
- org.omg.stub.java.rmi
-org.osgi.framework.bootdelegation = \
- javax.*,\
- org.omg.*,\
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- JRE-1.1,\
- J2SE-1.2,\
- J2SE-1.3
-osgi.java.profile.name = J2SE-1.3
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/J2SE-1.4.profile b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/J2SE-1.4.profile
deleted file mode 100644
index 5655989..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/J2SE-1.4.profile
+++ /dev/null
@@ -1,123 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.crypto,\
- javax.crypto.interfaces,\
- javax.crypto.spec,\
- javax.imageio,\
- javax.imageio.event,\
- javax.imageio.metadata,\
- javax.imageio.plugins.jpeg,\
- javax.imageio.spi,\
- javax.imageio.stream,\
- javax.naming,\
- javax.naming.directory,\
- javax.naming.event,\
- javax.naming.ldap,\
- javax.naming.spi,\
- javax.net,\
- javax.net.ssl,\
- javax.print,\
- javax.print.attribute,\
- javax.print.attribute.standard,\
- javax.print.event,\
- javax.rmi,\
- javax.rmi.CORBA,\
- javax.security.auth,\
- javax.security.auth.callback,\
- javax.security.auth.kerberos,\
- javax.security.auth.login,\
- javax.security.auth.spi,\
- javax.security.auth.x500,\
- javax.security.cert,\
- javax.sound.midi,\
- javax.sound.midi.spi,\
- javax.sound.sampled,\
- javax.sound.sampled.spi,\
- javax.sql,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- javax.transaction,\
- javax.transaction.xa,\
- javax.xml.parsers,\
- javax.xml.transform,\
- javax.xml.transform.dom,\
- javax.xml.transform.sax,\
- javax.xml.transform.stream,\
- org.ietf.jgss,\
- org.omg.CORBA,\
- org.omg.CORBA_2_3,\
- org.omg.CORBA_2_3.portable,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextExtPackage,\
- org.omg.CosNaming.NamingContextPackage,\
- org.omg.Dynamic,\
- org.omg.DynamicAny,\
- org.omg.DynamicAny.DynAnyFactoryPackage,\
- org.omg.DynamicAny.DynAnyPackage,\
- org.omg.IOP,\
- org.omg.IOP.CodecFactoryPackage,\
- org.omg.IOP.CodecPackage,\
- org.omg.Messaging,\
- org.omg.PortableInterceptor,\
- org.omg.PortableInterceptor.ORBInitInfoPackage,\
- org.omg.PortableServer,\
- org.omg.PortableServer.CurrentPackage,\
- org.omg.PortableServer.POAManagerPackage,\
- org.omg.PortableServer.POAPackage,\
- org.omg.PortableServer.portable,\
- org.omg.PortableServer.ServantLocatorPackage,\
- org.omg.SendingContext,\
- org.omg.stub.java.rmi,\
- org.w3c.dom,\
- org.w3c.dom.css,\
- org.w3c.dom.events,\
- org.w3c.dom.html,\
- org.w3c.dom.stylesheets,\
- org.w3c.dom.views ,\
- org.xml.sax,\
- org.xml.sax.ext,\
- org.xml.sax.helpers
-org.osgi.framework.bootdelegation = \
- javax.*,\
- org.ietf.jgss,\
- org.omg.*,\
- org.w3c.*,\
- org.xml.*,\
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- JRE-1.1,\
- J2SE-1.2,\
- J2SE-1.3,\
- J2SE-1.4
-osgi.java.profile.name = J2SE-1.4
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/J2SE-1.5.profile b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/J2SE-1.5.profile
deleted file mode 100644
index 5c084ea..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/J2SE-1.5.profile
+++ /dev/null
@@ -1,150 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.activity,\
- javax.crypto,\
- javax.crypto.interfaces,\
- javax.crypto.spec,\
- javax.imageio,\
- javax.imageio.event,\
- javax.imageio.metadata,\
- javax.imageio.plugins.bmp,\
- javax.imageio.plugins.jpeg,\
- javax.imageio.spi,\
- javax.imageio.stream,\
- javax.management,\
- javax.management.loading,\
- javax.management.modelmbean,\
- javax.management.monitor,\
- javax.management.openmbean,\
- javax.management.relation,\
- javax.management.remote,\
- javax.management.remote.rmi,\
- javax.management.timer,\
- javax.naming,\
- javax.naming.directory,\
- javax.naming.event,\
- javax.naming.ldap,\
- javax.naming.spi,\
- javax.net,\
- javax.net.ssl,\
- javax.print,\
- javax.print.attribute,\
- javax.print.attribute.standard,\
- javax.print.event,\
- javax.rmi,\
- javax.rmi.CORBA,\
- javax.rmi.ssl,\
- javax.security.auth,\
- javax.security.auth.callback,\
- javax.security.auth.kerberos,\
- javax.security.auth.login,\
- javax.security.auth.spi,\
- javax.security.auth.x500,\
- javax.security.cert,\
- javax.security.sasl,\
- javax.sound.midi,\
- javax.sound.midi.spi,\
- javax.sound.sampled,\
- javax.sound.sampled.spi,\
- javax.sql,\
- javax.sql.rowset,\
- javax.sql.rowset.serial,\
- javax.sql.rowset.spi,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.plaf.synth,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- javax.transaction,\
- javax.transaction.xa,\
- javax.xml,\
- javax.xml.datatype,\
- javax.xml.namespace,\
- javax.xml.parsers,\
- javax.xml.transform,\
- javax.xml.transform.dom,\
- javax.xml.transform.sax,\
- javax.xml.transform.stream,\
- javax.xml.validation,\
- javax.xml.xpath,\
- org.ietf.jgss,\
- org.omg.CORBA,\
- org.omg.CORBA_2_3,\
- org.omg.CORBA_2_3.portable,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextExtPackage,\
- org.omg.CosNaming.NamingContextPackage,\
- org.omg.Dynamic,\
- org.omg.DynamicAny,\
- org.omg.DynamicAny.DynAnyFactoryPackage,\
- org.omg.DynamicAny.DynAnyPackage,\
- org.omg.IOP,\
- org.omg.IOP.CodecFactoryPackage,\
- org.omg.IOP.CodecPackage,\
- org.omg.Messaging,\
- org.omg.PortableInterceptor,\
- org.omg.PortableInterceptor.ORBInitInfoPackage,\
- org.omg.PortableServer,\
- org.omg.PortableServer.CurrentPackage,\
- org.omg.PortableServer.POAManagerPackage,\
- org.omg.PortableServer.POAPackage,\
- org.omg.PortableServer.portable,\
- org.omg.PortableServer.ServantLocatorPackage,\
- org.omg.SendingContext,\
- org.omg.stub.java.rmi,\
- org.w3c.dom,\
- org.w3c.dom.bootstrap,\
- org.w3c.dom.css,\
- org.w3c.dom.events,\
- org.w3c.dom.html,\
- org.w3c.dom.ls,\
- org.w3c.dom.ranges,\
- org.w3c.dom.stylesheets,\
- org.w3c.dom.traversal,\
- org.w3c.dom.views ,\
- org.xml.sax,\
- org.xml.sax.ext,\
- org.xml.sax.helpers
-org.osgi.framework.bootdelegation = \
- javax.*,\
- org.ietf.jgss,\
- org.omg.*,\
- org.w3c.*,\
- org.xml.*,\
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- JRE-1.1,\
- J2SE-1.2,\
- J2SE-1.3,\
- J2SE-1.4,\
- J2SE-1.5
-osgi.java.profile.name = J2SE-1.5
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/JRE-1.1.profile b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/JRE-1.1.profile
deleted file mode 100644
index 9a8d8fd..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/JRE-1.1.profile
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-org.osgi.framework.system.packages = 
-org.osgi.framework.bootdelegation = \
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- JRE-1.1
-osgi.java.profile.name = JRE-1.1
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/JavaSE-1.6.profile b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/JavaSE-1.6.profile
deleted file mode 100644
index f335899..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/JavaSE-1.6.profile
+++ /dev/null
@@ -1,185 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-org.osgi.framework.system.packages = \
- javax.accessibility,\
- javax.activation,\
- javax.activity,\
- javax.annotation,\
- javax.annotation.processing,\
- javax.crypto,\
- javax.crypto.interfaces,\
- javax.crypto.spec,\
- javax.imageio,\
- javax.imageio.event,\
- javax.imageio.metadata,\
- javax.imageio.plugins.bmp,\
- javax.imageio.plugins.jpeg,\
- javax.imageio.spi,\
- javax.imageio.stream,\
- javax.jws,\
- javax.jws.soap,\
- javax.lang.model,\
- javax.lang.model.element,\
- javax.lang.model.type,\
- javax.lang.model.util,\
- javax.management,\
- javax.management.loading,\
- javax.management.modelmbean,\
- javax.management.monitor,\
- javax.management.openmbean,\
- javax.management.relation,\
- javax.management.remote,\
- javax.management.remote.rmi,\
- javax.management.timer,\
- javax.naming,\
- javax.naming.directory,\
- javax.naming.event,\
- javax.naming.ldap,\
- javax.naming.spi,\
- javax.net,\
- javax.net.ssl,\
- javax.print,\
- javax.print.attribute,\
- javax.print.attribute.standard,\
- javax.print.event,\
- javax.rmi,\
- javax.rmi.CORBA,\
- javax.rmi.ssl,\
- javax.script,\
- javax.security.auth,\
- javax.security.auth.callback,\
- javax.security.auth.kerberos,\
- javax.security.auth.login,\
- javax.security.auth.spi,\
- javax.security.auth.x500,\
- javax.security.cert,\
- javax.security.sasl,\
- javax.sound.midi,\
- javax.sound.midi.spi,\
- javax.sound.sampled,\
- javax.sound.sampled.spi,\
- javax.sql,\
- javax.sql.rowset,\
- javax.sql.rowset.serial,\
- javax.sql.rowset.spi,\
- javax.swing,\
- javax.swing.border,\
- javax.swing.colorchooser,\
- javax.swing.event,\
- javax.swing.filechooser,\
- javax.swing.plaf,\
- javax.swing.plaf.basic,\
- javax.swing.plaf.metal,\
- javax.swing.plaf.multi,\
- javax.swing.plaf.synth,\
- javax.swing.table,\
- javax.swing.text,\
- javax.swing.text.html,\
- javax.swing.text.html.parser,\
- javax.swing.text.rtf,\
- javax.swing.tree,\
- javax.swing.undo,\
- javax.tools,\
- javax.transaction,\
- javax.transaction.xa,\
- javax.xml,\
- javax.xml.bind,\
- javax.xml.bind.annotation,\
- javax.xml.bind.annotation.adapters,\
- javax.xml.bind.attachment,\
- javax.xml.bind.helpers,\
- javax.xml.bind.util,\
- javax.xml.crypto,\
- javax.xml.crypto.dom,\
- javax.xml.crypto.dsig,\
- javax.xml.crypto.dsig.dom,\
- javax.xml.crypto.dsig.keyinfo,\
- javax.xml.crypto.dsig.spec,\
- javax.xml.datatype,\
- javax.xml.namespace,\
- javax.xml.parsers,\
- javax.xml.soap,\
- javax.xml.stream,\
- javax.xml.stream.events,\
- javax.xml.stream.util,\
- javax.xml.transform,\
- javax.xml.transform.dom,\
- javax.xml.transform.sax,\
- javax.xml.transform.stax,\
- javax.xml.transform.stream,\
- javax.xml.validation,\
- javax.xml.ws,\
- javax.xml.ws.handler,\
- javax.xml.ws.handler.soap,\
- javax.xml.ws.http,\
- javax.xml.ws.soap,\
- javax.xml.ws.spi,\
- javax.xml.xpath,\
- org.ietf.jgss,\
- org.omg.CORBA,\
- org.omg.CORBA_2_3,\
- org.omg.CORBA_2_3.portable,\
- org.omg.CORBA.DynAnyPackage,\
- org.omg.CORBA.ORBPackage,\
- org.omg.CORBA.portable,\
- org.omg.CORBA.TypeCodePackage,\
- org.omg.CosNaming,\
- org.omg.CosNaming.NamingContextExtPackage,\
- org.omg.CosNaming.NamingContextPackage,\
- org.omg.Dynamic,\
- org.omg.DynamicAny,\
- org.omg.DynamicAny.DynAnyFactoryPackage,\
- org.omg.DynamicAny.DynAnyPackage,\
- org.omg.IOP,\
- org.omg.IOP.CodecFactoryPackage,\
- org.omg.IOP.CodecPackage,\
- org.omg.Messaging,\
- org.omg.PortableInterceptor,\
- org.omg.PortableInterceptor.ORBInitInfoPackage,\
- org.omg.PortableServer,\
- org.omg.PortableServer.CurrentPackage,\
- org.omg.PortableServer.POAManagerPackage,\
- org.omg.PortableServer.POAPackage,\
- org.omg.PortableServer.portable,\
- org.omg.PortableServer.ServantLocatorPackage,\
- org.omg.SendingContext,\
- org.omg.stub.java.rmi,\
- org.w3c.dom,\
- org.w3c.dom.bootstrap,\
- org.w3c.dom.css,\
- org.w3c.dom.events,\
- org.w3c.dom.html,\
- org.w3c.dom.ls,\
- org.w3c.dom.ranges,\
- org.w3c.dom.stylesheets,\
- org.w3c.dom.traversal,\
- org.w3c.dom.views ,\
- org.xml.sax,\
- org.xml.sax.ext,\
- org.xml.sax.helpers
-org.osgi.framework.bootdelegation = \
- javax.*,\
- org.ietf.jgss,\
- org.omg.*,\
- org.w3c.*,\
- org.xml.*,\
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1,\
- JRE-1.1,\
- J2SE-1.2,\
- J2SE-1.3,\
- J2SE-1.4,\
- J2SE-1.5,\
- JavaSE-1.6
-osgi.java.profile.name = JavaSE-1.6
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/OSGi_Minimum-1.0.profile b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/OSGi_Minimum-1.0.profile
deleted file mode 100644
index d8c2d3f..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/OSGi_Minimum-1.0.profile
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-org.osgi.framework.system.packages = 
-org.osgi.framework.bootdelegation = \
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0
-osgi.java.profile.name = OSGi/Minimum-1.0
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/OSGi_Minimum-1.1.profile b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/OSGi_Minimum-1.1.profile
deleted file mode 100644
index 2d8b661..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/profiles/OSGi_Minimum-1.1.profile
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-org.osgi.framework.system.packages = 
-org.osgi.framework.bootdelegation = \
- sun.*,\
- com.sun.*
-org.osgi.framework.executionenvironment = \
- OSGi/Minimum-1.0,\
- OSGi/Minimum-1.1
-osgi.java.profile.name = OSGi/Minimum-1.1
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/utilmessages.properties b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/utilmessages.properties
deleted file mode 100644
index 13ea730..0000000
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/utilmessages.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Util_0=Building projects 
-Util_2=The system property -Dpluginfiles has not been defined
-Util_3=The system property -Dcontributors has not been defined
-Util_4=Building...
-Util_5=Building project {0}
diff --git a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/ApiFileGeneratorTask.java b/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/ApiFileGeneratorTask.java
deleted file mode 100644
index 4c251b6..0000000
--- a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/ApiFileGeneratorTask.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.tasks;
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileFilter;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Properties;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.osgi.util.ManifestElement;
-import org.eclipse.pde.api.tools.internal.ApiDescription;
-import org.eclipse.pde.api.tools.internal.ApiSettingsXmlVisitor;
-import org.eclipse.pde.api.tools.internal.CompilationUnit;
-import org.eclipse.pde.api.tools.internal.DirectoryClassFileContainer;
-import org.eclipse.pde.api.tools.internal.IApiCoreConstants;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.scanner.TagScanner;
-import org.eclipse.pde.api.tools.internal.util.Util;
-import org.osgi.framework.BundleException;
-
-public class ApiFileGeneratorTask extends Task {
-	
-	private static final boolean DEBUG = false;
-
-	String projectName;
-	String projectLocation;
-	String targetFolder;
-
-	public void setProjectName(String projectName) {
-		this.projectName = projectName;
-	}
-	public void setProjectLocation(String projectLocation) {
-		this.projectLocation = projectLocation;
-	}
-	public void setTargetFolder(String targetFolder) {
-		this.targetFolder = targetFolder;
-	}
-	
-	public void execute() throws BuildException {
-		if (DEBUG) {
-			System.out.println(this.targetFolder);
-			System.out.println(this.projectLocation);
-			System.out.println(this.projectName);
-		}
-		// create the directory class file container
-		StringBuffer classFileContainerRootBuffer = new StringBuffer(this.targetFolder);
-		classFileContainerRootBuffer.append(File.separatorChar).append(this.projectName);
-		DirectoryClassFileContainer classFileContainer = new DirectoryClassFileContainer(
-				String.valueOf(classFileContainerRootBuffer), projectName);
-		String[] packageNames = null;
-		try {
-			packageNames = classFileContainer.getPackageNames();
-		} catch (CoreException e) {
-			ApiPlugin.log(e);
-		}
-		if (DEBUG) {
-			if (packageNames != null) {
-				System.out.println("List all package names"); //$NON-NLS-1$
-				for (int i = 0, max = packageNames.length; i < max; i++) {
-					System.out.println("Package name : " + packageNames[i]); //$NON-NLS-1$
-				}
-			} else {
-				System.out.println("No packages"); //$NON-NLS-1$
-			}
-		}
-
-		// collect all compilation units
-		File root = new File(this.projectLocation);
-		if (!root.exists() || !root.isDirectory()) {
-			if (DEBUG) {
-				System.err.println("Should be a directory : " + this.projectLocation); //$NON-NLS-1$
-			}
-			return;
-		}
-		// check if the .api_description file exists in source
-		File apiDescriptionFile = new File(root, IApiCoreConstants.API_DESCRIPTION_XML_NAME);
-		File targetProjectFolder = new File(this.targetFolder, this.projectName); 
-		if (apiDescriptionFile.exists()) {
-			// copy to the target folder + project name
-			Util.copy(apiDescriptionFile, new File(targetProjectFolder, IApiCoreConstants.API_DESCRIPTION_XML_NAME));
-			return;
-		}
-		File[] allFiles = Util.getAllFiles(root, new FileFilter() {
-			public boolean accept(File path) {
-				return (path.isFile() && Util.isJavaFileName(path.getName())) || path.isDirectory();
-			}
-		});
-		ApiDescription apiDescription = new ApiDescription(this.projectName);
-		TagScanner tagScanner = TagScanner.newScanner();
-		if (allFiles != null) {
-			for (int i = 0, max = allFiles.length; i < max; i++) {
-				CompilationUnit unit = new CompilationUnit(allFiles[i].getAbsolutePath());
-				if (DEBUG) {
-					System.out.println("Unit name[" + i + "] : " + unit.getName()); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-				try {
-					tagScanner.scan(unit, apiDescription, classFileContainer);
-				} catch (CoreException e) {
-					ApiPlugin.log(e);
-				}
-			}
-		}
-		// check the manifest file
-		String componentName = this.projectName;
-		String componentID = this.projectName;
-		if (targetProjectFolder.exists() && targetProjectFolder.isDirectory()) {
-			File manifestDir = new File(targetProjectFolder, "META-INF"); //$NON-NLS-1$
-			if (manifestDir.exists() && manifestDir.isDirectory()) {
-				File manifestFile = new File(manifestDir, "MANIFEST.MF"); //$NON-NLS-1$
-				if (manifestFile.exists()) {
-					BufferedInputStream inputStream = null;
-					Map manifestMap = null;
-					try {
-						inputStream = new BufferedInputStream(new FileInputStream(manifestFile));
-						manifestMap = ManifestElement.parseBundleManifest(inputStream, null);
-					} catch (FileNotFoundException e) {
-						ApiPlugin.log(e);
-					} catch (IOException e) {
-						ApiPlugin.log(e);
-					} catch (BundleException e) {
-						ApiPlugin.log(e);
-					} finally {
-						if (inputStream != null) {
-							try {
-								inputStream.close();
-							} catch(IOException e) {
-								// ignore
-							}
-						}
-					}
-					if (manifestMap != null && DEBUG) {
-						for (Iterator iterator = manifestMap.keySet().iterator(); iterator.hasNext(); ) {
-							Object key = iterator.next();
-							System.out.print("key = " + key); //$NON-NLS-1$
-							System.out.println(" value = " + manifestMap.get(key)); //$NON-NLS-1$
-						}
-					}
-					String localization = (String) manifestMap.get(org.osgi.framework.Constants.BUNDLE_LOCALIZATION);
-					String name = (String) manifestMap.get(org.osgi.framework.Constants.BUNDLE_NAME);
-					String nameKey = (name != null && name.startsWith("%")) ? name.substring(1) : null; //$NON-NLS-1$;
-					if (nameKey != null) {
-						Properties properties = new Properties();
-						inputStream = null;
-						try {
-							inputStream = new BufferedInputStream(new FileInputStream(new File(targetProjectFolder, localization + ".properties"))); //$NON-NLS-1$
-							properties.load(inputStream);
-						} catch(IOException e) {
-							ApiPlugin.log(e);
-						} finally {
-							if (inputStream != null) {
-								try {
-									inputStream.close();
-								} catch(IOException e) {
-									// ignore
-								}
-							}
-						}
-						String property = properties.getProperty(nameKey);
-						if (property != null) {
-							componentName = property.trim();
-						}
-					} else {
-						componentName = name;
-					}
-					String symbolicName = (String) manifestMap.get(org.osgi.framework.Constants.BUNDLE_SYMBOLICNAME);
-					if (symbolicName != null) {
-						int indexOf = symbolicName.indexOf(';');
-						if (indexOf == -1) {
-							componentID = symbolicName.trim();
-						} else {
-							componentID = symbolicName.substring(0, indexOf).trim();
-						}
-					}
-				}
-			}
-		}
-		try {
-			ApiSettingsXmlVisitor xmlVisitor = new ApiSettingsXmlVisitor(componentName, componentID);
-			apiDescription.accept(xmlVisitor);
-			String xml = xmlVisitor.getXML();
-			Util.saveFile(apiDescriptionFile, xml);
-			Util.copy(apiDescriptionFile, new File(targetProjectFolder, IApiCoreConstants.API_DESCRIPTION_XML_NAME));
-		} catch (CoreException e) {
-			ApiPlugin.log(e);
-		} catch (IOException e) {
-			ApiPlugin.log(e);
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/CompareProfilesTask.java b/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/CompareProfilesTask.java
deleted file mode 100644
index 9dba15b..0000000
--- a/apitools/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/CompareProfilesTask.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.api.tools.internal.tasks;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.api.tools.internal.comparator.DeltaXmlVisitor;
-import org.eclipse.pde.api.tools.internal.provisional.ApiPlugin;
-import org.eclipse.pde.api.tools.internal.provisional.Factory;
-import org.eclipse.pde.api.tools.internal.provisional.IApiComponent;
-import org.eclipse.pde.api.tools.internal.provisional.IApiProfile;
-import org.eclipse.pde.api.tools.internal.provisional.VisibilityModifiers;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.ApiComparator;
-import org.eclipse.pde.api.tools.internal.provisional.comparator.IDelta;
-import org.eclipse.pde.api.tools.internal.util.Util;
-
-public class CompareProfilesTask extends Task {
-	
-	private static final String REPORT_XML_FILE_NAME = "compare.xml"; //$NON-NLS-1$
-	private static final String PLUGINS_FOLDER_NAME = "plugins"; //$NON-NLS-1$
-	private static final String ECLIPSE_FOLDER_NAME = "eclipse"; //$NON-NLS-1$
-	private static final String CVS_FOLDER_NAME = "CVS"; //$NON-NLS-1$
-	private static final String REFERENCE = "reference"; //$NON-NLS-1$
-	private static final String CURRENT = "currentProfile"; //$NON-NLS-1$
-	private static final String REFERENCE_PROFILE_NAME = "reference_profile"; //$NON-NLS-1$
-	private static final String CURRENT_PROFILE_NAME = "current_profile"; //$NON-NLS-1$
-
-	private static final boolean DEBUG = true;
-
-	String referenceLocation;
-	String profileLocation;
-	String reportLocation;
-	String eeFileLocation;
-
-	public void setProfile(String profileLocation) {
-		this.profileLocation = profileLocation;
-	}
-	public void setReference(String referenceLocation) {
-		this.referenceLocation = referenceLocation;
-	}
-	public void setReport(String reportLocation) {
-		this.reportLocation = reportLocation;
-	}
-	
-	public void setEEFile(String eeFileLocation) {
-		this.eeFileLocation = eeFileLocation;
-	}
-	
-	public void execute() throws BuildException {
-		if (DEBUG) {
-			System.out.println("reference : " + this.referenceLocation); //$NON-NLS-1$
-			System.out.println("profile to compare : " + this.profileLocation); //$NON-NLS-1$
-			System.out.println("report location : " + this.reportLocation); //$NON-NLS-1$
-		}
-		if (this.referenceLocation == null
-				|| this.profileLocation == null
-				|| this.reportLocation == null) {
-			StringWriter out = new StringWriter();
-			PrintWriter writer = new PrintWriter(out);
-			writer.println("Missing arguments :"); //$NON-NLS-1$
-			writer.print("reference location :"); //$NON-NLS-1$
-			writer.println(this.referenceLocation);
-			writer.print("current profile location :"); //$NON-NLS-1$
-			writer.println(this.profileLocation);
-			writer.print("report location :"); //$NON-NLS-1$
-			writer.println(this.reportLocation);
-			writer.flush();
-			writer.close();
-			throw new BuildException(String.valueOf(out.getBuffer()));
-		}
-		// unzip reference
-		File tempDir = new File(System.getProperty("java.io.tmpdir")); //$NON-NLS-1$
-		extractSDK(tempDir, REFERENCE, this.referenceLocation);
-
-		extractSDK(tempDir, CURRENT, this.profileLocation);
-
-		// run the comparison
-		// create profile for the reference
-		IApiProfile referenceProfile = createProfile(REFERENCE_PROFILE_NAME, getInstallDir(tempDir, REFERENCE), this.eeFileLocation);
-		IApiProfile currentProfile = createProfile(CURRENT_PROFILE_NAME, getInstallDir(tempDir, CURRENT), this.eeFileLocation);
-		
-		IDelta delta = null;
-		
-		try {
-			delta = ApiComparator.compare(referenceProfile, currentProfile, VisibilityModifiers.API);
-		} finally {
-			referenceProfile.dispose();
-			currentProfile.dispose();
-		}
-		if (delta == null) {
-			// an error occured during the comparison
-			throw new BuildException("An error occured during the comparison"); //$NON-NLS-1$
-		}
-		if (delta != ApiComparator.NO_DELTA) {
-			// dump the report in the appropriate folder
-			BufferedWriter writer = null;
-			File outputDir = new File(this.reportLocation);
-			if (!outputDir.exists()) {
-				if (!outputDir.mkdirs()) {
-					throw new BuildException("An error occured during the comparison"); //$NON-NLS-1$
-				}
-			}
-			File outputFile = new File(this.reportLocation, REPORT_XML_FILE_NAME);
-			try {
-				if (outputFile.exists()) {
-					// delete the file
-					// TODO we might want to customize it
-					outputFile.delete();
-				}
-				writer = new BufferedWriter(new FileWriter(outputFile));
-				DeltaXmlVisitor visitor = new DeltaXmlVisitor();
-				delta.accept(visitor);
-				writer.write(visitor.getXML());
-				writer.flush();
-			} catch (IOException e) {
-				ApiPlugin.log(e);
-			} catch (CoreException e) {
-				ApiPlugin.log(e);
-			} finally {
-				try {
-					if (writer != null) {
-						writer.close();
-					}
-				} catch(IOException e) {
-					// ignore
-				}
-			}
-		}
-	}
-	private static void extractSDK(File tempDir, String dirName, String location) {
-		File installDir = new File(tempDir, dirName);
-		if (installDir.exists()) {
-			// delta existing folder
-			if (!Util.delete(installDir)) {
-				throw new BuildException("Could not delete : " + installDir.getAbsolutePath()); //$NON-NLS-1$
-			}
-		}
-		if (!installDir.mkdirs()) {
-			throw new BuildException("Could not create : " + installDir.getAbsolutePath()); //$NON-NLS-1$
-		}
-
-		try {
-			Util.unzip(location, installDir.getAbsolutePath());
-		} catch (IOException e) {
-			throw new BuildException("Could not unzip SDK into : " + installDir.getAbsolutePath()); //$NON-NLS-1$
-		}
-	}
-	
-	private static String getInstallDir(File dir, String profileInstallName) {
-		return new File(new File(new File(dir, profileInstallName), ECLIPSE_FOLDER_NAME), PLUGINS_FOLDER_NAME).getAbsolutePath();
-	}
-
-	private static IApiProfile createProfile(String profileName, String fileName, String eeFileLocation) {
-		try {
-			IApiProfile baseline = null;
-			if (ApiPlugin.isRunningInFramework()) {
-				baseline = Factory.newApiProfile(profileName);
-			} else if (eeFileLocation != null) {
-				baseline = Factory.newApiProfile(profileName, new File(eeFileLocation));
-			} else {
-				baseline = Factory.newApiProfile(profileName, Util.getEEDescriptionFile());
-			}
-			// create a component for each jar/directory in the folder
-			File dir = new File(fileName);
-			File[] files = dir.listFiles();
-			List components = new ArrayList();
-			for (int i = 0; i < files.length; i++) {
-				File bundle = files[i];
-				if (!bundle.getName().equals(CVS_FOLDER_NAME)) {
-					// ignore CVS folder
-					IApiComponent component = baseline.newApiComponent(bundle.getAbsolutePath());
-					if(component != null) {
-						components.add(component);
-					}
-				}
-			}
-			
-			baseline.addApiComponents((IApiComponent[]) components.toArray(new IApiComponent[components.size()]));
-			return baseline;
-		} catch (CoreException e) {
-			e.printStackTrace();
-			return null;
-		}
-	}
-}
diff --git a/apitools/org.eclipse.pde.api.tools/xml/api_description.xsd b/apitools/org.eclipse.pde.api.tools/xml/api_description.xsd
deleted file mode 100644
index 6ed8247..0000000
--- a/apitools/org.eclipse.pde.api.tools/xml/api_description.xsd
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-	Copyright (c) IBM Corporation and others 2008. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page.
-	
-	All Platform Debug contexts, those for org.eclipse.debug.ui, are located in this file
-	All contexts are grouped by their relation, with all relations grouped alphabetically.
--->
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <xsd:element name="component">
-    <xsd:complexType>
-      <xsd:sequence>
-        <xsd:element maxOccurs="unbounded" ref="package"/>
-      </xsd:sequence>
-      <xsd:attribute name="id" type="xsd:string" use="required"/>
-      <xsd:attribute name="modificationStamp" type="xsd:string" use="required"/>
-      <xsd:attribute name="version" type="xsd:integer" use="required"/>
-    </xsd:complexType>
-  </xsd:element>
-  <xsd:element name="field">
-    <xsd:complexType>
-      <xsd:attribute name="name" type="xsd:string" use="required"/>
-      <xsd:attribute name="restrictions" type="xsd:string" use="required"/>
-      <xsd:attribute name="visibility" type="xsd:string" use="required"/>
-    </xsd:complexType>
-  </xsd:element>
-  <xsd:element name="type">
-    <xsd:complexType>
-      <xsd:sequence>
-        <xsd:choice>
-          <xsd:element maxOccurs="unbounded" minOccurs="0" ref="type"/>
-          <xsd:element minOccurs="0" ref="method" maxOccurs="unbounded"/>
-        </xsd:choice>
-        <xsd:element minOccurs="0" ref="field" maxOccurs="unbounded"/>
-      </xsd:sequence>
-      <xsd:attribute name="handle" type="xsd:string" use="required"/>
-      <xsd:attribute name="restrictions" type="xsd:string" use="required"/>
-      <xsd:attribute name="modificationStamp" type="xsd:string" use="required"/>
-      <xsd:attribute name="visibility" type="xsd:string" use="required"/>
-    </xsd:complexType>
-  </xsd:element>
-  <xsd:element name="package">
-    <xsd:complexType>
-      <xsd:sequence>
-        <xsd:element maxOccurs="unbounded" minOccurs="0" ref="type"/>
-      </xsd:sequence>
-      <xsd:attribute name="context" type="xsd:string" use="optional"/>
-      <xsd:attribute name="handle" type="xsd:string" use="required"/>
-      <xsd:attribute name="restrictions" type="xsd:string" use="required"/>
-      <xsd:attribute name="visibility" type="xsd:string" use="required"/>
-    </xsd:complexType>
-  </xsd:element>
-  <xsd:element name="method">
-    <xsd:complexType>
-      <xsd:attribute name="name" type="xsd:string" use="required"/>
-      <xsd:attribute name="signature" type="xsd:string" use="required"/>
-      <xsd:attribute name="restrictions" type="xsd:string" use="required"/>
-      <xsd:attribute name="visibility" type="xsd:string" use="required"/>
-    </xsd:complexType>
-  </xsd:element>
-</xsd:schema>
diff --git a/apitools/org.eclipse.pde.api.tools/xml/api_filters.xsd b/apitools/org.eclipse.pde.api.tools/xml/api_filters.xsd
deleted file mode 100644
index f31f287..0000000
--- a/apitools/org.eclipse.pde.api.tools/xml/api_filters.xsd
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-	Copyright (c) IBM Corporation and others 2008. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page.
-	
-	All Platform Debug contexts, those for org.eclipse.debug.ui, are located in this file
-	All contexts are grouped by their relation, with all relations grouped alphabetically.
--->
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <xsd:element name="component">
-    <xsd:complexType>
-      <xsd:sequence>
-        <xsd:element minOccurs="0" maxOccurs="unbounded" ref="resource"/>
-      </xsd:sequence>
-      <xsd:attribute name="id" type="xsd:string" use="required"/>
-      <xsd:attribute name="version" type="xsd:integer" use="required"/>
-    </xsd:complexType>
-  </xsd:element>
-  <xsd:element name="resource">
-    <xsd:complexType>
-      <xsd:sequence>
-        <xsd:element minOccurs="1" maxOccurs="unbounded" ref="filter"/>
-      </xsd:sequence>
-      <xsd:attribute name="path" type="xsd:string" use="required"/>
-    </xsd:complexType>
-  </xsd:element>
-  <xsd:element name="filter">
-    <xsd:complexType>
-      <xsd:attribute name="category" type="xsd:string" use="required"/>
-      <xsd:attribute name="severity" type="xsd:string" use="required"/>
-      <xsd:attribute name="message" type="xsd:string" use="optional"/>
-      <xsd:attribute name="flags" type="xsd:string" use="required"/>
-      <xsd:attribute name="kind" type="xsd:string" use="required"/>
-    </xsd:complexType>
-  </xsd:element>
-</xsd:schema>
diff --git a/apitools/org.eclipse.pde.api.tools/xml/api_profile.xsd b/apitools/org.eclipse.pde.api.tools/xml/api_profile.xsd
deleted file mode 100644
index 3fc32bd..0000000
--- a/apitools/org.eclipse.pde.api.tools/xml/api_profile.xsd
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-	Copyright (c) IBM Corporation and others 2008. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page.
-	
-	All Platform Debug contexts, those for org.eclipse.debug.ui, are located in this file
-	All contexts are grouped by their relation, with all relations grouped alphabetically.
--->
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <xsd:element name="apiprofile">
-    <xsd:complexType>
-      <xsd:sequence>
-      	<xsd:element ref="pool" maxOccurs="unbounded" minOccurs="0"/>
-      	<xsd:element ref="apicomponent" maxOccurs="unbounded" minOccurs="0"/>
-      </xsd:sequence>
-      <xsd:attribute name="name" type="xsd:string" use="required"/>
-      <xsd:attribute name="ee" type="xsd:string" use="required"/>
-      <xsd:attribute name="version" type="xsd:integer" use="required"/>
-    </xsd:complexType>
-  </xsd:element>
-  <xsd:element name="pool">
-    <xsd:complexType>
-      <xsd:sequence>
-        <xsd:element maxOccurs="unbounded" ref="apicomponent" minOccurs="0"/>
-      </xsd:sequence>
-      <xsd:attribute name="location" type="xsd:string" use="required"/>
-    </xsd:complexType>
-  </xsd:element>
-  <xsd:element name="apicomponent">
-    <xsd:complexType>
-    	<xsd:attribute name="id" type="xsd:string" use="required" />
-    	<xsd:attribute name="version" type="xsd:string" use="required" />
-    	<xsd:attribute name="location" type="xsd:string" use="optional"/>
-    </xsd:complexType>
-  </xsd:element>
-</xsd:schema>
diff --git a/ds/org.eclipse.pde.ds.core/.classpath b/ds/org.eclipse.pde.ds.core/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/ds/org.eclipse.pde.ds.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/ds/org.eclipse.pde.ds.core/.project b/ds/org.eclipse.pde.ds.core/.project
deleted file mode 100644
index 1e292b4..0000000
--- a/ds/org.eclipse.pde.ds.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.pde.ds.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/ds/org.eclipse.pde.ds.core/.settings/org.eclipse.jdt.core.prefs b/ds/org.eclipse.pde.ds.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 18f864f..0000000
--- a/ds/org.eclipse.pde.ds.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Tue Mar 25 11:34:38 CDT 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/ds/org.eclipse.pde.ds.core/.settings/org.eclipse.pde.prefs b/ds/org.eclipse.pde.ds.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 4c2ae7b..0000000
--- a/ds/org.eclipse.pde.ds.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,17 +0,0 @@
-#Tue Mar 25 11:34:35 CDT 2008
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.missing-bundle-classpath-entries=1
-compilers.p.missing-packages=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/ds/org.eclipse.pde.ds.core/META-INF/MANIFEST.MF b/ds/org.eclipse.pde.ds.core/META-INF/MANIFEST.MF
deleted file mode 100644
index e8f3379..0000000
--- a/ds/org.eclipse.pde.ds.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.pde.ds.core;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.pde.internal.ds.core.Activator
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.pde.core;bundle-version="3.4.0",
- org.eclipse.text;bundle-version="3.4.0"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-Localization: plugin
-Export-Package: org.eclipse.pde.internal.ds.core;x-internal:=true,
- org.eclipse.pde.internal.ds.core.text;x-internal:=true
diff --git a/ds/org.eclipse.pde.ds.core/build.properties b/ds/org.eclipse.pde.ds.core/build.properties
deleted file mode 100644
index 0dc34f7..0000000
--- a/ds/org.eclipse.pde.ds.core/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               plugin.properties
diff --git a/ds/org.eclipse.pde.ds.core/plugin.properties b/ds/org.eclipse.pde.ds.core/plugin.properties
deleted file mode 100644
index f3a12f4..0000000
--- a/ds/org.eclipse.pde.ds.core/plugin.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-#Properties file for org.eclipse.pde.ds.core
-pluginName = Core Plug-in
-
-content-type.name = Declarative Services File
\ No newline at end of file
diff --git a/ds/org.eclipse.pde.ds.core/plugin.xml b/ds/org.eclipse.pde.ds.core/plugin.xml
deleted file mode 100644
index 5c79b72..0000000
--- a/ds/org.eclipse.pde.ds.core/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension
-         point="org.eclipse.core.contenttype.contentTypes">
-      <content-type
-            base-type="org.eclipse.core.runtime.xml"
-            file-extensions="xml"
-            id="org.eclipse.pde.ds.core.content-type1"
-            name="%content-type.name"
-            priority="high">
-      </content-type>
-   </extension>
-
-</plugin>
diff --git a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/Activator.java b/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/Activator.java
deleted file mode 100644
index 68cd540..0000000
--- a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/Activator.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ds.core;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.pde.ds.core";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-}
diff --git a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/IDSConstants.java b/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/IDSConstants.java
deleted file mode 100644
index 3c0380c..0000000
--- a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/IDSConstants.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ds.core;
-
-/**
- * Interface containing constants used for the declarative services editor.
- * 
- * @since 3.4
- */
-public interface IDSConstants {
-
-	// Elements
-
-	public static final String ELEMENT_ROOT = "component"; //$NON-NLS-1$
-
-	public static final String ELEMENT_IMPLEMENTATION = "implementation"; //$NON-NLS-1$
-
-	public static final String ELEMENT_PROPERTIES = "properties"; //$NON-NLS-1$
-	
-	public static final String ELEMENT_PROPERTY = "property"; //$NON-NLS-1$
-
-	public static final String ELEMENT_SERVICE = "service"; //$NON-NLS-1$
-	
-	public static final String ELEMENT_PROVIDE = "provide"; //$NON-NLS-1$
-
-	public static final String ELEMENT_REFERENCE = "reference"; //$NON-NLS-1$
-	
-	//Component Attributes
-	public static final String ATTRIBUTE_COMPONENT_NAME = "name"; //$NON-NLS-1$
-	
-	public static final String ATTRIBUTE_ENABLED = "enabled"; //$NON-NLS-1$
-	
-	public static final String ATTRIBUTE_FACTORY = "factory"; //$NON-NLS-1$
-	
-	public static final String ATTRIBUTE_IMMEDIATE = "immediate"; //$NON-NLS-1$
-	
-	//Implementation Attributes
-	public static final String ATTRIBUTE_CLASS = "class"; //$NON-NLS-1$
-	
-	//Property Attributes
-	public static final String ATTRIBUTE_PROPERTY_NAME = "name"; //$NON-NLS-1$
-	
-	public static final String ATTRIBUTE_PROPERTY_VALUE = "value"; //$NON-NLS-1$
-	
-	public static final String ATTRIBUTE_PROPERTY_TYPE = "type"; //$NON-NLS-1$
-	
-	
-	//Properties Attributes
-	public static final String ATTRIBUTE_ENTRY = "entry"; //$NON-NLS-1$
-	
-	//Service Attributes
-	public static final String ATTRIBUTE_SERVICE_FACTORY = "servicefactory"; //$NON-NLS-1$
-	
-	//Provide Attributes
-	public static final String ATTRIBUTE_PROVIDE_INTERFACE = "interface"; //$NON-NLS-1$
-	
-	//Reference Attributes
-	public static final String ATTRIBUTE_REFERENCE_NAME = "name"; //$NON-NLS-1$
-	
-	public static final String ATTRIBUTE_REFERENCE_INTERFACE = "interface"; //$NON-NLS-1$
-	
-	public static final String ATTRIBUTE_REFERENCE_CARDINALITY = "cardinality"; //$NON-NLS-1$
-	
-	public static final String ATTRIBUTE_REFERENCE_POLICY= "policy"; //$NON-NLS-1$
-	
-	public static final String ATTRIBUTE_REFERENCE_TARGET= "target"; //$NON-NLS-1$
-	
-	public static final String ATTRIBUTE_REFERENCE_BIND= "bind"; //$NON-NLS-1$
-	
-	public static final String ATTRIBUTE_REFERENCE_UNBIND= "unbind"; //$NON-NLS-1$
-		
-	
-	//Types
-	public static final int TYPE_ROOT = 0;
-
-	public static final int TYPE_IMPLEMENTATION = 1;
-
-	public static final int TYPE_PROPERTIES = 2;
-	
-	public static final int TYPE_PROPERTY = 3;
-
-	public static final int TYPE_SERVICE = 4;
-	
-	public static final int TYPE_PROVIDE = 5;
-
-	public static final int TYPE_REFERENCE = 6;
-
-}
diff --git a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSDocumentFactory.java b/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSDocumentFactory.java
deleted file mode 100644
index eaf4be3..0000000
--- a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSDocumentFactory.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ds.core.text;
-
-import org.eclipse.pde.internal.core.text.DocumentNodeFactory;
-import org.eclipse.pde.internal.core.text.IDocumentElementNode;
-import org.eclipse.pde.internal.core.text.IDocumentNodeFactory;
-import org.eclipse.pde.internal.ds.core.IDSConstants;
-
-/**
- * Handles the creation of document nodes representing the types of elements that
- * can exist in a declarative services xml file.
- * 
- * @since 3.4
- * @see DSModel
- * @see DSDocumentHandler
- */
-public class DSDocumentFactory extends DocumentNodeFactory implements IDocumentNodeFactory {
-	private DSModel fModel;
-
-	public DSDocumentFactory(DSModel model) {
-		fModel = model;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.core.text.IDocumentNodeFactory#createDocumentNode(java.lang.String, org.eclipse.pde.internal.core.text.IDocumentElementNode)
-	 */
-	public IDocumentElementNode createDocumentNode(String name, IDocumentElementNode parent) {
-		if (isRoot(name)) { // Root
-			return createRoot();
-		}
-		if (isImplementation(name)){ 
-			return createImplementation();
-		}
-		if (isProperties(name)){
-			return createProperties();
-		}
-		if(isProperty(name)){
-			return createProperty();
-		}
-		if (isService(name)) { 
-			return createService();
-		}
-		if (isReference(name)){
-			return createReference();
-		}
-		if(isProvide(name)){
-			return createProvide();
-		}
-		
-		return super.createDocumentNode(name, parent);
-	}
-
-	public DSProvide createProvide() {
-		return new DSProvide(fModel);
-	}
-
-	private DSProperty createProperty() {
-		return new DSProperty(fModel);
-	}
-
-	public DSReference createReference() {
-		return new DSReference(fModel);
-	}
-
-	public DSService createService() {
-		return new DSService(fModel);
-	}
-
-	public DSProperties createProperties() {
-		return new DSProperties(fModel);
-	}
-
-	public DSImplementation createImplementation() {
-		return new DSImplementation(fModel);
-	}
-	
-	public DSRoot createRoot() {
-		return new DSRoot(fModel);
-	}
-
-
-	private boolean isReference(String name) {
-		return name.equals(IDSConstants.ELEMENT_REFERENCE);
-	}
-
-	private boolean isService(String name) {
-		return name.equals(IDSConstants.ELEMENT_SERVICE);
-	}
-
-	private boolean isProperties(String name) {
-		return name.equals(IDSConstants.ELEMENT_PROPERTIES);
-	}
-
-	private boolean isImplementation(String name) {
-		return name.equals(IDSConstants.ELEMENT_IMPLEMENTATION);
-	}
-
-	private boolean isRoot(String name) {
-		return name.equals(IDSConstants.ELEMENT_ROOT); 
-	}
-
-	private boolean isProperty(String name) {
-		return name.equals(IDSConstants.ELEMENT_PROPERTY);
-	}
-
-	private boolean isProvide(String name) {
-		return name.equals(IDSConstants.ELEMENT_PROVIDE);
-	}
-
-}
diff --git a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSDocumentHandler.java b/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSDocumentHandler.java
deleted file mode 100644
index 701b5cf..0000000
--- a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSDocumentHandler.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ds.core.text;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.pde.internal.core.text.IDocumentElementNode;
-import org.eclipse.pde.internal.core.text.NodeDocumentHandler;
-
-/**
- * Document handler for declarative services xml files.
- * 
- * @since 3.4
- * @see DSModel
- * @see DSDocumentFactory
- */
-public class DSDocumentHandler extends NodeDocumentHandler {
-
-	private DSModel fModel;
-
-	public DSDocumentHandler(DSModel model, boolean reconciling) {
-		super(reconciling, model.getFactory());
-		fModel = model;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.core.text.DocumentHandler#getDocument()
-	 */
-	protected IDocument getDocument() {
-		return fModel.getDocument();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.core.text.NodeDocumentHandler#getRootNode()
-	 */
-	protected IDocumentElementNode getRootNode() {
-		return (IDocumentElementNode) fModel.getRoot();
-	}
-}
diff --git a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSImplementation.java b/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSImplementation.java
deleted file mode 100644
index 0ed4141..0000000
--- a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSImplementation.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ds.core.text;
-
-public class DSImplementation extends DSObject {
-
-	private static final long serialVersionUID = 1L;
-
-	
-	public DSImplementation(DSModel model) {
-		super(model, ELEMENT_IMPLEMENTATION);
-	}
-
-	public boolean canAddChild(int objectType) {
-		return false;
-	}
-
-	public boolean canAddSibling(int objectType) {
-		return objectType == TYPE_PROPERTY ||objectType == TYPE_PROPERTIES || objectType == TYPE_SERVICE || objectType == TYPE_REFERENCE;
-	}
-
-	public boolean canBeParent() {
-		return false;
-	}
-
-	public String getName() {
-		return getClassName(); 
-	}
-
-	public int getType() {
-		return TYPE_IMPLEMENTATION;
-	}
-
-	public void setClassName(String className){
-		setXMLAttribute(ATTRIBUTE_CLASS, className);
-	}
-	
-	public String getClassName(){
-		return getXMLAttributeValue(ATTRIBUTE_CLASS);
-	}
-	
-
-}
diff --git a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSModel.java b/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSModel.java
deleted file mode 100644
index a99f03c..0000000
--- a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSModel.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ds.core.text;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.pde.core.IModel;
-import org.eclipse.pde.core.IWritable;
-import org.eclipse.pde.internal.core.NLResourceHelper;
-import org.eclipse.pde.internal.core.text.XMLEditingModel;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Model describing the elements of a declarative services xml file.
- * 
- * @since 3.4
- */
-public class DSModel extends XMLEditingModel {
-
-	private DSDocumentHandler fHandler;
-	private DSDocumentFactory fFactory;
-	private DSRoot fRoot;
-
-	public DSModel(IDocument document, boolean isReconciling) {
-		super(document, isReconciling);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.core.text.XMLEditingModel#createDocumentHandler(org.eclipse.pde.core.IModel, boolean)
-	 */
-	protected DefaultHandler createDocumentHandler(IModel model, boolean reconciling) {
-		if (fHandler == null) {
-			fHandler = new DSDocumentHandler(this, reconciling);
-		}
-		return fHandler;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.core.text.AbstractEditingModel#createNLResourceHelper()
-	 */
-	protected NLResourceHelper createNLResourceHelper() {
-		// Not needed
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.core.icheatsheet.simple.ITocModel#getFactory()
-	 */
-	public DSDocumentFactory getFactory() {
-		if (fFactory == null) {
-			fFactory = new DSDocumentFactory(this);
-		}
-		return fFactory;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.core.icheatsheet.simple.ITocModel#getToc()
-	 */
-	public DSRoot getDSRoot() {
-		if (fRoot == null) {
-			fRoot = getFactory().createRoot();
-		}
-		return fRoot;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.core.text.XMLEditingModel#getRoot()
-	 */
-	protected IWritable getRoot() {
-		return getDSRoot();
-	}
-
-}
diff --git a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSObject.java b/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSObject.java
deleted file mode 100644
index 16c18e9..0000000
--- a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSObject.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ds.core.text;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.pde.core.IModel;
-import org.eclipse.pde.internal.core.text.DocumentObject;
-import org.eclipse.pde.internal.core.text.IDocumentElementNode;
-import org.eclipse.pde.internal.ds.core.IDSConstants;
-
-/**
- * All modeled objects of a declarative services xml file must extend from this
- * abstract class.
- * 
- * @since 3.4
- * @see CtXHelpModel
- * @see DSDocumentFactory
- */
-public abstract class DSObject extends DocumentObject implements IDSConstants, Serializable {
-
-	private static final long serialVersionUID = 1L;
-
-	/**
-	 * Constructs the DSObject and initializes its attributes.
-	 * 
-	 * @param model The model to associate with this DSObject
-	 * @param tagName The xml tag name for this object
-	 */
-	public DSObject(DSModel model, String tagName) {
-		super(model, tagName);
-	}
-
-	/**
-	 * @return the children of the object or an empty List if none exist.
-	 */
-	public List getChildren() {
-		//Create a copy of the child list instead of 
-		//returning the list itself. That way, our list
-		//of children cannot be altered from outside
-		ArrayList list = new ArrayList();
-
-		// Add children of this topic
-		IDocumentElementNode[] childNodes = getChildNodes();
-		if (childNodes.length > 0) {
-			for (int i = 0; i < childNodes.length; ++i) {
-				if (childNodes[i] instanceof DSObject) {
-					list.add(childNodes[i]);
-				}
-			}
-		}
-
-		return list;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.core.text.DocumentElementNode#getAttributeIndent()
-	 */
-	protected String getAttributeIndent() {
-		return " "; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.core.text.DocumentElementNode#getContentIndent()
-	 */
-	protected String getContentIndent() {
-		return ""; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.core.text.DocumentElementNode#isLeafNode()
-	 */
-	public boolean isLeafNode() {
-		return !canBeParent();
-	}
-
-	/**
-	 * @return true iff this object is capable of containing children.
-	 */
-	public abstract boolean canBeParent();
-
-	public abstract boolean canAddChild(int objectType);
-
-	public abstract boolean canAddSibling(int objectType);
-
-	//	public abstract boolean canAddSibling(int objectType);
-
-	public void addChild(DSObject newObject, DSObject targetSibling, boolean insertBefore) {
-		if (canAddChild(newObject.getType())) {
-			int currentIndex = indexOf(targetSibling);
-			if (!insertBefore) {
-				currentIndex++;
-			}
-			addChildNode(newObject, currentIndex, true);
-		}
-	}
-
-	public void addChild(DSObject newObject) {
-		if (canAddChild(newObject.getType())) {
-			addChildNode(newObject, true);
-		}
-	}
-
-	/**
-	 * @return the root model object that is an ancestor to this object.
-	 */
-	public DSModel getModel() {
-		final IModel sharedModel = getSharedModel();
-		if (sharedModel instanceof DSModel) {
-			return (DSModel) sharedModel;
-		}
-		return null;
-	}
-
-	/**
-	 * @return the root element that is an ancestor to this object.
-	 */
-	public DSRoot getRoot() {
-		final DSModel model = getModel();
-		if (model != null) {
-			return model.getDSRoot();
-		}
-		return null;
-	}
-
-	/**
-	 * @return the identifier for this object to be used when displaying the element to the user
-	 */
-	public abstract String getName();
-
-	/**
-	 * Get the concrete type of this object, must be one of the TYPE constants defined in IDSConstants.
-	 * @see IDSConstants
-	 */
-	public abstract int getType();
-
-	/**
-	 * @return the parent of this object, or <code>null</code> if there is no parent.
-	 */
-	public DSObject getParent() {
-		IDocumentElementNode parent = getParentNode();
-		return parent instanceof DSObject ? (DSObject) parent : null;
-	}
-
-	/**
-	 * Check if the object is a direct or indirect descendant
-	 * of the object parameter.
-	 * 
-	 * @param obj The object to find in this object's ancestry
-	 * @return true iff obj is an ancestor of this object
-	 */
-	public boolean descendsFrom(DSObject obj) {
-		if (this.equals(obj)) {
-			return true;
-		}
-		if (getParent() != null && obj.canBeParent()) {
-			return getParent().descendsFrom(obj);
-		}
-		return false;
-	}
-
-	/**
-	 * @param DSObject the child used to locate a sibling
-	 * @return the object preceding the specified one in the list of children
-	 */
-	public DSObject getPreviousSibling(DSObject DSObject) {
-		return (DSObject) getPreviousSibling(DSObject, DSObject.class);
-	}
-
-	/**
-	 * @param DSObject the child used to locate a sibling
-	 * @return the object proceeding the specified one in the list of children
-	 */
-	public DSObject getNextSibling(DSObject DSObject) {
-		return (DSObject) getNextSibling(DSObject, DSObject.class);
-	}
-
-	/**
-	 * @return true iff a this object can be removed
-	 */
-	public boolean canBeRemoved() {
-		if (getType() == TYPE_ROOT) { //Semantic Rule: The root element can never be removed
-			return false;
-		}
-		return true;
-	}
-
-	public void removeChild(DSObject object) {
-		if (object.canBeRemoved()) {
-			removeChildNode(object, true);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.core.toc.TocObject#moveChild(org.eclipse.pde.internal.core.toc.TocObject, int)
-	 */
-	public void moveChild(DSObject object, int newRelativeIndex) {
-		moveChildNode(object, newRelativeIndex, true);
-	}
-
-}
diff --git a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSProperties.java b/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSProperties.java
deleted file mode 100644
index 90c56b4..0000000
--- a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSProperties.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ds.core.text;
-
-public class DSProperties extends DSObject {
-
-	private static final long serialVersionUID = 1L;
-
-	public DSProperties(DSModel model) {
-		super(model, ELEMENT_PROPERTIES);
-	}
-
-	public boolean canAddChild(int objectType) {
-		return false;
-	}
-
-	public boolean canAddSibling(int objectType) {
-		return objectType == TYPE_PROPERTY || objectType == TYPE_PROPERTIES ||objectType == TYPE_REFERENCE || objectType == TYPE_SERVICE;
-	}
-
-	public boolean canBeParent() {
-		return false;
-	}
-
-	public String getName() {
-		return getEntry();
-	}
-
-	public int getType() {
-		return TYPE_PROPERTIES;
-	}
-	
-	public void setEntry(String entry){
-		setXMLAttribute(ATTRIBUTE_ENTRY, entry);
-	}
-	
-	public String getEntry(){
-		return getXMLAttributeValue(ATTRIBUTE_ENTRY);
-	}
-}
diff --git a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSProperty.java b/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSProperty.java
deleted file mode 100644
index 1e15271..0000000
--- a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSProperty.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ds.core.text;
-
-public class DSProperty extends DSObject {
-
-	private static final long serialVersionUID = 1L;
-
-	public DSProperty(DSModel model) {
-		super(model, ELEMENT_PROPERTY);
-	}
-
-	public boolean canAddChild(int objectType) {
-		return false;
-	}
-
-	public boolean canAddSibling(int objectType) {
-		return objectType == TYPE_PROPERTY || objectType == TYPE_PROPERTIES || objectType == TYPE_REFERENCE || objectType == TYPE_SERVICE;
-	}
-
-	public boolean canBeParent() {
-		return false;
-	}
-
-	public String getName() {
-		return getPropertyName();
-	}
-
-	public int getType() {
-		return TYPE_PROPERTY;
-	}
-	
-	public String getPropertyName(){
-		return getXMLAttributeValue(ATTRIBUTE_PROPERTY_NAME);
-	}
-	
-	public void setPropertyName(String name){
-		setXMLAttribute(ATTRIBUTE_PROPERTY_NAME, name);
-	}
-	
-	public String getPropertyValue(){
-		return getXMLAttributeValue(ATTRIBUTE_PROPERTY_VALUE);
-	}
-	
-	public void setPropertyValue(String value){
-		setXMLAttribute(ATTRIBUTE_PROPERTY_VALUE, value);
-	}
-	
-	public String getPropertyType(){
-		return getXMLAttributeValue(ATTRIBUTE_PROPERTY_TYPE);
-	}
-	
-	public void setPropertyType(String type){
-		setXMLAttribute(ATTRIBUTE_PROPERTY_TYPE, type);
-	}
-	
-	public String getPropertyElemBody(){ // TODO Confirm if this method is correct
-		return getXMLContent(); 
-	}
-	
-	public void setPropertyElemBody(String body){
-		setXMLContent(body);
-	}
-	
-}
diff --git a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSProvide.java b/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSProvide.java
deleted file mode 100644
index e31b6ea..0000000
--- a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSProvide.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ds.core.text;
-
-public class DSProvide extends DSObject {
-
-	private static final long serialVersionUID = 1L;
-
-	public DSProvide(DSModel model) {
-		super(model, ELEMENT_PROVIDE);
-	}
-
-	public boolean canAddChild(int objectType) {
-		return false;
-	}
-
-	public boolean canAddSibling(int objectType) {
-		return false;
-	}
-
-	public boolean canBeParent() {
-		return false;
-	}
-
-	public String getName() {
-		return null;
-	}
-
-	public int getType() {
-		return TYPE_PROVIDE;
-	}
-	
-	public void setInterface(String interfaceName){
-		setXMLAttribute(ATTRIBUTE_PROVIDE_INTERFACE, interfaceName);
-	}
-	
-	public String getInterface(){
-		return getXMLAttributeValue(ATTRIBUTE_PROVIDE_INTERFACE);
-	}
-}
diff --git a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSReference.java b/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSReference.java
deleted file mode 100644
index 16af06c..0000000
--- a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSReference.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ds.core.text;
-
-public class DSReference extends DSObject {
-
-	private static final long serialVersionUID = 1L;
-
-	public DSReference(DSModel model) {
-		super(model, ELEMENT_REFERENCE);
-	}
-
-	public boolean canAddChild(int objectType) {
-		return false;
-	}
-
-	public boolean canAddSibling(int objectType) {
-		return objectType == TYPE_REFERENCE;
-	}
-
-	public boolean canBeParent() {
-		return false;
-	}
-
-	public String getName() {
-		return getReferenceName();
-	}
-
-	public int getType() {
-		return TYPE_REFERENCE;
-	}
-
-	public void setReferenceName(String name){
-		setXMLAttribute(ATTRIBUTE_REFERENCE_NAME, name);
-	}
-	
-	public String getReferenceName(){
-		return getXMLAttributeValue(ATTRIBUTE_REFERENCE_NAME);
-	}
-	
-	public void setReferenceInterface(String interfaceName){
-		setXMLAttribute(ATTRIBUTE_REFERENCE_INTERFACE, interfaceName);
-	}
-	
-	public String getReferenceInterface(){
-		return getXMLAttributeValue(ATTRIBUTE_REFERENCE_INTERFACE);
-	}
-	
-	public void setReferenceCardinality(String cardinality){
-		setXMLAttribute(ATTRIBUTE_REFERENCE_CARDINALITY, cardinality);
-	}
-	
-	public String getReferenceCardinality(){
-		return getXMLAttributeValue(ATTRIBUTE_REFERENCE_CARDINALITY);
-	}
-	
-	
-	public void setReferencePolicy(String policy){
-		setXMLAttribute(ATTRIBUTE_REFERENCE_POLICY, policy);
-	}
-	
-	public String getReferencePolicy(){
-		return getXMLAttributeValue(ATTRIBUTE_REFERENCE_POLICY);
-	}
-	
-	
-	public void setReferenceTarget(String target){
-		setXMLAttribute(ATTRIBUTE_REFERENCE_TARGET, target);
-	}
-	
-	public String getReferenceTarget(){
-		return getXMLAttributeValue(ATTRIBUTE_REFERENCE_TARGET);
-	}
-	
-	
-	public void setReferenceBind(String bind){
-		setXMLAttribute(ATTRIBUTE_REFERENCE_BIND, bind);
-	}
-	
-	public String getReferenceBind(){
-		return getXMLAttributeValue(ATTRIBUTE_REFERENCE_BIND);
-	}
-	
-	
-	public void setReferenceUnbind(String unbind){
-		setXMLAttribute(ATTRIBUTE_REFERENCE_UNBIND, unbind);
-	}
-	
-	public String getReferenceUnbind(){
-		return getXMLAttributeValue(ATTRIBUTE_REFERENCE_UNBIND);
-	}
-}
diff --git a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSRoot.java b/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSRoot.java
deleted file mode 100644
index 6cb2c38..0000000
--- a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSRoot.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ds.core.text;
-
-/**
- * Represents the root "component" entry in a DS xml file.  There may
- * be only one root node in the file and all other nodes must be inside the root.
- * The structure of component XML grammar is:
- * 
- * <component> ::= <implementation>
- * 				   <properties> *
- * 				   <service> ?
- * 				   <reference> *
- * 
- * @since 3.4
- * @see DSObject
- * @see DSModel
- * @see DSDocumentFactory
- */
-public class DSRoot extends DSObject {
-
-	private static final long serialVersionUID = 1L;
-	
-
-	public DSRoot(DSModel model) {
-		super(model, ELEMENT_ROOT);
-		setInTheModel(true);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.core.text.plugin.PluginDocumentNode#isRoot()
-	 */
-	public boolean isRoot() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.core.toc.TocObject#getType()
-	 */
-	public int getType() {
-		return TYPE_ROOT;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.core.text.ctxhelp.CtxHelpObject#canBeParent()
-	 */
-	public boolean canBeParent() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.core.text.ctxhelp.CtxHelpObject#getName()
-	 */
-	public String getName() {
-		return ELEMENT_ROOT;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.core.text.ctxhelp.CtxHelpObject#canAddChild(org.eclipse.pde.internal.core.text.ctxhelp.CtxHelpObject)
-	 */
-	public boolean canAddChild(int objectType) {
-		return objectType == TYPE_IMPLEMENTATION;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.core.text.ctxhelp.CtxHelpObject#canAddSibling(int)
-	 */
-	public boolean canAddSibling(int objectType) {
-		return false;
-	}
-	
-	public void setAttributeName(String name){
-		setXMLAttribute(ATTRIBUTE_COMPONENT_NAME, name);
-	}
-	
-	public String getAttributeName(){
-		return getXMLAttributeValue(ATTRIBUTE_COMPONENT_NAME);
-	}
-	
-	public void setEnabled(boolean bool){
-		setBooleanAttributeValue(ATTRIBUTE_ENABLED, bool);
-	}
-	
-	public boolean getEnabled(){
-		return getBooleanAttributeValue(ATTRIBUTE_COMPONENT_NAME, true);
-	}
-	
-
-	public void setFactory(String factory){
-		setXMLAttribute(ATTRIBUTE_FACTORY, factory);
-	}
-	
-	public String getFactory(){
-		return getXMLAttributeValue(ATTRIBUTE_FACTORY);
-	}
-	
-	public void setImmediate(String factory){
-		setXMLAttribute(ATTRIBUTE_IMMEDIATE, factory);
-	}
-	
-	public String getImmediate(){
-		return getXMLAttributeValue(ATTRIBUTE_IMMEDIATE);
-	}
-	
-	
-	
-	
-}
diff --git a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSService.java b/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSService.java
deleted file mode 100644
index d097b6f..0000000
--- a/ds/org.eclipse.pde.ds.core/src/org/eclipse/pde/internal/ds/core/text/DSService.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ds.core.text;
-
-public class DSService extends DSObject {
-
-	private static final long serialVersionUID = 1L;
-
-	public DSService(DSModel model) {
-		super(model, ELEMENT_SERVICE);
-	}
-
-	public boolean canAddChild(int objectType) {
-		return objectType == TYPE_PROVIDE;
-	}
-
-	public boolean canAddSibling(int objectType) {
-		return objectType == TYPE_REFERENCE; // TODO Should I consider any ordering? Or should I add here: Implementation and Properties too?
-	}
-
-	public boolean canBeParent() {
-		return true;
-	}
-
-	public String getName() {
-		return getServiceFactory();
-	}
-
-	public int getType() {
-		return TYPE_SERVICE;
-	}
-	
-	public void setServiceFactory(String factory){
-		setXMLAttribute(ATTRIBUTE_SERVICE_FACTORY, factory);
-	}
-	
-	public String getServiceFactory(){
-		return getXMLAttributeValue(ATTRIBUTE_SERVICE_FACTORY);
-	}
-
-}
diff --git a/ds/org.eclipse.pde.ds.tests/.classpath b/ds/org.eclipse.pde.ds.tests/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/ds/org.eclipse.pde.ds.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/ds/org.eclipse.pde.ds.tests/.project b/ds/org.eclipse.pde.ds.tests/.project
deleted file mode 100644
index f7310d4..0000000
--- a/ds/org.eclipse.pde.ds.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.pde.ds.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/ds/org.eclipse.pde.ds.tests/.settings/org.eclipse.jdt.core.prefs b/ds/org.eclipse.pde.ds.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 856883c..0000000
--- a/ds/org.eclipse.pde.ds.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Mon Mar 24 17:04:48 CDT 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/ds/org.eclipse.pde.ds.tests/META-INF/MANIFEST.MF b/ds/org.eclipse.pde.ds.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index e9c91f1..0000000
--- a/ds/org.eclipse.pde.ds.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.pde.ds.tests
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.pde.internal.ds.tests.Activator
-Require-Bundle: org.eclipse.core.runtime,
- org.junit;bundle-version="3.8.2",
- org.eclipse.pde.core;bundle-version="3.4.0",
- org.eclipse.pde.ds.core;bundle-version="1.0.0",
- org.eclipse.text;bundle-version="3.4.0"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-Localization: plugin
diff --git a/ds/org.eclipse.pde.ds.tests/build.properties b/ds/org.eclipse.pde.ds.tests/build.properties
deleted file mode 100644
index aa1a008..0000000
--- a/ds/org.eclipse.pde.ds.tests/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.properties
diff --git a/ds/org.eclipse.pde.ds.tests/plugin.properties b/ds/org.eclipse.pde.ds.tests/plugin.properties
deleted file mode 100644
index 0a4fa0a..0000000
--- a/ds/org.eclipse.pde.ds.tests/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-#Properties file for org.eclipse.pde.ds.tests
-%pluginName = PDE DS Tests
\ No newline at end of file
diff --git a/ds/org.eclipse.pde.ds.tests/src/org/eclipse/pde/internal/ds/tests/AbstractDSModelTestCase.java b/ds/org.eclipse.pde.ds.tests/src/org/eclipse/pde/internal/ds/tests/AbstractDSModelTestCase.java
deleted file mode 100644
index 49d1f57..0000000
--- a/ds/org.eclipse.pde.ds.tests/src/org/eclipse/pde/internal/ds/tests/AbstractDSModelTestCase.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ds.tests;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.pde.internal.core.text.IModelTextChangeListener;
-import org.eclipse.pde.internal.core.text.plugin.XMLTextChangeListener;
-import org.eclipse.pde.internal.ds.core.text.DSModel;
-import org.eclipse.text.edits.MalformedTreeException;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.text.edits.TextEdit;
-
-public abstract class AbstractDSModelTestCase extends TestCase {
-
-	protected static final String LF = "\n"; //$NON-NLS-1$
-	protected static final String CR = "\r"; //$NON-NLS-1$
-	protected static final String CRLF = CR + LF;
-	
-	protected Document fDocument;
-	protected DSModel fModel;
-	protected IModelTextChangeListener fListener;
-
-	public AbstractDSModelTestCase() {
-	}
-
-	protected void setUp() throws Exception {
-		fDocument = new Document();
-	}
-
-	protected void load() {
-		load(false);
-	}
-
-	protected void load(boolean addListener) {
-		try {
-			fModel = new DSModel(fDocument, false);
-			fModel.load();
-			if (!fModel.isLoaded() || !fModel.isValid())
-				fail("model cannot be loaded");
-			if (addListener) {
-				fListener = new XMLTextChangeListener(fModel.getDocument());
-				fModel.addModelChangedListener(fListener);
-			}
-		} catch (CoreException e) {
-			fail("model cannot be loaded");
-		}
-	}
-	
-	protected void setXMLContents(StringBuffer body, String newline) {
-		StringBuffer sb = new StringBuffer();
-		sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
-		sb.append(newline);
-		sb.append("<component name=\"sample\">");
-		sb.append(newline);
-		if (body != null)
-			sb.append(body.toString());
-		sb.append(newline);
-		sb.append("</component>");
-		sb.append(newline);
-		fDocument.set(sb.toString());
-	}
-
-	protected void reload() {
-		TextEdit[] ops = fListener.getTextOperations();
-		if (ops.length == 0)
-			return;
-		MultiTextEdit multi = new MultiTextEdit();
-		multi.addChildren(ops);
-		try {
-			multi.apply(fDocument);
-		} catch (MalformedTreeException e) {
-			fail(e.getMessage());
-		} catch (BadLocationException e) {
-			fail(e.getMessage());
-		}
-		load();
-	}
-}
diff --git a/ds/org.eclipse.pde.ds.tests/src/org/eclipse/pde/internal/ds/tests/Activator.java b/ds/org.eclipse.pde.ds.tests/src/org/eclipse/pde/internal/ds/tests/Activator.java
deleted file mode 100644
index dfd09f5..0000000
--- a/ds/org.eclipse.pde.ds.tests/src/org/eclipse/pde/internal/ds/tests/Activator.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.pde.internal.ds.tests;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.pde.internal.ds.tests";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-}
diff --git a/ds/org.eclipse.pde.ds.tests/src/org/eclipse/pde/internal/ds/tests/AllDSModelTests.java b/ds/org.eclipse.pde.ds.tests/src/org/eclipse/pde/internal/ds/tests/AllDSModelTests.java
deleted file mode 100644
index c780fbf..0000000
--- a/ds/org.eclipse.pde.ds.tests/src/org/eclipse/pde/internal/ds/tests/AllDSModelTests.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ds.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllDSModelTests {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test Suite for testing the ds model"); //$NON-NLS-1$
-		suite.addTestSuite(DSRootTestCase.class);
-		suite.addTestSuite(DSServiceTestCase.class);
-		return suite;
-	}
-
-}
diff --git a/ds/org.eclipse.pde.ds.tests/src/org/eclipse/pde/internal/ds/tests/DSRootTestCase.java b/ds/org.eclipse.pde.ds.tests/src/org/eclipse/pde/internal/ds/tests/DSRootTestCase.java
deleted file mode 100644
index 1b66a44..0000000
--- a/ds/org.eclipse.pde.ds.tests/src/org/eclipse/pde/internal/ds/tests/DSRootTestCase.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ds.tests;
-
-public class DSRootTestCase extends AbstractDSModelTestCase {
-
-}
diff --git a/ds/org.eclipse.pde.ds.tests/src/org/eclipse/pde/internal/ds/tests/DSServiceTestCase.java b/ds/org.eclipse.pde.ds.tests/src/org/eclipse/pde/internal/ds/tests/DSServiceTestCase.java
deleted file mode 100644
index 819d552..0000000
--- a/ds/org.eclipse.pde.ds.tests/src/org/eclipse/pde/internal/ds/tests/DSServiceTestCase.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ds.tests;
-
-public class DSServiceTestCase extends AbstractDSModelTestCase {
-	
-	public void testAddService() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("<service>");
-		buffer.append(LF);
-		buffer.append("<provide interface=\"");
-		buffer.append("java.lang.Runnable");
-		buffer.append("</provide>");
-		buffer.append(LF);
-		buffer.append("</service>");
-		setXMLContents(buffer, LF);
-		load();
-		
-		// TODO test stuff?
-	}
-
-}
diff --git a/ds/org.eclipse.pde.ds.ui/.classpath b/ds/org.eclipse.pde.ds.ui/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/ds/org.eclipse.pde.ds.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/ds/org.eclipse.pde.ds.ui/.project b/ds/org.eclipse.pde.ds.ui/.project
deleted file mode 100644
index 420b3b1..0000000
--- a/ds/org.eclipse.pde.ds.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.pde.ds.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/ds/org.eclipse.pde.ds.ui/.settings/org.eclipse.jdt.core.prefs b/ds/org.eclipse.pde.ds.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 68f538b..0000000
--- a/ds/org.eclipse.pde.ds.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Mon Mar 24 17:04:34 CDT 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/ds/org.eclipse.pde.ds.ui/META-INF/MANIFEST.MF b/ds/org.eclipse.pde.ds.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 90498f1..0000000
--- a/ds/org.eclipse.pde.ds.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Ui Plug-in
-Bundle-SymbolicName: org.eclipse.pde.ds.ui
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.pde.ds.ui.Activator
-Require-Bundle: org.eclipse.core.runtime
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/ds/org.eclipse.pde.ds.ui/build.properties b/ds/org.eclipse.pde.ds.ui/build.properties
deleted file mode 100644
index 34d2e4d..0000000
--- a/ds/org.eclipse.pde.ds.ui/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .
diff --git a/ds/org.eclipse.pde.ds.ui/src/org/eclipse/pde/ds/ui/Activator.java b/ds/org.eclipse.pde.ds.ui/src/org/eclipse/pde/ds/ui/Activator.java
deleted file mode 100644
index 33df008..0000000
--- a/ds/org.eclipse.pde.ds.ui/src/org/eclipse/pde/ds/ui/Activator.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.pde.ds.ui;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.pde.ds.ui";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/RequiredPluginsClasspathContainer.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/RequiredPluginsClasspathContainer.java
index f9bf84d..6eb1903 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/RequiredPluginsClasspathContainer.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/RequiredPluginsClasspathContainer.java
@@ -11,11 +11,31 @@
 package org.eclipse.pde.internal.core;
 
 import java.io.File;
-import java.util.*;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jdt.core.*;
-import org.eclipse.osgi.service.resolver.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Stack;
+import java.util.TreeMap;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jdt.core.IClasspathContainer;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.osgi.service.resolver.BaseDescription;
+import org.eclipse.osgi.service.resolver.BundleDescription;
+import org.eclipse.osgi.service.resolver.BundleSpecification;
+import org.eclipse.osgi.service.resolver.ExportPackageDescription;
+import org.eclipse.osgi.service.resolver.HostSpecification;
+import org.eclipse.osgi.service.resolver.ImportPackageSpecification;
+import org.eclipse.osgi.service.resolver.StateHelper;
 import org.eclipse.pde.core.build.IBuild;
 import org.eclipse.pde.core.build.IBuildEntry;
 import org.eclipse.pde.core.plugin.IPluginModelBase;
@@ -375,16 +395,15 @@
 				String[] tokens = entry.getTokens();
 				for (int i = 0; i < tokens.length; i++) {
 					String pluginId = tokens[i];
+					if (added.contains(pluginId))
+						continue;
 					// Get PluginModelBase first to resolve system.bundle entry if it exists
 					IPluginModelBase model = PluginRegistry.findModel(pluginId);
 					if (model != null) {
-						BundleDescription bundleDesc = model.getBundleDescription();
-						if (added.contains(bundleDesc))
-							continue;
 						Map rules = new HashMap();
-						findExportedPackages(bundleDesc, desc, rules);
+						findExportedPackages(model.getBundleDescription(), desc, rules);
 						if (model != null) {
-							addDependency(bundleDesc, added, rules, entries, true);
+							addDependency(model.getBundleDescription(), added, rules, entries, true);
 						}
 					}
 				}
diff --git a/ui/org.eclipse.pde.junit.runtime/.classpath b/ui/org.eclipse.pde.junit.runtime/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/ui/org.eclipse.pde.junit.runtime/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/ui/org.eclipse.pde.junit.runtime/.cvsignore b/ui/org.eclipse.pde.junit.runtime/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/ui/org.eclipse.pde.junit.runtime/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.junit.runtime/.project b/ui/org.eclipse.pde.junit.runtime/.project
deleted file mode 100644
index e3c3e46..0000000
--- a/ui/org.eclipse.pde.junit.runtime/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.pde.junit.runtime</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/ui/org.eclipse.pde.junit.runtime/.settings/org.eclipse.jdt.core.prefs b/ui/org.eclipse.pde.junit.runtime/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 2105650..0000000
--- a/ui/org.eclipse.pde.junit.runtime/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,344 +0,0 @@
-#Thu Jan 03 09:04:25 CST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/ui/org.eclipse.pde.junit.runtime/.settings/org.eclipse.jdt.ui.prefs b/ui/org.eclipse.pde.junit.runtime/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 59db464..0000000
--- a/ui/org.eclipse.pde.junit.runtime/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,60 +0,0 @@
-#Fri Jan 04 13:58:27 CST 2008
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=99
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/ui/org.eclipse.pde.junit.runtime/.settings/org.eclipse.pde.prefs b/ui/org.eclipse.pde.junit.runtime/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index ba21983..0000000
--- a/ui/org.eclipse.pde.junit.runtime/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,13 +0,0 @@
-#Wed Mar 29 03:58:48 EST 2006
-compilers.p.build=1
-compilers.p.deprecated=1
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/ui/org.eclipse.pde.junit.runtime/META-INF/MANIFEST.MF b/ui/org.eclipse.pde.junit.runtime/META-INF/MANIFEST.MF
deleted file mode 100644
index 4d5a3c0..0000000
--- a/ui/org.eclipse.pde.junit.runtime/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.pde.junit.runtime; singleton:=true
-Bundle-Version: 3.4.0.qualifier
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.jdt.junit.runtime;bundle-version="[3.2.0,4.0.0)",
- org.junit;bundle-version="[3.8.1,3.9)",
- org.eclipse.core.runtime;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.ui;bundle-version="[3.2.0,4.0.0)";resolution:=optional
-Export-Package: org.eclipse.pde.internal.junit.runtime;x-internal:=true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/ui/org.eclipse.pde.junit.runtime/about.html b/ui/org.eclipse.pde.junit.runtime/about.html
deleted file mode 100644
index 4602330..0000000
--- a/ui/org.eclipse.pde.junit.runtime/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.junit.runtime/build.properties b/ui/org.eclipse.pde.junit.runtime/build.properties
deleted file mode 100644
index 0e26578..0000000
--- a/ui/org.eclipse.pde.junit.runtime/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-bin.includes = .,\
-               plugin.xml,\
-               plugin.properties,\
-               about.html,\
-               META-INF/
-src.includes = about.html
diff --git a/ui/org.eclipse.pde.junit.runtime/plugin.properties b/ui/org.eclipse.pde.junit.runtime/plugin.properties
deleted file mode 100644
index 680b946..0000000
--- a/ui/org.eclipse.pde.junit.runtime/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = PDE JUnit Plug-in Test
-providerName = Eclipse.org
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.junit.runtime/plugin.xml b/ui/org.eclipse.pde.junit.runtime/plugin.xml
deleted file mode 100644
index 2d4b6fc..0000000
--- a/ui/org.eclipse.pde.junit.runtime/plugin.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-   <extension
-         id="uitestapplication"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.pde.internal.junit.runtime.UITestApplication">
-         </run>
-      </application>
-   </extension>
-   <extension
-         id="legacytestapplication"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.pde.internal.junit.runtime.LegacyUITestApplication">
-         </run>
-      </application>
-   </extension>
-   <extension
-         id="coretestapplication"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.pde.internal.junit.runtime.CoreTestApplication">
-         </run>
-      </application>
-   </extension>
-   <extension
-         id="coretestapplicationnonmain"
-         point="org.eclipse.core.runtime.applications">
-      <application
-            cardinality="1"
-            thread="any">
-         <run
-               class="org.eclipse.pde.internal.junit.runtime.CoreTestApplication">
-         </run>
-      </application>
-   </extension>
-</plugin>
diff --git a/ui/org.eclipse.pde.junit.runtime/src/org/eclipse/pde/internal/junit/runtime/CoreTestApplication.java b/ui/org.eclipse.pde.junit.runtime/src/org/eclipse/pde/internal/junit/runtime/CoreTestApplication.java
deleted file mode 100644
index 42a03ba..0000000
--- a/ui/org.eclipse.pde.junit.runtime/src/org/eclipse/pde/internal/junit/runtime/CoreTestApplication.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.junit.runtime;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-
-public class CoreTestApplication implements IPlatformRunnable {
-
-	/**
-	 * Runs a set of tests as defined by the given command line args.
-	 * This is the platform application entry point.
-	 * @see IPlatformRunnable
-	 */
-	public Object run(Object arguments) throws Exception {
-		RemotePluginTestRunner.main((String[]) arguments);
-		return null;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.junit.runtime/src/org/eclipse/pde/internal/junit/runtime/LegacyUITestApplication.java b/ui/org.eclipse.pde.junit.runtime/src/org/eclipse/pde/internal/junit/runtime/LegacyUITestApplication.java
deleted file mode 100644
index bb79e51..0000000
--- a/ui/org.eclipse.pde.junit.runtime/src/org/eclipse/pde/internal/junit/runtime/LegacyUITestApplication.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.junit.runtime;
-
-import junit.framework.Assert;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.core.runtime.IProduct;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.testing.ITestHarness;
-import org.eclipse.ui.testing.TestableObject;
-
-/**
- * A Workbench that runs a test suite specified in the
- * command line arguments.
- */
-public class LegacyUITestApplication implements IPlatformRunnable, ITestHarness {
-
-	private static final String DEFAULT_APP_3_0 = "org.eclipse.ui.ide.workbench"; //$NON-NLS-1$
-
-	private TestableObject fTestableObject;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IPlatformRunnable#run(java.lang.Object)
-	 */
-	public Object run(final Object args) throws Exception {
-		IPlatformRunnable application = getApplication((String[]) args);
-
-		Assert.assertNotNull(application);
-
-		fTestableObject = PlatformUI.getTestableObject();
-		fTestableObject.setTestHarness(this);
-		return application.run(args);
-	}
-
-	/*
-	 * return the application to run, or null if not even the default application
-	 * is found.
-	 */
-	private IPlatformRunnable getApplication(String[] args) throws CoreException {
-		// Find the name of the application as specified by the PDE JUnit launcher.
-		// If no application is specified, the 3.0 default workbench application
-		// is returned.
-		IExtension extension = Platform.getExtensionRegistry().getExtension(Platform.PI_RUNTIME, Platform.PT_APPLICATIONS, getApplicationToRun(args));
-
-		Assert.assertNotNull(extension);
-
-		// If the extension does not have the correct grammar, return null.
-		// Otherwise, return the application object.
-		IConfigurationElement[] elements = extension.getConfigurationElements();
-		if (elements.length > 0) {
-			IConfigurationElement[] runs = elements[0].getChildren("run"); //$NON-NLS-1$
-			if (runs.length > 0) {
-				Object runnable = runs[0].createExecutableExtension("class"); //$NON-NLS-1$
-				if (runnable instanceof IPlatformRunnable)
-					return (IPlatformRunnable) runnable;
-			}
-		}
-		return null;
-	}
-
-	/*
-	 * The -testApplication argument specifies the application to be run.
-	 * If the PDE JUnit launcher did not set this argument, then return
-	 * the name of the default application.
-	 * In 3.0, the default is the "org.eclipse.ui.ide.worbench" application.
-	 * 
-	 */
-	private String getApplicationToRun(String[] args) {
-		IProduct product = Platform.getProduct();
-		if (product != null)
-			return product.getApplication();
-		for (int i = 0; i < args.length; i++) {
-			if (args[i].equals("-testApplication") && i < args.length - 1) //$NON-NLS-1$
-				return args[i + 1];
-		}
-		return DEFAULT_APP_3_0;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.testing.ITestHarness#runTests()
-	 */
-	public void runTests() {
-		fTestableObject.testingStarting();
-		fTestableObject.runTest(new Runnable() {
-			public void run() {
-				RemotePluginTestRunner.main(Platform.getCommandLineArgs());
-			}
-		});
-		fTestableObject.testingFinished();
-	}
-
-}
diff --git a/ui/org.eclipse.pde.junit.runtime/src/org/eclipse/pde/internal/junit/runtime/RemotePluginTestRunner.java b/ui/org.eclipse.pde.junit.runtime/src/org/eclipse/pde/internal/junit/runtime/RemotePluginTestRunner.java
deleted file mode 100644
index d9a1ced..0000000
--- a/ui/org.eclipse.pde.junit.runtime/src/org/eclipse/pde/internal/junit/runtime/RemotePluginTestRunner.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.junit.runtime;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Locale;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.internal.junit.runner.RemoteTestRunner;
-import org.osgi.framework.Bundle;
-
-/**
- * Runs JUnit tests contained inside a plugin.
- */
-public class RemotePluginTestRunner extends RemoteTestRunner {
-
-	private String fTestPluginName;
-	private ClassLoader fLoaderClassLoader;
-
-	class BundleClassLoader extends ClassLoader {
-		private Bundle bundle;
-
-		public BundleClassLoader(Bundle target) {
-			this.bundle = target;
-		}
-
-		protected Class findClass(String name) throws ClassNotFoundException {
-			return bundle.loadClass(name);
-		}
-
-		protected URL findResource(String name) {
-			return bundle.getResource(name);
-		}
-
-		protected Enumeration findResources(String name) throws IOException {
-			return bundle.getResources(name);
-		}
-	}
-
-	/** 
-	 * The main entry point. Supported arguments in addition
-	 * to the ones supported by RemoteTestRunner:
-	 * <pre>
-	 * -testpluginname: the name of the plugin containing the tests.
-	  * </pre>
-	 * @see RemoteTestRunner
-	 */
-
-	public static void main(String[] args) {
-		RemotePluginTestRunner testRunner = new RemotePluginTestRunner();
-		testRunner.init(args);
-		testRunner.run();
-	}
-
-	/**
-	 * Returns the Plugin class loader of the plugin containing the test.
-	 * @see RemoteTestRunner#getTestClassLoader()
-	 */
-	protected ClassLoader getTestClassLoader() {
-		final String pluginId = fTestPluginName;
-		return getClassLoader(pluginId);
-	}
-
-	public ClassLoader getClassLoader(final String pluginId) {
-		Bundle bundle = Platform.getBundle(pluginId);
-		if (bundle == null)
-			throw new IllegalArgumentException("No Classloader found for plug-in " + pluginId); //$NON-NLS-1$
-		return new BundleClassLoader(bundle);
-	}
-
-	public void init(String[] args) {
-		readPluginArgs(args);
-		defaultInit(args);
-	}
-
-	public void readPluginArgs(String[] args) {
-		for (int i = 0; i < args.length; i++) {
-			if (isFlag(args, i, "-testpluginname")) //$NON-NLS-1$
-				fTestPluginName = args[i + 1];
-
-			if (isFlag(args, i, "-loaderpluginname")) //$NON-NLS-1$
-				fLoaderClassLoader = getClassLoader(args[i + 1]);
-		}
-
-		if (fTestPluginName == null)
-			throw new IllegalArgumentException("Parameter -testpluginnname not specified."); //$NON-NLS-1$
-
-		if (fLoaderClassLoader == null)
-			fLoaderClassLoader = getClass().getClassLoader();
-	}
-
-	protected Class loadTestLoaderClass(String className) throws ClassNotFoundException {
-		return fLoaderClassLoader.loadClass(className);
-	}
-
-	private boolean isFlag(String[] args, int i, final String wantedFlag) {
-		String lowerCase = args[i].toLowerCase(Locale.ENGLISH);
-		return lowerCase.equals(wantedFlag) && i < args.length - 1;
-	}
-}
diff --git a/ui/org.eclipse.pde.junit.runtime/src/org/eclipse/pde/internal/junit/runtime/UITestApplication.java b/ui/org.eclipse.pde.junit.runtime/src/org/eclipse/pde/internal/junit/runtime/UITestApplication.java
deleted file mode 100644
index 575c372..0000000
--- a/ui/org.eclipse.pde.junit.runtime/src/org/eclipse/pde/internal/junit/runtime/UITestApplication.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.junit.runtime;
-
-import junit.framework.Assert;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.core.runtime.IProduct;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.testing.ITestHarness;
-import org.eclipse.ui.testing.TestableObject;
-
-/**
- * A Workbench that runs a test suite specified in the
- * command line arguments.
- */
-public class UITestApplication implements IApplication, ITestHarness {
-
-	private static final String DEFAULT_APP_3_0 = "org.eclipse.ui.ide.workbench"; //$NON-NLS-1$
-
-	private TestableObject fTestableObject;
-	private IApplication fApplication;
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext context) throws Exception {
-		String[] args = (String[]) context.getArguments().get(IApplicationContext.APPLICATION_ARGS);
-		Object app = getApplication(args);
-
-		Assert.assertNotNull(app);
-
-		fTestableObject = PlatformUI.getTestableObject();
-		fTestableObject.setTestHarness(this);
-		if (app instanceof IApplication) {
-			fApplication = (IApplication) app;
-			return fApplication.start(context);
-		}
-		return ((IPlatformRunnable) app).run(args);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#stop()
-	 */
-	public void stop() {
-		if (fApplication != null)
-			fApplication.stop();
-	}
-
-	/*
-	 * return the application to run, or null if not even the default application
-	 * is found.
-	 */
-	private Object getApplication(String[] args) throws CoreException {
-		// Find the name of the application as specified by the PDE JUnit launcher.
-		// If no application is specified, the 3.0 default workbench application
-		// is returned.
-		IExtension extension = Platform.getExtensionRegistry().getExtension(Platform.PI_RUNTIME, Platform.PT_APPLICATIONS, getApplicationToRun(args));
-
-		Assert.assertNotNull(extension);
-
-		// If the extension does not have the correct grammar, return null.
-		// Otherwise, return the application object.
-		IConfigurationElement[] elements = extension.getConfigurationElements();
-		if (elements.length > 0) {
-			IConfigurationElement[] runs = elements[0].getChildren("run"); //$NON-NLS-1$
-			if (runs.length > 0) {
-				Object runnable = runs[0].createExecutableExtension("class"); //$NON-NLS-1$
-				if (runnable instanceof IPlatformRunnable || runnable instanceof IApplication)
-					return runnable;
-			}
-		}
-		return null;
-	}
-
-	/*
-	 * The -testApplication argument specifies the application to be run.
-	 * If the PDE JUnit launcher did not set this argument, then return
-	 * the name of the default application.
-	 * In 3.0, the default is the "org.eclipse.ui.ide.worbench" application.
-	 * 
-	 */
-	private String getApplicationToRun(String[] args) {
-		IProduct product = Platform.getProduct();
-		if (product != null)
-			return product.getApplication();
-		for (int i = 0; i < args.length; i++) {
-			if (args[i].equals("-testApplication") && i < args.length - 1) //$NON-NLS-1$
-				return args[i + 1];
-		}
-		return DEFAULT_APP_3_0;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.testing.ITestHarness#runTests()
-	 */
-	public void runTests() {
-		fTestableObject.testingStarting();
-		fTestableObject.runTest(new Runnable() {
-			public void run() {
-				RemotePluginTestRunner.main(Platform.getCommandLineArgs());
-			}
-		});
-		fTestableObject.testingFinished();
-	}
-
-}
diff --git a/ui/org.eclipse.pde.runtime/.classpath b/ui/org.eclipse.pde.runtime/.classpath
deleted file mode 100644
index f1b3ad8..0000000
--- a/ui/org.eclipse.pde.runtime/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<classpath>

-	<classpathentry kind="src" path="src"/>

-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>

-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>

-	<classpathentry kind="output" path="bin"/>

-</classpath>

diff --git a/ui/org.eclipse.pde.runtime/.cvsignore b/ui/org.eclipse.pde.runtime/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/ui/org.eclipse.pde.runtime/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.runtime/.project b/ui/org.eclipse.pde.runtime/.project
deleted file mode 100644
index 2df47d2..0000000
--- a/ui/org.eclipse.pde.runtime/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.pde.runtime</name>

-	<comment></comment>

-	<projects>

-	</projects>

-	<buildSpec>

-		<buildCommand>

-			<name>org.eclipse.jdt.core.javabuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

-			<name>org.eclipse.pde.ManifestBuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

-			<name>org.eclipse.pde.SchemaBuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-	</buildSpec>

-	<natures>

-		<nature>org.eclipse.jdt.core.javanature</nature>

-		<nature>org.eclipse.pde.PluginNature</nature>

-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>

-	</natures>

-</projectDescription>

diff --git a/ui/org.eclipse.pde.runtime/.settings/org.eclipse.core.resources.prefs b/ui/org.eclipse.pde.runtime/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 1a4cdbd..0000000
--- a/ui/org.eclipse.pde.runtime/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Fri Oct 20 13:22:13 EDT 2006
-eclipse.preferences.version=1
-encoding//core/framework/org/eclipse/osgi/framework/internal/core/default.permissions=UTF-8
-encoding//core/framework/org/eclipse/osgi/framework/internal/core/implied.permissions=UTF-8
-encoding//core/framework/org/eclipse/osgi/framework/internal/core/osname.aliases=UTF-8
-encoding//core/framework/org/eclipse/osgi/framework/internal/core/processor.aliases=UTF-8
-encoding/<project>=ISO-8859-1
diff --git a/ui/org.eclipse.pde.runtime/.settings/org.eclipse.jdt.core.prefs b/ui/org.eclipse.pde.runtime/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 5215659..0000000
--- a/ui/org.eclipse.pde.runtime/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,348 +0,0 @@
-#Wed Jan 02 10:05:49 CST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/ui/org.eclipse.pde.runtime/.settings/org.eclipse.jdt.ui.prefs b/ui/org.eclipse.pde.runtime/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4079175..0000000
--- a/ui/org.eclipse.pde.runtime/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,59 +0,0 @@
-#Sun Dec 23 21:49:35 CST 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=99
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/ui/org.eclipse.pde.runtime/.settings/org.eclipse.pde.prefs b/ui/org.eclipse.pde.runtime/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 113bccf..0000000
--- a/ui/org.eclipse.pde.runtime/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,16 +0,0 @@
-#Wed Jan 02 09:57:24 CST 2008
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.deprecated=1
-compilers.p.missing-bundle-classpath-entries=0
-compilers.p.missing-packages=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/ui/org.eclipse.pde.runtime/META-INF/MANIFEST.MF b/ui/org.eclipse.pde.runtime/META-INF/MANIFEST.MF
deleted file mode 100644
index 8104d0a..0000000
--- a/ui/org.eclipse.pde.runtime/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,25 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %name
-Bundle-SymbolicName: org.eclipse.pde.runtime; singleton:=true
-Bundle-Version: 3.4.0.qualifier
-Bundle-Activator: org.eclipse.pde.internal.runtime.PDERuntimePlugin
-Bundle-Vendor: %provider-name
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.ui;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.ui.forms;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.jdt.core;bundle-version="[3.3.0,4.0.0)";resolution:=optional,
- org.eclipse.core.resources;bundle-version="[3.3.0,4.0.0)";resolution:=optional,
- org.eclipse.jdt.ui;bundle-version="[3.3.0,4.0.0)";resolution:=optional,
- org.eclipse.pde.ui;bundle-version="[3.3.0,4.0.0)";resolution:=optional,
- org.eclipse.help;bundle-version="[3.3.0,4.0.0)";resolution:=optional
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.pde.internal.runtime;x-internal:=true,
- org.eclipse.pde.internal.runtime.registry;x-internal:=true,
- org.eclipse.pde.internal.runtime.spy;x-internal:=true,
- org.eclipse.pde.internal.runtime.spy.dialogs;x-internal:=true,
- org.eclipse.pde.internal.runtime.spy.handlers;x-internal:=true,
- org.eclipse.pde.internal.runtime.spy.sections;x-internal:=true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-ActivationPolicy: lazy
diff --git a/ui/org.eclipse.pde.runtime/about.html b/ui/org.eclipse.pde.runtime/about.html
deleted file mode 100644
index 4602330..0000000
--- a/ui/org.eclipse.pde.runtime/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.runtime/build.properties b/ui/org.eclipse.pde.runtime/build.properties
deleted file mode 100644
index add70b8..0000000
--- a/ui/org.eclipse.pde.runtime/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-src.includes=about.html
-bin.includes = plugin.xml,\
-               plugin.properties,\
-               icons/,\
-               .,\
-               about.html,\
-               META-INF/
-               
diff --git a/ui/org.eclipse.pde.runtime/icons/dlcl16/refresh.gif b/ui/org.eclipse.pde.runtime/icons/dlcl16/refresh.gif
deleted file mode 100644
index 6eafa48..0000000
--- a/ui/org.eclipse.pde.runtime/icons/dlcl16/refresh.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/elcl16/collapseall.gif b/ui/org.eclipse.pde.runtime/icons/elcl16/collapseall.gif
deleted file mode 100644
index a2d80a9..0000000
--- a/ui/org.eclipse.pde.runtime/icons/elcl16/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/elcl16/cpyqual_menu.gif b/ui/org.eclipse.pde.runtime/icons/elcl16/cpyqual_menu.gif
deleted file mode 100644
index 55e2d04..0000000
--- a/ui/org.eclipse.pde.runtime/icons/elcl16/cpyqual_menu.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/elcl16/refresh.gif b/ui/org.eclipse.pde.runtime/icons/elcl16/refresh.gif
deleted file mode 100644
index e383147..0000000
--- a/ui/org.eclipse.pde.runtime/icons/elcl16/refresh.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/eview16/horizontal_view.gif b/ui/org.eclipse.pde.runtime/icons/eview16/horizontal_view.gif
deleted file mode 100644
index 86bfc48..0000000
--- a/ui/org.eclipse.pde.runtime/icons/eview16/horizontal_view.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/eview16/registry.gif b/ui/org.eclipse.pde.runtime/icons/eview16/registry.gif
deleted file mode 100644
index c2d6375..0000000
--- a/ui/org.eclipse.pde.runtime/icons/eview16/registry.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/eview16/vertical_view.gif b/ui/org.eclipse.pde.runtime/icons/eview16/vertical_view.gif
deleted file mode 100644
index 493c2fb..0000000
--- a/ui/org.eclipse.pde.runtime/icons/eview16/vertical_view.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/attr_xml_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/attr_xml_obj.gif
deleted file mode 100644
index c4ad57c..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/attr_xml_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/bundle-exporter.gif b/ui/org.eclipse.pde.runtime/icons/obj16/bundle-exporter.gif
deleted file mode 100644
index f22da64..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/bundle-exporter.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/bundle-importer-exporter.gif b/ui/org.eclipse.pde.runtime/icons/obj16/bundle-importer-exporter.gif
deleted file mode 100644
index e3c26cd..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/bundle-importer-exporter.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/bundle-importer.gif b/ui/org.eclipse.pde.runtime/icons/obj16/bundle-importer.gif
deleted file mode 100644
index fab1e4a..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/bundle-importer.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/class_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/class_obj.gif
deleted file mode 100644
index e4c2a83..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/class_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/contextid_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/contextid_obj.gif
deleted file mode 100644
index b616e85..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/contextid_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/error_st_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/error_st_obj.gif
deleted file mode 100644
index 0bc6068..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/error_st_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/error_stack.gif b/ui/org.eclipse.pde.runtime/icons/obj16/error_stack.gif
deleted file mode 100644
index e61fc24..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/error_stack.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/ext_point_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/ext_point_obj.gif
deleted file mode 100644
index 17f771a..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/ext_point_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/ext_points_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/ext_points_obj.gif
deleted file mode 100644
index 52f4e5e..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/ext_points_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/extension_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/extension_obj.gif
deleted file mode 100644
index 7f3f595..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/extension_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/extensions_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/extensions_obj.gif
deleted file mode 100644
index e8abf43..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/extensions_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/generic_xml_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/generic_xml_obj.gif
deleted file mode 100644
index 4083e21..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/generic_xml_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/info_st_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/info_st_obj.gif
deleted file mode 100644
index 2da001e..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/info_st_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/int_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/int_obj.gif
deleted file mode 100644
index 2ebc46e..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/int_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/java_lib_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/java_lib_obj.gif
deleted file mode 100644
index cb55e33..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/java_lib_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/location_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/location_obj.gif
deleted file mode 100644
index c43c5d5..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/location_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/menu_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/menu_obj.gif
deleted file mode 100644
index 9235de5..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/menu_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/menuspy_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/menuspy_obj.gif
deleted file mode 100644
index 4c8d71c..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/menuspy_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/ok_st_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/ok_st_obj.gif
deleted file mode 100644
index 9cacb96..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/ok_st_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/pdespy_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/pdespy_obj.gif
deleted file mode 100644
index 148f4d5..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/pdespy_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/plugin_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/plugin_obj.gif
deleted file mode 100644
index 8493df4..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/plugin_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/req_plugin_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/req_plugin_obj.gif
deleted file mode 100644
index c54f2b3..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/req_plugin_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/req_plugins_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/req_plugins_obj.gif
deleted file mode 100644
index 7f135be..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/req_plugins_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/runtime_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/runtime_obj.gif
deleted file mode 100644
index f159bcd..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/runtime_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/save_image_as_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/save_image_as_obj.gif
deleted file mode 100644
index bafc136..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/save_image_as_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/obj16/warning_st_obj.gif b/ui/org.eclipse.pde.runtime/icons/obj16/warning_st_obj.gif
deleted file mode 100644
index 2b2e50f..0000000
--- a/ui/org.eclipse.pde.runtime/icons/obj16/warning_st_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/ovr16/error_co.gif b/ui/org.eclipse.pde.runtime/icons/ovr16/error_co.gif
deleted file mode 100644
index 119dccc..0000000
--- a/ui/org.eclipse.pde.runtime/icons/ovr16/error_co.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/ovr16/export_co.gif b/ui/org.eclipse.pde.runtime/icons/ovr16/export_co.gif
deleted file mode 100644
index b18233d..0000000
--- a/ui/org.eclipse.pde.runtime/icons/ovr16/export_co.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/icons/ovr16/run_co.gif b/ui/org.eclipse.pde.runtime/icons/ovr16/run_co.gif
deleted file mode 100644
index 13077f9..0000000
--- a/ui/org.eclipse.pde.runtime/icons/ovr16/run_co.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.runtime/plugin.properties b/ui/org.eclipse.pde.runtime/plugin.properties
deleted file mode 100644
index ff5b11b..0000000
--- a/ui/org.eclipse.pde.runtime/plugin.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-#
-# plugin.xml properties
-#
-
-name = PDE Runtime
-provider-name = Eclipse.org
-
-views.category.name = &PDE Runtime
-views.registry.name= Plug-in Registry
-ViewCommand.registryBrowser.name= Plug-in Registry
-ViewCommand.registryBrowser.description= Show the Plug-in Registry
-
-spy-category.name = Spy
-spy-command.name = Plug-in Spy
-spy-command.description = Show the Plug-in Spy
diff --git a/ui/org.eclipse.pde.runtime/plugin.xml b/ui/org.eclipse.pde.runtime/plugin.xml
deleted file mode 100644
index b0793ee..0000000
--- a/ui/org.eclipse.pde.runtime/plugin.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-    
-<!-- Extensions -->
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%views.category.name"
-            id="org.eclipse.pde.runtime">
-      </category>
-      <view
-            name="%views.registry.name"
-            icon="$nl$/icons/eview16/registry.gif"
-            category="org.eclipse.pde.runtime"
-            class="org.eclipse.pde.internal.runtime.registry.RegistryBrowser"
-            id="org.eclipse.pde.runtime.RegistryBrowser">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <command
-            name="%ViewCommand.registryBrowser.name"
-            description="%ViewCommand.registryBrowser.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.pde.runtime.RegistryBrowser">
-      </command>
-      <category
-            id="org.eclipse.pde.runtime.spy.commands.category"
-            name="%spy-category.name">
-      </category>
-      <command
-            categoryId="org.eclipse.pde.runtime.spy.commands.category"
-            description="%spy-command.description"
-            id="org.eclipse.pde.runtime.spy.commands.spyCommand"
-            name="%spy-command.name">
-      </command>
-   </extension>
-   <extension
-         point="org.eclipse.ui.bindings">
-      <key
-            commandId="org.eclipse.pde.runtime.spy.commands.spyCommand"
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="M3+M2+F1">
-      </key>
-   </extension>
-   <extension
-         point="org.eclipse.ui.handlers">
-      <handler
-            class="org.eclipse.pde.internal.runtime.spy.handlers.SpyHandler"
-            commandId="org.eclipse.pde.runtime.spy.commands.spyCommand">
-      </handler>
-   </extension>
-
-</plugin>
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/IHelpContextIds.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/IHelpContextIds.java
deleted file mode 100644
index 46e7f73..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/IHelpContextIds.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime;
-
-public interface IHelpContextIds {
-	public static final String PREFIX = "org.eclipse.pde.doc.user" + "."; //$NON-NLS-1$ //$NON-NLS-2$
-
-	public static final String REGISTRY_VIEW = PREFIX + "registry_view"; //$NON-NLS-1$
-
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/MessageHelper.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/MessageHelper.java
deleted file mode 100644
index 19e5fca..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/MessageHelper.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime;
-
-import org.eclipse.osgi.service.resolver.BundleSpecification;
-import org.eclipse.osgi.service.resolver.ImportPackageSpecification;
-import org.eclipse.osgi.service.resolver.VersionConstraint;
-import org.eclipse.osgi.util.NLS;
-
-public class MessageHelper {
-	public static String getResolutionFailureMessage(VersionConstraint unsatisfied) {
-		if (unsatisfied.isResolved())
-			throw new IllegalArgumentException();
-		if (unsatisfied instanceof ImportPackageSpecification)
-			return NLS.bind(PDERuntimeMessages.MessageHelper_missing_imported_package, toString(unsatisfied));
-		else if (unsatisfied instanceof BundleSpecification) {
-			if (((BundleSpecification) unsatisfied).isOptional())
-				return NLS.bind(PDERuntimeMessages.MessageHelper_missing_optional_required_bundle, toString(unsatisfied));
-			return NLS.bind(PDERuntimeMessages.MessageHelper_missing_required_bundle, toString(unsatisfied));
-		} else
-			return NLS.bind(PDERuntimeMessages.MessageHelper_missing_host, toString(unsatisfied));
-	}
-
-	private static String toString(VersionConstraint constraint) {
-		org.eclipse.osgi.service.resolver.VersionRange versionRange = constraint.getVersionRange();
-		if (versionRange == null)
-			return constraint.getName();
-		return constraint.getName() + '_' + versionRange;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/OverlayIcon.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/OverlayIcon.java
deleted file mode 100644
index 5a4738b..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/OverlayIcon.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime;
-
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-
-public class OverlayIcon extends CompositeImageDescriptor {
-
-	static final int DEFAULT_WIDTH = 16;
-	static final int DEFAULT_HEIGHT = 16;
-
-	private Point fSize = null;
-
-	private ImageDescriptor fBase;
-	private ImageDescriptor fOverlays[][];
-
-	public OverlayIcon(ImageDescriptor base, ImageDescriptor[][] overlays) {
-		fBase = base;
-		if (fBase == null)
-			fBase = ImageDescriptor.getMissingImageDescriptor();
-		fOverlays = overlays;
-		fSize = new Point(DEFAULT_WIDTH, DEFAULT_HEIGHT);
-	}
-
-	public OverlayIcon(ImageDescriptor base, ImageDescriptor[][] overlays, Point size) {
-		fBase = base;
-		if (fBase == null)
-			fBase = ImageDescriptor.getMissingImageDescriptor();
-		fOverlays = overlays;
-		fSize = size;
-	}
-
-	protected void drawBottomLeft(ImageDescriptor[] overlays) {
-		if (overlays == null)
-			return;
-		int length = overlays.length;
-		int x = 0;
-		for (int i = 0; i < 3; i++) {
-			if (i < length && overlays[i] != null) {
-				ImageData id = overlays[i].getImageData();
-				drawImage(id, x, getSize().y - id.height);
-				x += id.width;
-			}
-		}
-	}
-
-	protected void drawBottomRight(ImageDescriptor[] overlays) {
-		if (overlays == null)
-			return;
-		int length = overlays.length;
-		int x = getSize().x;
-		for (int i = 2; i >= 0; i--) {
-			if (i < length && overlays[i] != null) {
-				ImageData id = overlays[i].getImageData();
-				x -= id.width;
-				drawImage(id, x, getSize().y - id.height);
-			}
-		}
-	}
-
-	protected void drawCompositeImage(int width, int height) {
-		ImageData bg = fBase.getImageData();
-		drawImage(bg, 0, 0);
-
-		if (fOverlays != null) {
-			if (fOverlays.length > 0)
-				drawTopRight(fOverlays[0]);
-
-			if (fOverlays.length > 1)
-				drawBottomRight(fOverlays[1]);
-
-			if (fOverlays.length > 2)
-				drawBottomLeft(fOverlays[2]);
-
-			if (fOverlays.length > 3)
-				drawTopLeft(fOverlays[3]);
-		}
-	}
-
-	protected void drawTopLeft(ImageDescriptor[] overlays) {
-		if (overlays == null)
-			return;
-		int length = overlays.length;
-		int x = 0;
-		for (int i = 0; i < 3; i++) {
-			if (i < length && overlays[i] != null) {
-				ImageData id = overlays[i].getImageData();
-				drawImage(id, x, 0);
-				x += id.width;
-			}
-		}
-	}
-
-	protected void drawTopRight(ImageDescriptor[] overlays) {
-		if (overlays == null)
-			return;
-		int length = overlays.length;
-		int x = getSize().x;
-		for (int i = 2; i >= 0; i--) {
-			if (i < length && overlays[i] != null) {
-				ImageData id = overlays[i].getImageData();
-				x -= id.width;
-				drawImage(id, x, 0);
-			}
-		}
-	}
-
-	protected Point getSize() {
-		return fSize;
-	}
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/PDERuntimeMessages.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/PDERuntimeMessages.java
deleted file mode 100644
index 48e0a56..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/PDERuntimeMessages.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime;
-
-import org.eclipse.osgi.util.NLS;
-
-public class PDERuntimeMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.pde.internal.runtime.pderuntimeresources";//$NON-NLS-1$
-
-	public static String RegistryView_refresh_label;
-	public static String RegistryView_refresh_tooltip;
-	public static String RegistryView_collapseAll_label;
-	public static String RegistryView_collapseAll_tooltip;
-	public static String RegistryView_folders_imports;
-	public static String RegistryView_folders_libraries;
-	public static String RegistryView_folders_extensionPoints;
-	public static String RegistryView_folders_extensions;
-
-	public static String RegistryView_found_problems;
-	public static String RegistryView_showRunning_label;
-	public static String RegistryView_showDisabled_label;
-	public static String RegistryView_showAdvanced_label;
-	public static String RegistryView_titleSummary;
-	public static String RegistryView_startAction_label;
-	public static String RegistryView_stopAction_label;
-	public static String RegistryView_enableAction_label;
-	public static String RegistryView_diag_dialog_title;
-
-	public static String RegistryView_diagnoseAction_label;
-	public static String RegistryView_disableAction_label;
-	public static String RegistryView_no_unresolved_constraints;
-
-	public static String MessageHelper_missing_optional_required_bundle;
-	public static String MessageHelper_missing_required_bundle;
-	public static String MessageHelper_missing_imported_package;
-	public static String MessageHelper_missing_host;
-
-	public static String RegistryBrowserLabelProvider_nameIdBind;
-
-	public static String SpyDialog_title;
-	public static String SpyDialog_close;
-	public static String SpyDialog_activeShell_title;
-	public static String SpyDialog_activeShell_desc;
-	public static String SpyDialog_activePart_title;
-	public static String SpyDialog_activePart_desc;
-	public static String SpyDialog_activeWizard_title;
-	public static String SpyDialog_activeWizard_desc;
-	public static String SpyDialog_activeMenuIds;
-	public static String SpyDialog_contributingPluginId_title;
-	public static String SpyDialog_contributingPluginId_desc;
-	public static String SpyDialog_activeSelection_title;
-	public static String SpyDialog_activeSelection_desc;
-	public static String SpyDialog_activeSelectionInterfaces_desc;
-	public static String SpyDialog_activeDialogPageSection_title;
-	public static String SpyDialog_activeDialogPageSection_title2;
-	public static String SpyDialog_activeDialogPageSection_desc;
-	public static String SpyDialog_activeHelpSection_title;
-	public static String SpyDialog_activeHelpSection_desc;
-
-	public static String SpyFormToolkit_saveImageAs_title;
-	public static String SpyFormToolkit_copyQualifiedName;
-
-	public static String RegistryBrowser_copy_label;
-	public static String RegistryBrowser_showExtOnlyLabel;
-	public static String RegistryBrowser_plugins;
-
-	public static String RegistryBrowserLabelProvider_contributedBy;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, PDERuntimeMessages.class);
-	}
-
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/PDERuntimePlugin.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/PDERuntimePlugin.java
deleted file mode 100644
index 4adfc99..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/PDERuntimePlugin.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime;
-
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.service.resolver.PlatformAdmin;
-import org.eclipse.osgi.service.resolver.State;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.service.packageadmin.PackageAdmin;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class PDERuntimePlugin extends AbstractUIPlugin {
-
-	public static final String ID = "org.eclipse.pde.runtime"; //$NON-NLS-1$
-
-	private static PDERuntimePlugin inst;
-	private BundleContext fContext;
-	private ServiceTracker packageAdminTracker;
-	private ServiceTracker platformAdminTracker;
-
-	private static boolean isBundleAvailable(String bundleID) {
-		Bundle bundle = Platform.getBundle(bundleID);
-		return bundle != null && (bundle.getState() & (Bundle.ACTIVE | Bundle.STARTING | Bundle.RESOLVED)) != 0;
-	}
-
-	public static final boolean HAS_IDE_BUNDLES;
-	static {
-		boolean result = false;
-		try {
-			result = isBundleAvailable("org.eclipse.core.resources") //$NON-NLS-1$
-					&& isBundleAvailable("org.eclipse.pde.core") //$NON-NLS-1$
-					&& isBundleAvailable("org.eclipse.jdt.core") //$NON-NLS-1$
-					&& isBundleAvailable("org.eclipse.help") //$NON-NLS-1$
-					&& isBundleAvailable("org.eclipse.pde.ui") //$NON-NLS-1$
-					&& isBundleAvailable("org.eclipse.jdt.ui"); //$NON-NLS-1$
-		} catch (Throwable exception) { // do nothing
-		}
-		HAS_IDE_BUNDLES = result;
-	}
-
-	public static IWorkbenchPage getActivePage() {
-		return getDefault().internalGetActivePage();
-	}
-
-	public static Shell getActiveWorkbenchShell() {
-		return getActiveWorkbenchWindow().getShell();
-	}
-
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		return getDefault().getWorkbench().getActiveWorkbenchWindow();
-	}
-
-	public PackageAdmin getPackageAdmin() {
-		if (packageAdminTracker == null) {
-			return null;
-		}
-		return (PackageAdmin) packageAdminTracker.getService();
-	}
-
-	public PlatformAdmin getPlatformAdmin() {
-		if (platformAdminTracker == null) {
-			return null;
-		}
-		return (PlatformAdmin) platformAdminTracker.getService();
-	}
-
-	public static PDERuntimePlugin getDefault() {
-		return inst;
-	}
-
-	public static String getPluginId() {
-		return getDefault().getBundle().getSymbolicName();
-	}
-
-	public PDERuntimePlugin() {
-		inst = this;
-	}
-
-	private IWorkbenchPage internalGetActivePage() {
-		return getWorkbench().getActiveWorkbenchWindow().getActivePage();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		this.fContext = context;
-
-		packageAdminTracker = new ServiceTracker(context, PackageAdmin.class.getName(), null);
-		packageAdminTracker.open();
-
-		platformAdminTracker = new ServiceTracker(context, PlatformAdmin.class.getName(), null);
-		platformAdminTracker.open();
-	}
-
-	public BundleContext getBundleContext() {
-		return this.fContext;
-	}
-
-	public State getState() {
-		return getPlatformAdmin().getState(false);
-	}
-
-	public static void log(Throwable e) {
-		if (e instanceof InvocationTargetException)
-			e = ((InvocationTargetException) e).getTargetException();
-		IStatus status = null;
-		if (e instanceof CoreException) {
-			status = ((CoreException) e).getStatus();
-		} else if (e.getMessage() != null) {
-			status = new Status(IStatus.ERROR, ID, IStatus.OK, e.getMessage(), e);
-		}
-		if (status != null)
-			getDefault().getLog().log(status);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		if (packageAdminTracker != null) {
-			packageAdminTracker.close();
-			packageAdminTracker = null;
-		}
-		if (platformAdminTracker != null) {
-			platformAdminTracker.close();
-			platformAdminTracker = null;
-		}
-		inst = null;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/PDERuntimePluginImages.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/PDERuntimePluginImages.java
deleted file mode 100644
index a7a18ea..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/PDERuntimePluginImages.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-
-public class PDERuntimePluginImages {
-
-	private static ImageRegistry PLUGIN_REGISTRY;
-
-	public final static String ICONS_PATH = "icons/"; //$NON-NLS-1$
-
-	private static final String PATH_OBJ = ICONS_PATH + "obj16/"; //$NON-NLS-1$
-	private static final String PATH_DCL = ICONS_PATH + "dlcl16/"; //$NON-NLS-1$
-	private static final String PATH_LCL = ICONS_PATH + "elcl16/"; //$NON-NLS-1$
-	private static final String PATH_OVR = ICONS_PATH + "ovr16/"; //$NON-NLS-1$
-
-	// Plug-in Spy related images
-	public static final String IMG_CLASS_OBJ = "class_obj.gif"; //$NON-NLS-1$
-	public static final String IMG_INTERFACE_OBJ = "int_obj.gif"; //$NON-NLS-1$
-	public static final String IMG_PLUGIN_OBJ = "plugin_obj.gif"; //$NON-NLS-1$
-	public static final String IMG_SPY_OBJ = "pdespy_obj.gif"; //$NON-NLS-1$
-	public static final String IMG_MENU_OBJ = "menu_obj.gif"; //$NON-NLS-1$
-	public static final String IMG_ID_OBJ = "generic_xml_obj.gif"; //$NON-NLS-1$
-	public static final String IMG_MENUSPY_OBJ = "menuspy_obj.gif"; //$NON-NLS-1$
-	public static final String IMG_CONTEXTID_OBJ = "contextid_obj.gif"; //$NON-NLS-1$
-	public static final String IMG_SAVE_IMAGE_AS_OBJ = "save_image_as_obj.gif"; //$NON-NLS-1$
-	public static final String IMG_COPY_QNAME = "cpyqual_menu.gif"; //$NON-NLS-1$
-
-	public static final ImageDescriptor CLASS_OBJ = create(PATH_OBJ, IMG_CLASS_OBJ);
-	public static final ImageDescriptor INTERFACE_OBJ = create(PATH_OBJ, IMG_INTERFACE_OBJ);
-	public static final ImageDescriptor PLUGIN_OBJ = create(PATH_OBJ, IMG_PLUGIN_OBJ);
-	public static final ImageDescriptor SPY_OBJ = create(PATH_OBJ, IMG_SPY_OBJ);
-	public static final ImageDescriptor MENU_OBJ = create(PATH_OBJ, IMG_MENU_OBJ);
-	public static final ImageDescriptor ID_OBJ = create(PATH_OBJ, IMG_ID_OBJ);
-	public static final ImageDescriptor MENUSPY_OBJ = create(PATH_OBJ, IMG_MENUSPY_OBJ);
-	public static final ImageDescriptor CONTEXTID_OBJ = create(PATH_OBJ, IMG_CONTEXTID_OBJ);
-	public static final ImageDescriptor SAVE_IMAGE_AS_OBJ = create(PATH_OBJ, IMG_SAVE_IMAGE_AS_OBJ);
-	public static final ImageDescriptor COPY_QNAME = create(PATH_LCL, IMG_COPY_QNAME);
-
-	public static final ImageDescriptor DESC_REFRESH_DISABLED = create(PATH_DCL, "refresh.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_REFRESH = create(PATH_LCL, "refresh.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_COLLAPSE_ALL = create(PATH_LCL, "collapseall.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_ERROR_ST_OBJ = create(PATH_OBJ, "error_st_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_ERROR_STACK_OBJ = create(PATH_OBJ, "error_stack.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_EXT_POINT_OBJ = create(PATH_OBJ, "ext_point_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_EXT_POINTS_OBJ = create(PATH_OBJ, "ext_points_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_EXTENSION_OBJ = create(PATH_OBJ, "extension_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_EXTENSIONS_OBJ = create(PATH_OBJ, "extensions_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_GENERIC_XML_OBJ = create(PATH_OBJ, "generic_xml_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_ATTR_XML_OBJ = create(PATH_OBJ, "attr_xml_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_INFO_ST_OBJ = create(PATH_OBJ, "info_st_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_JAVA_LIB_OBJ = create(PATH_OBJ, "java_lib_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_NATIVE_LIB_OBJ = create(PATH_OBJ, "native_lib_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_OK_ST_OBJ = create(PATH_OBJ, "ok_st_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_PLUGIN_OBJ = create(PATH_OBJ, "plugin_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_REQ_PLUGIN_OBJ = create(PATH_OBJ, "req_plugin_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_REQ_PLUGINS_OBJ = create(PATH_OBJ, "req_plugins_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_RUNTIME_OBJ = create(PATH_OBJ, "runtime_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_WARNING_ST_OBJ = create(PATH_OBJ, "warning_st_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_LOCATION = create(PATH_OBJ, "location_obj.gif"); //$NON-NLS-1$
-
-	/*
-	 * Overlays
-	 */
-	public static final ImageDescriptor DESC_RUN_CO = create(PATH_OVR, "run_co.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_EXPORT_CO = create(PATH_OVR, "export_co.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_ERROR_CO = create(PATH_OVR, "error_co.gif"); //$NON-NLS-1$
-
-	private static final void initialize() {
-		PLUGIN_REGISTRY = PDERuntimePlugin.getDefault().getImageRegistry();
-		manage(IMG_CLASS_OBJ, CLASS_OBJ);
-		manage(IMG_INTERFACE_OBJ, INTERFACE_OBJ);
-		manage(IMG_PLUGIN_OBJ, PLUGIN_OBJ);
-		manage(IMG_SPY_OBJ, SPY_OBJ);
-		manage(IMG_MENU_OBJ, MENU_OBJ);
-		manage(IMG_ID_OBJ, ID_OBJ);
-		manage(IMG_MENUSPY_OBJ, MENUSPY_OBJ);
-		manage(IMG_CONTEXTID_OBJ, CONTEXTID_OBJ);
-		manage(IMG_SAVE_IMAGE_AS_OBJ, SAVE_IMAGE_AS_OBJ);
-		manage(IMG_COPY_QNAME, COPY_QNAME);
-	}
-
-	private static ImageDescriptor create(String prefix, String name) {
-		return ImageDescriptor.createFromURL(makeIconURL(prefix, name));
-	}
-
-	public static Image get(String key) {
-		if (PLUGIN_REGISTRY == null)
-			initialize();
-		return PLUGIN_REGISTRY.get(key);
-	}
-
-	private static URL makeIconURL(String prefix, String name) {
-		String path = "$nl$/" + prefix + name; //$NON-NLS-1$
-		return FileLocator.find(PDERuntimePlugin.getDefault().getBundle(), new Path(path), null);
-	}
-
-	public static Image manage(String key, ImageDescriptor desc) {
-		Image image = desc.createImage();
-		PLUGIN_REGISTRY.put(key, image);
-		return image;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/pderuntimeresources.properties b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/pderuntimeresources.properties
deleted file mode 100644
index b8f4ce9..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/pderuntimeresources.properties
+++ /dev/null
@@ -1,68 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-#
-# PDE Runtime resources
-#
-
-RegistryView_refresh_label=&Refresh
-RegistryView_refresh_tooltip=Refresh
-RegistryView_collapseAll_label = &Collapse All
-RegistryView_collapseAll_tooltip = Collapse All
-RegistryView_folders_imports = Prerequisites
-RegistryView_folders_libraries = Run-time Libraries
-RegistryView_folders_extensionPoints = Extension Points
-RegistryView_folders_extensions = Extensions
-RegistryView_found_problems=The following problems were found:
-RegistryView_showRunning_label = &Show Active Plug-ins Only
-RegistryView_showDisabled_label = Show &Disabled Plug-ins Only
-RegistryView_showAdvanced_label = Show Advanced &Operations
-RegistryBrowser_copy_label=&Copy Qualified Name
-RegistryBrowser_showExtOnlyLabel= Show &Extension Content Only
-RegistryBrowser_plugins=plug-ins
-RegistryBrowserLabelProvider_contributedBy=contributed by: {0}
-RegistryBrowserLabelProvider_nameIdBind={0} [{1}]
-RegistryView_titleSummary = Filter matched {0} of {1} {2}.
-RegistryView_startAction_label = Start
-RegistryView_stopAction_label = Stop
-RegistryView_enableAction_label = Enable
-RegistryView_diag_dialog_title=Diagnosis
-RegistryView_diagnoseAction_label=Diagnose
-RegistryView_disableAction_label = Disable
-RegistryView_no_unresolved_constraints=No problems detected.
-
-MessageHelper_missing_optional_required_bundle=Missing optionally required bundle {0}
-MessageHelper_missing_required_bundle=Missing required bundle {0}
-MessageHelper_missing_imported_package=Missing imported package {0}
-MessageHelper_missing_host=Missing host {0}
-
-# Plug-in Spy
-SpyDialog_title = Plug-in Spy
-SpyDialog_close = &Close
-SpyDialog_activeShell_title = Active Shell
-SpyDialog_activeShell_desc = The active shell class:
-SpyDialog_activeWizard_title = Active Wizard ({0})
-SpyDialog_activeWizard_desc = The active wizard class:
-SpyDialog_activePart_title = Active Part ({0})
-SpyDialog_activePart_desc = The active {0} class:
-SpyDialog_activeMenuIds = The active menu contribution identifiers:
-SpyDialog_contributingPluginId_title = The contributing plug-in:
-SpyDialog_contributingPluginId_desc = The active {0} identifier:
-SpyDialog_activeSelection_title = Active Selection
-SpyDialog_activeSelection_desc = The selection class:
-SpyDialog_activeSelectionInterfaces_desc = The interfaces valid for the selection:
-SpyDialog_activeDialogPageSection_title = Active Page ({0})
-SpyDialog_activeDialogPageSection_title2 = Active Page
-SpyDialog_activeDialogPageSection_desc = The active page class:
-SpyDialog_activeHelpSection_title = Active Help
-SpyDialog_activeHelpSection_desc = The active help context identifiers:
-
-SpyFormToolkit_saveImageAs_title = Save Image As...
-SpyFormToolkit_copyQualifiedName = Copy Qualified Name
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/ConfigurationAttributeAdapter.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/ConfigurationAttributeAdapter.java
deleted file mode 100644
index 0196d19..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/ConfigurationAttributeAdapter.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.registry;
-
-public class ConfigurationAttributeAdapter extends ParentAdapter {
-
-	public ConfigurationAttributeAdapter(Object object) {
-		super(object);
-	}
-
-	protected Object[] createChildren() {
-		return null;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/ConfigurationElementAdapter.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/ConfigurationElementAdapter.java
deleted file mode 100644
index 509dec7..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/ConfigurationElementAdapter.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.registry;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-public class ConfigurationElementAdapter extends ParentAdapter {
-
-	class ConfigurationAttribute implements IConfigurationAttribute {
-		private String fLabel;
-
-		public ConfigurationAttribute(String name, String value) {
-			fLabel = name + " = " + value; //$NON-NLS-1$
-		}
-
-		public String getLabel() {
-			return fLabel;
-		}
-	}
-
-	public ConfigurationElementAdapter(Object object) {
-		super(object);
-	}
-
-	protected Object[] createChildren() {
-		IConfigurationElement config = (IConfigurationElement) getObject();
-		String[] atts = config.getAttributeNames();
-		IConfigurationAttribute[] catts = new IConfigurationAttribute[atts.length];
-		for (int i = 0; i < atts.length; i++)
-			catts[i] = new ConfigurationAttribute(atts[i], config.getAttribute(atts[i]));
-		IConfigurationElement[] children = config.getChildren();
-		Object[] result = new Object[children.length + catts.length];
-		for (int i = 0; i < children.length; i++) {
-			IConfigurationElement child = children[i];
-			result[i] = new ConfigurationElementAdapter(child);
-		}
-		for (int i = 0; i < catts.length; i++) {
-			IConfigurationAttribute child = catts[i];
-			result[children.length + i] = new ConfigurationAttributeAdapter(child);
-		}
-		return result;
-	}
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/DiagnosticsDialog.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/DiagnosticsDialog.java
deleted file mode 100644
index 2072cdb..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/DiagnosticsDialog.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Benjamin Muskalla <b.muskalla@gmx.net> - bug 207831
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.registry;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-public class DiagnosticsDialog extends ErrorDialog {
-
-	public DiagnosticsDialog(Shell parentShell, String dialogTitle, String message, IStatus status, int displayMask) {
-		super(parentShell, dialogTitle, message, status, displayMask);
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Control area = super.createDialogArea(parent);
-		createDropDownList((Composite) area);
-		return area;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-	}
-
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/ExtensionAdapter.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/ExtensionAdapter.java
deleted file mode 100644
index 1896800..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/ExtensionAdapter.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.registry;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-
-public class ExtensionAdapter extends ParentAdapter {
-
-	public ExtensionAdapter(Object object) {
-		super(object);
-	}
-
-	protected Object[] createChildren() {
-		IExtension extension = (IExtension) getObject();
-
-		IConfigurationElement[] elements = extension.getConfigurationElements();
-		Object[] result = new ConfigurationElementAdapter[elements.length];
-		for (int i = 0; i < elements.length; i++) {
-			IConfigurationElement config = elements[i];
-			result[i] = new ConfigurationElementAdapter(config);
-		}
-		return result;
-	}
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/ExtensionPointAdapter.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/ExtensionPointAdapter.java
deleted file mode 100644
index b8789f4..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/ExtensionPointAdapter.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.registry;
-
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-
-public class ExtensionPointAdapter extends ParentAdapter {
-
-	public ExtensionPointAdapter(Object object) {
-		super(object);
-	}
-
-	protected Object[] createChildren() {
-		IExtensionPoint extensionPoint = (IExtensionPoint) getObject();
-
-		IExtension[] extensions = extensionPoint.getExtensions();
-		Object[] result = new Object[extensions.length];
-		for (int i = 0; i < extensions.length; i++) {
-			IExtension extension = extensions[i];
-			result[i] = new ExtensionAdapter(extension);
-		}
-		return result;
-	}
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/IBundleFolder.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/IBundleFolder.java
deleted file mode 100644
index cfd197f..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/IBundleFolder.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.registry;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.osgi.framework.Bundle;
-
-public interface IBundleFolder extends IAdaptable {
-	public static final int F_LOCATION = 0;
-	public static final int F_EXTENSIONS = 1;
-	public static final int F_EXTENSION_POINTS = 2;
-	public static final int F_IMPORTS = 3;
-	public static final int F_LIBRARIES = 4;
-
-	public Object[] getChildren();
-
-	int getFolderId();
-
-	public Bundle getBundle();
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/IBundleLibrary.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/IBundleLibrary.java
deleted file mode 100644
index adbfaa38..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/IBundleLibrary.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.registry;
-
-public interface IBundleLibrary {
-	public String getLibrary();
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/IBundlePrerequisite.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/IBundlePrerequisite.java
deleted file mode 100644
index 5a45814..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/IBundlePrerequisite.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.registry;
-
-import org.eclipse.osgi.util.ManifestElement;
-
-public interface IBundlePrerequisite {
-	public ManifestElement getPrerequisite();
-
-	public boolean isExported();
-
-	public String getLabel();
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/IConfigurationAttribute.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/IConfigurationAttribute.java
deleted file mode 100644
index 390b344..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/IConfigurationAttribute.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.registry;
-
-public interface IConfigurationAttribute {
-	public String getLabel();
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/ParentAdapter.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/ParentAdapter.java
deleted file mode 100644
index 8b4923f..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/ParentAdapter.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.registry;
-
-public abstract class ParentAdapter extends PluginObjectAdapter {
-	Object[] fChildren;
-
-	public ParentAdapter(Object object) {
-		super(object);
-	}
-
-	protected abstract Object[] createChildren();
-
-	public Object[] getChildren() {
-		if (fChildren == null)
-			fChildren = createChildren();
-		return fChildren;
-	}
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/PluginObjectAdapter.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/PluginObjectAdapter.java
deleted file mode 100644
index 477d52d..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/PluginObjectAdapter.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.registry;
-
-import org.eclipse.core.runtime.PlatformObject;
-
-public class PluginObjectAdapter extends PlatformObject {
-	private Object fObject;
-
-	public PluginObjectAdapter(Object object) {
-		this.fObject = object;
-	}
-
-	public Object getObject() {
-		return fObject;
-	}
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowser.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowser.java
deleted file mode 100644
index c1ce1d1..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowser.java
+++ /dev/null
@@ -1,642 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Jacek Pospychala <jacek.pospychala@pl.ibm.com> - bug 211127
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.registry;
-
-import java.util.*;
-import java.util.List;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.osgi.service.resolver.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.pde.internal.runtime.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.dialogs.FilteredTree;
-import org.eclipse.ui.dialogs.PatternFilter;
-import org.eclipse.ui.part.DrillDownAdapter;
-import org.eclipse.ui.part.ViewPart;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-public class RegistryBrowser extends ViewPart {
-
-	public static final String SHOW_RUNNING_PLUGINS = "RegistryView.showRunning.label"; //$NON-NLS-1$
-	public static final String SHOW_ADVANCED_MODE = "RegistryView.showAdvancedMode.label"; //$NON-NLS-1$
-	public static final String SHOW_EXTENSIONS_ONLY = "RegistryView.showExtensions.label"; //$NON-NLS-1$ 
-	public static final String SHOW_DISABLED_MODE = "RegistryView.showDisabledMode.label"; //$NON-NLS-1$
-
-	private RegistryBrowserListener fListener;
-	private FilteredTree fFilteredTree;
-	private TreeViewer fTreeViewer;
-	private IMemento fMemento;
-	private int fTotalItems = 0;
-
-	// menus and action items
-	private Action fRefreshAction;
-	private Action fShowPluginsAction;
-	private Action fCollapseAllAction;
-	private Action fShowAdvancedOperationsAction;
-	private Action fShowExtensionsOnlyAction;
-	private Action fShowDisabledAction;
-	private Action fCopyAction;
-
-	// advanced actions
-	private Action fStartAction;
-	private Action fStopAction;
-	private Action fEnableAction;
-	private Action fDisableAction;
-	private Action fDiagnoseAction;
-
-	private Clipboard fClipboard;
-
-	private DrillDownAdapter fDrillDownAdapter;
-	private ViewerFilter fActiveFilter = new ViewerFilter() {
-		public boolean select(Viewer viewer, Object parentElement, Object element) {
-			if (element instanceof PluginObjectAdapter)
-				element = ((PluginObjectAdapter) element).getObject();
-			if (element instanceof IExtensionPoint)
-				element = Platform.getBundle(((IExtensionPoint) element).getNamespaceIdentifier());
-			else if (element instanceof IExtension)
-				element = Platform.getBundle(((IExtension) element).getNamespaceIdentifier());
-			if (element instanceof Bundle)
-				return ((Bundle) element).getState() == Bundle.ACTIVE;
-			return true;
-		}
-	};
-
-	private ViewerFilter fDisabledFilter = new ViewerFilter() {
-		PlatformAdmin plaformAdmin = PDERuntimePlugin.getDefault().getPlatformAdmin();
-		State state = plaformAdmin.getState(false);
-
-		public boolean select(Viewer viewer, Object parentElement, Object element) {
-			if (element instanceof PluginObjectAdapter)
-				element = ((PluginObjectAdapter) element).getObject();
-
-			if (element instanceof Bundle) {
-				Bundle bundle = (Bundle) element;
-				BundleDescription description = state.getBundle(bundle.getBundleId());
-				return ((state.getDisabledInfos(description)).length > 0);
-			}
-			return false;
-		}
-	};
-
-	/*
-	 * customized DrillDownAdapter which modifies enabled state of showing active/inactive
-	 * plug-ins action - see Bug 58467
-	 */
-	class RegistryDrillDownAdapter extends DrillDownAdapter {
-		public RegistryDrillDownAdapter(TreeViewer tree) {
-			super(tree);
-		}
-
-		public void goInto() {
-			super.goInto();
-			fShowPluginsAction.setEnabled(!canGoHome());
-			fShowDisabledAction.setEnabled(!canGoHome());
-		}
-
-		public void goBack() {
-			super.goBack();
-			fShowPluginsAction.setEnabled(!canGoHome());
-			fShowDisabledAction.setEnabled(!canGoHome());
-		}
-
-		public void goHome() {
-			super.goHome();
-			fShowPluginsAction.setEnabled(!canGoHome());
-			fShowDisabledAction.setEnabled(!canGoHome());
-		}
-
-		public void goInto(Object newInput) {
-			super.goInto(newInput);
-			fShowPluginsAction.setEnabled(!canGoHome());
-			fShowDisabledAction.setEnabled(!canGoHome());
-		}
-	}
-
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		super.init(site, memento);
-		if (memento == null)
-			this.fMemento = XMLMemento.createWriteRoot("REGISTRYVIEW"); //$NON-NLS-1$
-		else
-			this.fMemento = memento;
-		initializeMemento();
-
-		fListener = new RegistryBrowserListener(this);
-	}
-
-	private void initializeMemento() {
-		// show all bundles by default (i.e. not just activated ones)
-		if (fMemento.getString(SHOW_RUNNING_PLUGINS) == null)
-			fMemento.putString(SHOW_RUNNING_PLUGINS, "false"); //$NON-NLS-1$
-		if (fMemento.getString(SHOW_EXTENSIONS_ONLY) == null)
-			fMemento.putString(SHOW_EXTENSIONS_ONLY, "false"); //$NON-NLS-1$
-		if (fMemento.getString(SHOW_DISABLED_MODE) == null)
-			fMemento.putString(SHOW_DISABLED_MODE, "false"); //$NON-NLS-1$
-
-		// default to not showing advanced options to users
-		if (fMemento.getString(SHOW_ADVANCED_MODE) == null)
-			fMemento.putString(SHOW_ADVANCED_MODE, "false"); //$NON-NLS-1$
-	}
-
-	public void dispose() {
-		if (fListener != null) {
-			Platform.getExtensionRegistry().removeRegistryChangeListener(fListener);
-			PDERuntimePlugin.getDefault().getBundleContext().removeBundleListener(fListener);
-		}
-		fClipboard.dispose();
-		super.dispose();
-	}
-
-	public void createPartControl(Composite parent) {
-		// create the sash form that will contain the tree viewer & text viewer
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = layout.marginWidth = 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		makeActions();
-		createTreeViewer(composite);
-		fClipboard = new Clipboard(fTreeViewer.getTree().getDisplay());
-		fillToolBar();
-
-		PDERuntimePlugin.getDefault().getBundleContext().addBundleListener(fListener);
-		Platform.getExtensionRegistry().addRegistryChangeListener(fListener);
-	}
-
-	private void createTreeViewer(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = layout.marginWidth = 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		fFilteredTree = new RegistryFilteredTree(this, composite, SWT.MULTI, new PatternFilter());
-		fFilteredTree.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-		Tree tree = fFilteredTree.getViewer().getTree();
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		fFilteredTree.setLayoutData(gd);
-		fTreeViewer = fFilteredTree.getViewer();
-		fTreeViewer.setContentProvider(new RegistryBrowserContentProvider());
-		fTreeViewer.setLabelProvider(new RegistryBrowserLabelProvider(fTreeViewer));
-		fTreeViewer.setUseHashlookup(true);
-		fTreeViewer.setComparator(new ViewerComparator() {
-			public int compare(Viewer viewer, Object e1, Object e2) {
-				if (e1 instanceof PluginObjectAdapter)
-					e1 = ((PluginObjectAdapter) e1).getObject();
-				if (e2 instanceof PluginObjectAdapter)
-					e2 = ((PluginObjectAdapter) e2).getObject();
-				if (e1 instanceof IBundleFolder && e2 instanceof IBundleFolder)
-					return ((IBundleFolder) e1).getFolderId() - ((IBundleFolder) e2).getFolderId();
-				if (e1 instanceof Bundle && e2 instanceof Bundle) {
-					e1 = ((Bundle) e1).getSymbolicName();
-					e2 = ((Bundle) e2).getSymbolicName();
-				}
-				return super.compare(viewer, e1, e2);
-			}
-		});
-		if (fShowPluginsAction.isChecked())
-			fTreeViewer.addFilter(fActiveFilter);
-
-		if (fShowDisabledAction.isChecked())
-			fTreeViewer.addFilter(fDisabledFilter);
-
-		updateItems(true);
-
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(fTreeViewer.getControl(), IHelpContextIds.REGISTRY_VIEW);
-
-		getViewSite().setSelectionProvider(fTreeViewer);
-
-		MenuManager popupMenuManager = new MenuManager();
-		IMenuListener listener = new IMenuListener() {
-			public void menuAboutToShow(IMenuManager mng) {
-				fillContextMenu(mng);
-			}
-		};
-		popupMenuManager.setRemoveAllWhenShown(true);
-		popupMenuManager.addMenuListener(listener);
-		Menu menu = popupMenuManager.createContextMenu(tree);
-		tree.setMenu(menu);
-	}
-
-	private PluginObjectAdapter[] getBundles() {
-		Bundle[] bundles = PDERuntimePlugin.getDefault().getBundleContext().getBundles();
-		ArrayList list = new ArrayList();
-		for (int i = 0; i < bundles.length; i++)
-			if (bundles[i].getHeaders().get(Constants.FRAGMENT_HOST) == null)
-				list.add(new PluginObjectAdapter(bundles[i]));
-		return (PluginObjectAdapter[]) list.toArray(new PluginObjectAdapter[list.size()]);
-	}
-
-	private void fillToolBar() {
-		fDrillDownAdapter = new RegistryDrillDownAdapter(fTreeViewer);
-		IActionBars bars = getViewSite().getActionBars();
-		bars.setGlobalActionHandler(ActionFactory.COPY.getId(), fCopyAction);
-		IToolBarManager mng = bars.getToolBarManager();
-		fDrillDownAdapter.addNavigationActions(mng);
-		mng.add(fRefreshAction);
-		mng.add(new Separator());
-		mng.add(fCollapseAllAction);
-		IMenuManager mgr = bars.getMenuManager();
-		mgr.add(new Separator());
-		mgr.add(fShowPluginsAction);
-		mgr.add(fShowDisabledAction);
-		mgr.add(new Separator());
-		mgr.add(fShowExtensionsOnlyAction);
-		mgr.add(new Separator());
-		mgr.add(fShowAdvancedOperationsAction);
-
-	}
-
-	public void fillContextMenu(IMenuManager manager) {
-		manager.add(fRefreshAction);
-		manager.add(new Separator());
-		manager.add(fCopyAction);
-		manager.add(new Separator());
-		fDrillDownAdapter.addNavigationActions(manager);
-		manager.add(new Separator());
-		// check if we should enable advanced actions
-		if (fShowAdvancedOperationsAction.isChecked() && isBundleSelected()) {
-			// control bundle state actions
-			if (selectedBundlesStopped())
-				manager.add(fStartAction);
-			if (selectedBundlesStarted())
-				manager.add(fStopAction);
-
-			if (getSelectedBundles().size() == 1)
-				manager.add(fDiagnoseAction);
-
-			// security related actions
-			if (selectedBundlesDisabled())
-				manager.add(fEnableAction);
-			if (selectedBundlesEnabled())
-				manager.add(fDisableAction);
-		}
-
-		manager.add(new Separator());
-		manager.add(fShowPluginsAction);
-		manager.add(fShowDisabledAction);
-		manager.add(new Separator());
-		manager.add(fShowExtensionsOnlyAction);
-		manager.add(new Separator());
-		manager.add(fShowAdvancedOperationsAction);
-	}
-
-	public void saveState(IMemento memento) {
-		if (memento == null || fMemento == null || fTreeViewer == null)
-			return;
-		fMemento.putString(SHOW_RUNNING_PLUGINS, Boolean.toString(fShowPluginsAction.isChecked()));
-		fMemento.putString(SHOW_DISABLED_MODE, Boolean.toString(fShowDisabledAction.isChecked()));
-		fMemento.putString(SHOW_EXTENSIONS_ONLY, Boolean.toString(fShowExtensionsOnlyAction.isChecked()));
-		fMemento.putBoolean(SHOW_ADVANCED_MODE, fShowAdvancedOperationsAction.isChecked());
-		memento.putMemento(fMemento);
-	}
-
-	public void setFocus() {
-		fFilteredTree.getFilterControl().setFocus();
-	}
-
-	/*
-	 * toolbar and context menu actions
-	 */
-	public void makeActions() {
-		fRefreshAction = new Action("refresh") { //$NON-NLS-1$
-			public void run() {
-				BusyIndicator.showWhile(fTreeViewer.getTree().getDisplay(), new Runnable() {
-					public void run() {
-						updateItems(true);
-					}
-				});
-			}
-		};
-		fRefreshAction.setText(PDERuntimeMessages.RegistryView_refresh_label);
-		fRefreshAction.setToolTipText(PDERuntimeMessages.RegistryView_refresh_tooltip);
-		fRefreshAction.setImageDescriptor(PDERuntimePluginImages.DESC_REFRESH);
-		fRefreshAction.setDisabledImageDescriptor(PDERuntimePluginImages.DESC_REFRESH_DISABLED);
-
-		fShowPluginsAction = new Action(PDERuntimeMessages.RegistryView_showRunning_label) {
-			public void run() {
-				if (fShowPluginsAction.isChecked()) {
-					fTreeViewer.addFilter(fActiveFilter);
-				} else {
-					fTreeViewer.removeFilter(fActiveFilter);
-				}
-				updateTitle();
-			}
-		};
-		fShowPluginsAction.setChecked(fMemento.getString(SHOW_RUNNING_PLUGINS).equals("true")); //$NON-NLS-1$
-
-		fShowDisabledAction = new Action(PDERuntimeMessages.RegistryView_showDisabled_label) {
-			public void run() {
-				if (fShowDisabledAction.isChecked()) {
-					fTreeViewer.addFilter(fDisabledFilter);
-				} else {
-					fTreeViewer.removeFilter(fDisabledFilter);
-				}
-				updateTitle();
-			}
-		};
-		fShowDisabledAction.setChecked(fMemento.getString(SHOW_DISABLED_MODE).equals("true")); //$NON-NLS-1$
-
-		fCopyAction = new Action(PDERuntimeMessages.RegistryBrowser_copy_label) {
-			public void run() {
-				ITreeSelection selection = (ITreeSelection) fFilteredTree.getViewer().getSelection();
-				if (selection.isEmpty()) {
-					return;
-				}
-
-				String textVersion = ((ILabelProvider) fTreeViewer.getLabelProvider()).getText(selection.getFirstElement());
-				if ((textVersion != null) && (textVersion.trim().length() > 0)) {
-					// set the clipboard contents
-					fClipboard.setContents(new Object[] {textVersion}, new Transfer[] {TextTransfer.getInstance()});
-				}
-			}
-		};
-		fCopyAction.setImageDescriptor(PDERuntimePluginImages.COPY_QNAME);
-
-		fShowExtensionsOnlyAction = new Action(PDERuntimeMessages.RegistryBrowser_showExtOnlyLabel) {
-			public void run() {
-				// refreshAction takes into account checked state of fShowExtensionsOnlyAction
-				// (via updateItems(true)
-				fRefreshAction.run();
-			}
-		};
-		fShowExtensionsOnlyAction.setChecked(fMemento.getString(SHOW_EXTENSIONS_ONLY).equals("true")); //$NON-NLS-1$
-
-		fShowAdvancedOperationsAction = new Action(PDERuntimeMessages.RegistryView_showAdvanced_label) {
-			public void run() { // do nothing
-			}
-		};
-		fShowAdvancedOperationsAction.setChecked(fMemento.getString(SHOW_ADVANCED_MODE).equals("true")); //$NON-NLS-1$
-
-		fStartAction = new Action(PDERuntimeMessages.RegistryView_startAction_label) {
-			public void run() {
-				try {
-					List bundles = getSelectedBundles();
-					for (Iterator it = bundles.iterator(); it.hasNext();) {
-						Bundle bundle = (Bundle) it.next();
-						bundle.start();
-					}
-				} catch (BundleException e) {
-					PDERuntimePlugin.log(e);
-				}
-			}
-		};
-
-		fStopAction = new Action(PDERuntimeMessages.RegistryView_stopAction_label) {
-			public void run() {
-				try {
-					List bundles = getSelectedBundles();
-					for (Iterator it = bundles.iterator(); it.hasNext();) {
-						Bundle bundle = (Bundle) it.next();
-						bundle.stop();
-					}
-				} catch (BundleException e) {
-					PDERuntimePlugin.log(e);
-				}
-			}
-		};
-
-		fEnableAction = new Action(PDERuntimeMessages.RegistryView_enableAction_label) {
-			public void run() {
-				List bundles = getSelectedBundles();
-				State state = PDERuntimePlugin.getDefault().getState();
-				for (Iterator it = bundles.iterator(); it.hasNext();) {
-					Bundle bundle = (Bundle) it.next();
-					BundleDescription desc = state.getBundle(bundle.getBundleId());
-					DisabledInfo[] infos = state.getDisabledInfos(desc);
-					for (int i = 0; i < infos.length; i++) {
-						PlatformAdmin platformAdmin = PDERuntimePlugin.getDefault().getPlatformAdmin();
-						platformAdmin.removeDisabledInfo(infos[i]);
-					}
-				}
-				PackageAdmin packageAdmin = PDERuntimePlugin.getDefault().getPackageAdmin();
-				packageAdmin.refreshPackages((Bundle[]) bundles.toArray(new Bundle[bundles.size()]));
-			}
-		};
-
-		fDisableAction = new Action(PDERuntimeMessages.RegistryView_disableAction_label) {
-			public void run() {
-				List bundles = getSelectedBundles();
-				State state = PDERuntimePlugin.getDefault().getState();
-				for (Iterator it = bundles.iterator(); it.hasNext();) {
-					Bundle bundle = (Bundle) it.next();
-					BundleDescription desc = state.getBundle(bundle.getBundleId());
-					DisabledInfo info = new DisabledInfo("org.eclipse.pde.ui", "Disabled via PDE", desc); //$NON-NLS-1$ //$NON-NLS-2$
-					PlatformAdmin platformAdmin = PDERuntimePlugin.getDefault().getPlatformAdmin();
-					platformAdmin.addDisabledInfo(info);
-				}
-				PackageAdmin packageAdmin = PDERuntimePlugin.getDefault().getPackageAdmin();
-				packageAdmin.refreshPackages((Bundle[]) bundles.toArray(new Bundle[bundles.size()]));
-			}
-		};
-
-		fDiagnoseAction = new Action(PDERuntimeMessages.RegistryView_diagnoseAction_label) {
-			public void run() {
-				List bundles = getSelectedBundles();
-				State state = PDERuntimePlugin.getDefault().getState();
-				for (Iterator it = bundles.iterator(); it.hasNext();) {
-					Bundle bundle = (Bundle) it.next();
-					BundleDescription desc = state.getBundle(bundle.getBundleId());
-					PlatformAdmin platformAdmin = PDERuntimePlugin.getDefault().getPlatformAdmin();
-					VersionConstraint[] unsatisfied = platformAdmin.getStateHelper().getUnsatisfiedConstraints(desc);
-					ResolverError[] resolverErrors = platformAdmin.getState(false).getResolverErrors(desc);
-					MultiStatus problems = new MultiStatus(PDERuntimePlugin.ID, IStatus.INFO, PDERuntimeMessages.RegistryView_found_problems, null);
-					for (int i = 0; i < resolverErrors.length; i++) {
-						if ((resolverErrors[i].getType() & (ResolverError.MISSING_FRAGMENT_HOST | ResolverError.MISSING_GENERIC_CAPABILITY | ResolverError.MISSING_IMPORT_PACKAGE | ResolverError.MISSING_REQUIRE_BUNDLE)) != 0)
-							continue;
-						IStatus status = new Status(IStatus.WARNING, PDERuntimePlugin.ID, resolverErrors[i].toString());
-						problems.add(status);
-					}
-
-					for (int i = 0; i < unsatisfied.length; i++) {
-						IStatus status = new Status(IStatus.WARNING, PDERuntimePlugin.ID, MessageHelper.getResolutionFailureMessage(unsatisfied[i]));
-						problems.add(status);
-					}
-					Dialog dialog;
-					if (unsatisfied.length != 0 || resolverErrors.length != 0) {
-						dialog = new DiagnosticsDialog(getSite().getShell(), PDERuntimeMessages.RegistryView_diag_dialog_title, null, problems, IStatus.WARNING);
-						dialog.open();
-					} else {
-						MessageDialog.openInformation(getSite().getShell(), PDERuntimeMessages.RegistryView_diag_dialog_title, PDERuntimeMessages.RegistryView_no_unresolved_constraints);
-					}
-
-				}
-			}
-		};
-
-		fCollapseAllAction = new Action("collapseAll") { //$NON-NLS-1$
-			public void run() {
-				fTreeViewer.collapseAll();
-			}
-		};
-		fCollapseAllAction.setText(PDERuntimeMessages.RegistryView_collapseAll_label);
-		fCollapseAllAction.setImageDescriptor(PDERuntimePluginImages.DESC_COLLAPSE_ALL);
-		fCollapseAllAction.setToolTipText(PDERuntimeMessages.RegistryView_collapseAll_tooltip);
-	}
-
-	protected void updateItems(boolean resetInput) {
-		Object[] input = null;
-		boolean extOnly = fShowExtensionsOnlyAction.isChecked();
-		if (extOnly)
-			input = Platform.getExtensionRegistry().getExtensionPoints();
-		else
-			input = getBundles();
-		fListener.fExtOnly = extOnly;
-		fTotalItems = input.length;
-		if (resetInput)
-			fTreeViewer.setInput(new PluginObjectAdapter(input));
-		updateTitle();
-	}
-
-	public void updateTitle() {
-		setContentDescription(getTitleSummary());
-	}
-
-	protected Tree getUndisposedTree() {
-		if (fTreeViewer == null || fTreeViewer.getTree() == null || fTreeViewer.getTree().isDisposed())
-			return null;
-		return fTreeViewer.getTree();
-	}
-
-	public String getTitleSummary() {
-		Tree tree = getUndisposedTree();
-		String type = fShowExtensionsOnlyAction.isChecked() ? PDERuntimeMessages.RegistryView_folders_extensionPoints : PDERuntimeMessages.RegistryBrowser_plugins;
-		if (tree == null)
-			return NLS.bind(PDERuntimeMessages.RegistryView_titleSummary, (new String[] {"0", "0", type})); //$NON-NLS-1$ //$NON-NLS-2$
-		return NLS.bind(PDERuntimeMessages.RegistryView_titleSummary, (new String[] {Integer.toString(tree.getItemCount()), Integer.toString(fTotalItems), type}));
-	}
-
-	// TODO hackish, should rewrite
-	private boolean isBundleSelected() {
-		IStructuredSelection selection = (IStructuredSelection) fTreeViewer.getSelection();
-		if (selection != null) {
-			Object[] elements = selection.toArray();
-			for (int i = 0; i < elements.length; i++) {
-				if (elements[i] instanceof PluginObjectAdapter) {
-					PluginObjectAdapter adapter = (PluginObjectAdapter) elements[i];
-					Object object = adapter.getObject();
-					if (!(object instanceof Bundle))
-						return false;
-				} else {
-					return false;
-				}
-			}
-		}
-		return true;
-	}
-
-	private List getSelectedBundles() {
-		List bundles = new ArrayList();
-		IStructuredSelection selection = (IStructuredSelection) fTreeViewer.getSelection();
-		if (selection != null) {
-			Object[] elements = selection.toArray();
-			for (int i = 0; i < elements.length; i++) {
-				if (elements[i] instanceof PluginObjectAdapter) {
-					PluginObjectAdapter adapter = (PluginObjectAdapter) elements[i];
-					Object object = adapter.getObject();
-					if (object instanceof Bundle)
-						bundles.add(object);
-				}
-			}
-		}
-		return bundles;
-	}
-
-	private boolean selectedBundlesStarted() {
-		List bundles = getSelectedBundles();
-		for (Iterator it = bundles.iterator(); it.hasNext();) {
-			Bundle bundle = (Bundle) it.next();
-			if (bundle.getState() != Bundle.ACTIVE)
-				return false;
-		}
-		return true;
-	}
-
-	private boolean selectedBundlesStopped() {
-		List bundles = getSelectedBundles();
-		for (Iterator it = bundles.iterator(); it.hasNext();) {
-			Bundle bundle = (Bundle) it.next();
-			if (bundle.getState() == Bundle.ACTIVE)
-				return false;
-		}
-		return true;
-	}
-
-	private boolean selectedBundlesDisabled() {
-		List bundles = getSelectedBundles();
-		for (Iterator it = bundles.iterator(); it.hasNext();) {
-			Bundle bundle = (Bundle) it.next();
-			State state = PDERuntimePlugin.getDefault().getState();
-			BundleDescription desc = state.getBundle(bundle.getBundleId());
-			DisabledInfo[] infos = state.getDisabledInfos(desc);
-			if (infos.length == 0)
-				return false;
-		}
-		return true;
-	}
-
-	private boolean selectedBundlesEnabled() {
-		List bundles = getSelectedBundles();
-		for (Iterator it = bundles.iterator(); it.hasNext();) {
-			Bundle bundle = (Bundle) it.next();
-			State state = PDERuntimePlugin.getDefault().getState();
-			BundleDescription desc = state.getBundle(bundle.getBundleId());
-			DisabledInfo[] infos = state.getDisabledInfos(desc);
-			if (infos.length > 0)
-				return false;
-		}
-		return true;
-	}
-
-	protected void add(Object object) {
-		add(fTreeViewer.getInput(), object);
-	}
-
-	protected void add(Object parent, Object object) {
-		if (fDrillDownAdapter.canGoHome())
-			return;
-		fTotalItems += 1;
-		fTreeViewer.add(parent, object);
-		updateTitle();
-	}
-
-	protected void remove(Object object) {
-		if (fDrillDownAdapter.canGoHome())
-			return;
-		fTotalItems -= 1;
-		fTreeViewer.remove(object);
-		updateTitle();
-	}
-
-	protected void update(Object object) {
-		fTreeViewer.update(object, null);
-	}
-
-	protected void refresh(Object object) {
-		fTreeViewer.refresh(object);
-	}
-
-	protected TreeItem[] getTreeItems() {
-		return fTreeViewer.getTree().getItems();
-	}
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserContentProvider.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserContentProvider.java
deleted file mode 100644
index 7e758cb..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserContentProvider.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.registry;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.osgi.util.ManifestElement;
-import org.osgi.framework.*;
-
-public class RegistryBrowserContentProvider implements ITreeContentProvider {
-	private Hashtable fPluginMap = new Hashtable();
-	private Hashtable fExtensionPointMap = new Hashtable();
-	public boolean isInExtensionSet;
-
-	static class BundleFolder implements IBundleFolder {
-		private int id;
-		private Bundle bundle;
-		private Object[] children;
-
-		public BundleFolder(Bundle pd, int id) {
-			this.bundle = pd;
-			this.id = id;
-		}
-
-		public Bundle getBundle() {
-			return bundle;
-		}
-
-		public Object[] getChildren() {
-			if (children == null) {
-				children = getFolderChildren(bundle, id);
-			}
-			return children;
-		}
-
-		public int getFolderId() {
-			return id;
-		}
-
-		public Object getAdapter(Class key) {
-			return null;
-		}
-	}
-
-	static class BundlePrerequisite implements IBundlePrerequisite {
-		private ManifestElement underlyingElement;
-
-		public BundlePrerequisite(ManifestElement element) {
-			underlyingElement = element;
-		}
-
-		public ManifestElement getPrerequisite() {
-			return underlyingElement;
-		}
-
-		public boolean isExported() {
-			String visibility = underlyingElement.getDirective(Constants.VISIBILITY_DIRECTIVE);
-			return Constants.VISIBILITY_REEXPORT.equals(visibility);
-		}
-
-		public String getLabel() {
-			String version = underlyingElement.getAttribute(Constants.BUNDLE_VERSION_ATTRIBUTE);
-			String value = underlyingElement.getValue();
-			if (version == null)
-				return value;
-			if (Character.isDigit(version.charAt(0)))
-				version = '(' + version + ')';
-			return value + ' ' + version;
-		}
-	}
-
-	static class BundleLibrary implements IBundleLibrary {
-		private ManifestElement underlyingElement;
-
-		public BundleLibrary(ManifestElement element) {
-			underlyingElement = element;
-		}
-
-		public String getLibrary() {
-			return underlyingElement.getValue();
-		}
-	}
-
-	static protected PluginObjectAdapter createAdapter(Object object, int id) {
-		if (id == IBundleFolder.F_EXTENSIONS)
-			return new ExtensionAdapter(object);
-		if (id == IBundleFolder.F_EXTENSION_POINTS)
-			return new ExtensionPointAdapter(object);
-		return new PluginObjectAdapter(object);
-	}
-
-	protected Object[] createPluginFolders(Bundle bundle) {
-		Object[] array = new Object[5];
-		array[0] = new BundleFolder(bundle, IBundleFolder.F_LOCATION);
-		array[1] = new BundleFolder(bundle, IBundleFolder.F_IMPORTS);
-		array[2] = new BundleFolder(bundle, IBundleFolder.F_LIBRARIES);
-		array[3] = new BundleFolder(bundle, IBundleFolder.F_EXTENSION_POINTS);
-		array[4] = new BundleFolder(bundle, IBundleFolder.F_EXTENSIONS);
-		return array;
-	}
-
-	public void dispose() { // nothing to dispose
-	}
-
-	public Object[] getElements(Object element) {
-		return getChildren(element);
-	}
-
-	public Object[] getChildren(Object element) {
-		if (element == null)
-			return null;
-
-		if (element instanceof ExtensionAdapter)
-			return ((ExtensionAdapter) element).getChildren();
-
-		isInExtensionSet = false;
-		if (element instanceof ExtensionPointAdapter)
-			return ((ExtensionPointAdapter) element).getChildren();
-
-		if (element instanceof ConfigurationElementAdapter)
-			return ((ConfigurationElementAdapter) element).getChildren();
-
-		if (element instanceof PluginObjectAdapter)
-			element = ((PluginObjectAdapter) element).getObject();
-
-		if (element instanceof Bundle) {
-			Bundle bundle = (Bundle) element;
-			String bundleID = new Long(bundle.getBundleId()).toString();
-			Object[] folders = (Object[]) fPluginMap.get(bundleID);
-			if (folders == null) {
-				folders = createPluginFolders(bundle);
-
-				ArrayList folderList = new ArrayList();
-				for (int i = 0; i < folders.length; i++) {
-					if (folders[i] != null && ((IBundleFolder) folders[i]).getChildren() != null || ((IBundleFolder) folders[i]).getFolderId() == IBundleFolder.F_LOCATION)
-						folderList.add(folders[i]);
-				}
-				folders = folderList.toArray(new Object[folderList.size()]);
-
-				fPluginMap.put(bundleID, folders);
-			}
-			return folders;
-		}
-		if (element instanceof IBundleFolder) {
-			IBundleFolder folder = (IBundleFolder) element;
-			isInExtensionSet = folder.getFolderId() == IBundleFolder.F_EXTENSIONS;
-			return ((IBundleFolder) element).getChildren();
-		}
-		if (element instanceof IConfigurationElement) {
-			return ((IConfigurationElement) element).getChildren();
-		}
-		if (element instanceof Object[]) {
-			return (Object[]) element;
-		}
-		if (element instanceof IExtensionPoint) {
-			IExtensionPoint extensionPoint = (IExtensionPoint) element;
-			String id = extensionPoint.getUniqueIdentifier();
-
-			Object[] children = (Object[]) fExtensionPointMap.get(id);
-			if (children == null) {
-				Object[] array = extensionPoint.getExtensions();
-				if (array != null && array.length > 0) {
-					children = new Object[array.length];
-					for (int i = 0; i < array.length; i++) {
-						children[i] = createAdapter(array[i], IBundleFolder.F_EXTENSIONS);
-					}
-
-					fExtensionPointMap.put(id, children);
-				}
-			}
-
-			return children;
-		}
-		return null;
-	}
-
-	static Object[] getFolderChildren(Bundle bundle, int id) {
-		Object[] array = null;
-		String bundleId = bundle.getSymbolicName();
-		switch (id) {
-			case IBundleFolder.F_EXTENSIONS :
-				array = Platform.getExtensionRegistry().getExtensions(bundleId);
-				break;
-			case IBundleFolder.F_EXTENSION_POINTS :
-				array = Platform.getExtensionRegistry().getExtensionPoints(bundleId);
-				break;
-			case IBundleFolder.F_IMPORTS :
-				array = getManifestHeaderArray(bundle, Constants.REQUIRE_BUNDLE);
-				break;
-			case IBundleFolder.F_LIBRARIES :
-				array = getManifestHeaderArray(bundle, Constants.BUNDLE_CLASSPATH);
-				break;
-		}
-		Object[] result = null;
-		if (array != null && array.length > 0) {
-			result = new Object[array.length];
-			for (int i = 0; i < array.length; i++) {
-				result[i] = createAdapter(array[i], id);
-			}
-		}
-		return result;
-	}
-
-	public Object getParent(Object element) {
-		return null;
-	}
-
-	public boolean hasChildren(Object element) {
-		Object[] children = getChildren(element);
-		return children != null && children.length > 0;
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // do nothing
-	}
-
-	static private Object[] getManifestHeaderArray(Bundle bundle, String headerKey) {
-		String libraries = (String) bundle.getHeaders().get(headerKey);
-		try {
-			ManifestElement[] elements = ManifestElement.parseHeader(headerKey, libraries);
-			if (elements == null)
-				return null;
-			if (headerKey.equals(Constants.BUNDLE_CLASSPATH)) {
-				IBundleLibrary[] array = new IBundleLibrary[elements.length];
-				for (int i = 0; i < elements.length; i++)
-					array[i] = new BundleLibrary(elements[i]);
-				return array;
-			} else if (headerKey.equals(Constants.REQUIRE_BUNDLE)) {
-				IBundlePrerequisite[] array = new IBundlePrerequisite[elements.length];
-				for (int i = 0; i < elements.length; i++)
-					array[i] = new BundlePrerequisite(elements[i]);
-				return array;
-			}
-		} catch (BundleException e) { // do nothing
-		}
-		return null;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserLabelProvider.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserLabelProvider.java
deleted file mode 100644
index ca50db6..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserLabelProvider.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.registry;
-
-import java.io.IOException;
-import java.net.URL;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.osgi.service.resolver.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.pde.internal.runtime.*;
-import org.eclipse.swt.graphics.Image;
-import org.osgi.framework.Bundle;
-
-public class RegistryBrowserLabelProvider extends LabelProvider {
-
-	private Image fPluginImage;
-	private Image fActivePluginImage;
-	private Image fUnresolvedPluginImage;
-	private Image fLibraryImage;
-	private Image fRuntimeImage;
-	private Image fGenericTagImage;
-	private Image fGenericAttrImage;
-	private Image fExtensionImage;
-	private Image fExtensionsImage;
-	private Image fExtensionPointImage;
-	private Image fExtensionPointsImage;
-	private Image fRequiresImage;
-	private Image fExpReqPluginImage;
-	private Image fReqPluginImage;
-	private Image fLocationImage;
-	private Image fDisabledImage;
-	private TreeViewer fViewer;
-
-	public RegistryBrowserLabelProvider(TreeViewer viewer) {
-		fViewer = viewer;
-		fPluginImage = PDERuntimePluginImages.DESC_PLUGIN_OBJ.createImage();
-		fReqPluginImage = PDERuntimePluginImages.DESC_REQ_PLUGIN_OBJ.createImage();
-		fExtensionPointImage = PDERuntimePluginImages.DESC_EXT_POINT_OBJ.createImage();
-		fExtensionPointsImage = PDERuntimePluginImages.DESC_EXT_POINTS_OBJ.createImage();
-		fExtensionImage = PDERuntimePluginImages.DESC_EXTENSION_OBJ.createImage();
-		fExtensionsImage = PDERuntimePluginImages.DESC_EXTENSIONS_OBJ.createImage();
-		fRequiresImage = PDERuntimePluginImages.DESC_REQ_PLUGINS_OBJ.createImage();
-		fLibraryImage = PDERuntimePluginImages.DESC_JAVA_LIB_OBJ.createImage();
-		fGenericTagImage = PDERuntimePluginImages.DESC_GENERIC_XML_OBJ.createImage();
-		fGenericAttrImage = PDERuntimePluginImages.DESC_ATTR_XML_OBJ.createImage();
-		fRuntimeImage = PDERuntimePluginImages.DESC_RUNTIME_OBJ.createImage();
-		fLocationImage = PDERuntimePluginImages.DESC_LOCATION.createImage();
-
-		ImageDescriptor activePluginDesc = new OverlayIcon(PDERuntimePluginImages.DESC_PLUGIN_OBJ, new ImageDescriptor[][] {{PDERuntimePluginImages.DESC_RUN_CO}});
-		fActivePluginImage = activePluginDesc.createImage();
-
-		ImageDescriptor disabledPluginDesc = new OverlayIcon(PDERuntimePluginImages.DESC_PLUGIN_OBJ, new ImageDescriptor[][] {{PDERuntimePluginImages.DESC_ERROR_CO}});
-		fDisabledImage = disabledPluginDesc.createImage();
-
-		ImageDescriptor unresolvedPluginDesc = new OverlayIcon(PDERuntimePluginImages.DESC_PLUGIN_OBJ, new ImageDescriptor[][] {{PDERuntimePluginImages.DESC_ERROR_CO}});
-		fUnresolvedPluginImage = unresolvedPluginDesc.createImage();
-
-		ImageDescriptor exportedRequiresDesc = new OverlayIcon(PDERuntimePluginImages.DESC_REQ_PLUGIN_OBJ, new ImageDescriptor[][] {{PDERuntimePluginImages.DESC_EXPORT_CO}});
-		fExpReqPluginImage = exportedRequiresDesc.createImage();
-
-	}
-
-	public void dispose() {
-		fPluginImage.dispose();
-		fActivePluginImage.dispose();
-		fUnresolvedPluginImage.dispose();
-		fReqPluginImage.dispose();
-		fExtensionPointImage.dispose();
-		fExtensionPointsImage.dispose();
-		fExtensionImage.dispose();
-		fExtensionsImage.dispose();
-		fRequiresImage.dispose();
-		fExpReqPluginImage.dispose();
-		fLibraryImage.dispose();
-		fGenericTagImage.dispose();
-		fGenericAttrImage.dispose();
-		fRuntimeImage.dispose();
-		fLocationImage.dispose();
-		fDisabledImage.dispose();
-	}
-
-	public Image getImage(Object element) {
-		if (element instanceof PluginObjectAdapter)
-			element = ((PluginObjectAdapter) element).getObject();
-
-		if (element instanceof Bundle) {
-			Bundle bundle = (Bundle) element;
-
-			// check if bundle is disabled
-			PlatformAdmin plaformAdmin = PDERuntimePlugin.getDefault().getPlatformAdmin();
-			State state = plaformAdmin.getState(false);
-
-			BundleDescription description = state.getBundle(bundle.getBundleId());
-			if ((state.getDisabledInfos(description)).length > 0)
-				return fDisabledImage;
-
-			switch (bundle.getState()) {
-				case Bundle.ACTIVE :
-					return fActivePluginImage;
-				case Bundle.UNINSTALLED :
-					return fUnresolvedPluginImage;
-				case Bundle.INSTALLED :
-					if ((state.getDisabledInfos(description)).length > 0)
-						return fUnresolvedPluginImage;
-				default :
-					return fPluginImage;
-			}
-		}
-		if (element instanceof IBundleFolder) {
-			int id = ((IBundleFolder) element).getFolderId();
-			switch (id) {
-				case IBundleFolder.F_EXTENSIONS :
-					return fExtensionsImage;
-				case IBundleFolder.F_EXTENSION_POINTS :
-					return fExtensionPointsImage;
-				case IBundleFolder.F_IMPORTS :
-					return fRequiresImage;
-				case IBundleFolder.F_LIBRARIES :
-					return fRuntimeImage;
-				case IBundleFolder.F_LOCATION :
-					return fLocationImage;
-			}
-			return null;
-		}
-		if (element instanceof IExtension)
-			return fExtensionImage;
-
-		if (element instanceof IExtensionPoint)
-			return fExtensionPointImage;
-
-		if (element instanceof IBundlePrerequisite)
-			return ((IBundlePrerequisite) element).isExported() ? fExpReqPluginImage : fReqPluginImage;
-
-		if (element instanceof IBundleLibrary)
-			return fLibraryImage;
-
-		if (element instanceof IConfigurationElement)
-			return fGenericTagImage;
-
-		if (element instanceof IConfigurationAttribute)
-			return fGenericAttrImage;
-
-		return null;
-	}
-
-	public String getText(Object element) {
-		if (element instanceof PluginObjectAdapter)
-			element = ((PluginObjectAdapter) element).getObject();
-		if (element instanceof Bundle) {
-			String id = ((Bundle) element).getSymbolicName();
-			String version = (String) ((Bundle) element).getHeaders().get(org.osgi.framework.Constants.BUNDLE_VERSION);
-			if (version == null)
-				return id;
-			return id + " (" + version + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		if (element instanceof IBundleFolder) {
-			switch (((IBundleFolder) element).getFolderId()) {
-				case IBundleFolder.F_IMPORTS :
-					return PDERuntimeMessages.RegistryView_folders_imports;
-				case IBundleFolder.F_LIBRARIES :
-					return PDERuntimeMessages.RegistryView_folders_libraries;
-				case IBundleFolder.F_EXTENSION_POINTS :
-					return PDERuntimeMessages.RegistryView_folders_extensionPoints;
-				case IBundleFolder.F_EXTENSIONS :
-					return PDERuntimeMessages.RegistryView_folders_extensions;
-				case IBundleFolder.F_LOCATION :
-					Bundle bundle = ((IBundleFolder) element).getBundle();
-					URL bundleEntry = bundle.getEntry("/"); //$NON-NLS-1$
-					try {
-						bundleEntry = FileLocator.resolve(bundleEntry);
-					} catch (IOException e) { // do nothing
-					}
-					IPath path = new Path(bundleEntry.getFile());
-					String pathString = path.removeTrailingSeparator().toOSString();
-					if (pathString.startsWith("file:")) //$NON-NLS-1$
-						pathString = pathString.substring(5);
-					if (pathString.endsWith("!")) //$NON-NLS-1$
-						pathString = pathString.substring(0, pathString.length() - 1);
-					return pathString;
-			}
-		}
-		if (element instanceof IExtension) {
-			if (((RegistryBrowserContentProvider) fViewer.getContentProvider()).isInExtensionSet) {
-				String name = ((IExtension) element).getLabel();
-				String id = ((IExtension) element).getExtensionPointUniqueIdentifier();
-				if (name != null && name.length() > 0)
-					return NLS.bind(PDERuntimeMessages.RegistryBrowserLabelProvider_nameIdBind, id, name);
-				return id;
-			}
-
-			String contributor = ((IExtension) element).getNamespaceIdentifier();
-			return NLS.bind(PDERuntimeMessages.RegistryBrowserLabelProvider_contributedBy, contributor);
-
-		}
-		if (element instanceof IExtensionPoint) {
-			String id = ((IExtensionPoint) element).getUniqueIdentifier();
-			String name = ((IExtensionPoint) element).getLabel();
-			if (name != null && name.length() > 0)
-				return NLS.bind(PDERuntimeMessages.RegistryBrowserLabelProvider_nameIdBind, id, name);
-			return id;
-		}
-		if (element instanceof IBundlePrerequisite)
-			return ((IBundlePrerequisite) element).getLabel();
-
-		if (element instanceof IBundleLibrary)
-			return ((IBundleLibrary) element).getLibrary();
-
-		if (element instanceof IConfigurationElement) {
-			String label = ((IConfigurationElement) element).getAttribute("label"); //$NON-NLS-1$
-			if (label == null)
-				label = ((IConfigurationElement) element).getName();
-
-			if (label == null)
-				label = ((IConfigurationElement) element).getAttribute("name"); //$NON-NLS-1$
-
-			if (label == null && ((IConfigurationElement) element).getAttribute("id") != null) { //$NON-NLS-1$
-				String[] labelSplit = ((IConfigurationElement) element).getAttribute("id").split("\\."); //$NON-NLS-1$ //$NON-NLS-2$
-				label = labelSplit.length == 0 ? null : labelSplit[labelSplit.length - 1];
-			}
-			return label;
-		}
-		if (element instanceof IConfigurationAttribute)
-			return ((IConfigurationAttribute) element).getLabel();
-
-		return super.getText(element);
-	}
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserListener.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserListener.java
deleted file mode 100644
index 6495080..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryBrowserListener.java
+++ /dev/null
@@ -1,330 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.registry;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.osgi.framework.*;
-
-public class RegistryBrowserListener implements IRegistryChangeListener, BundleListener {
-
-	protected RegistryBrowser fBrowser;
-	protected boolean fExtOnly;
-
-	protected RegistryBrowserListener(RegistryBrowser browser) {
-		fBrowser = browser;
-	}
-
-	public void registryChanged(final IRegistryChangeEvent event) {
-		final Tree tree = fBrowser.getUndisposedTree();
-		if (tree == null)
-			return;
-
-		tree.getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				IExtensionDelta[] deltas = event.getExtensionDeltas();
-				for (int i = 0; i < deltas.length; i++) {
-					if (fExtOnly)
-						handleExtOnlyEvent(deltas[i]);
-					else
-						handleEvent(deltas[i]);
-				}
-			}
-		});
-	}
-
-	public void bundleChanged(final BundleEvent event) {
-		final Tree tree = fBrowser.getUndisposedTree();
-		if (tree == null)
-			return;
-
-		tree.getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				if (fExtOnly)
-					handleExtOnlyEvent(event.getType(), event.getBundle());
-				else
-					handleEvent(event.getType(), event.getBundle());
-			}
-		});
-	}
-
-	void handleEvent(IExtensionDelta delta) {
-		handleDelta(delta, false);
-	}
-
-	void handleExtOnlyEvent(IExtensionDelta delta) {
-		handleDelta(delta, true);
-	}
-
-	private void handleDelta(IExtensionDelta delta, boolean extOnly) {
-		IExtension ext = delta.getExtension();
-		IExtensionPoint extPoint = delta.getExtensionPoint();
-		// TODO fix this method (and addToTree/removeFromTree)
-		// bug 130655
-		if (delta.getKind() == IExtensionDelta.ADDED) {
-			System.out.println("adding "); //$NON-NLS-1$
-			if (ext != null)
-				System.out.println("ext: " + ext.getUniqueIdentifier() + "/" + ext.getLabel() + " : " + ext.getExtensionPointUniqueIdentifier()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			if (extPoint != null)
-				System.out.println("extPoint: " + extPoint.getUniqueIdentifier()); //$NON-NLS-1$
-			addExtensionObjectToTree(ext, extOnly);
-			addExtensionObjectToTree(extPoint, extOnly);
-			//			addToTree(ext);
-			//			addToTree(extPoint);
-		} else if (delta.getKind() == IExtensionDelta.REMOVED) {
-			System.out.println("removing "); //$NON-NLS-1$
-			if (ext != null)
-				System.out.println("ext: " + ext.getUniqueIdentifier() + " : " + ext.getExtensionPointUniqueIdentifier()); //$NON-NLS-1$ //$NON-NLS-2$
-			if (extPoint != null)
-				System.out.println("extPoint: " + extPoint.getUniqueIdentifier()); //$NON-NLS-1$
-			removeFromTree(ext);
-			removeFromTree(extPoint);
-		}
-	}
-
-	//	private void addToTree(Object object) {
-	//		String namespace = getNamespaceIdentifier(object);
-	//		if (namespace == null)
-	//			return;
-	//		TreeItem[] items = fTreeViewer.getTree().getItems();
-	//		for (int i = 0; i < items.length; i++) {
-	//			Object data = items[i].getData();
-	//			Object adapted = null;
-	//			if (data instanceof PluginObjectAdapter)
-	//				adapted = ((PluginObjectAdapter)data).getObject();
-	//			if (adapted instanceof Bundle && ((Bundle)adapted).getSymbolicName().equals(namespace)) {
-	//				addBundleToTree(items[i], data, object);
-	//			}
-	//		}
-	//	}
-
-	private void addExtensionObjectToTree(Object child, boolean extOnly) {
-		Object parent = null;
-		if (!extOnly)
-			parent = getAdoptingBundleParent(child);
-		else if (child instanceof IExtensionPoint) {
-			// add to root
-			fBrowser.add(child);
-			return;
-		} else if (child instanceof IExtension) {
-			// search all extensionPoints and return the correct one
-			String extPoint = ((IExtension) child).getExtensionPointUniqueIdentifier();
-			TreeItem[] items = fBrowser.getTreeItems();
-			for (int i = 0; i < items.length; i++) {
-				Object data = items[i].getData();
-				if (data instanceof PluginObjectAdapter)
-					data = ((PluginObjectAdapter) data).getObject();
-				if (data instanceof IExtensionPoint && ((IExtensionPoint) data).getUniqueIdentifier().equals(extPoint)) {
-					parent = items[i].getData();
-					break;
-				}
-			}
-		}
-		if (parent != null)
-			fBrowser.add(parent, child);
-	}
-
-	private Object getAdoptingBundleParent(Object child) {
-		TreeItem bundleItem = findBundleItem(getNamespaceIdentifier(child));
-		if (bundleItem != null) {
-			// TODO fix this
-			// remove this if (true) clause and return the proper parent
-			if (true) {
-				fBrowser.refresh(bundleItem.getData());
-				fBrowser.updateItems(false);
-				return null;
-			}
-			TreeItem[] folders = bundleItem.getItems();
-			for (int j = 0; j < folders.length; j++) {
-				// make sure to check extensionsOnlyMode()
-				// and add to root/proper extension if true
-				IBundleFolder folder = (IBundleFolder) folders[j].getData();
-				if (correctFolder(folder, child))
-					return folder;
-			}
-			// folder not found - 1st extension - refresh bundle item
-			// to rebuild folders
-			fBrowser.refresh(bundleItem.getData());
-		}
-		return null;
-	}
-
-	private TreeItem findBundleItem(String namespace) {
-		if (namespace == null)
-			return null;
-		TreeItem[] items = fBrowser.getTreeItems();
-		for (int i = 0; i < items.length; i++) {
-			Object data = items[i].getData();
-			if (data instanceof PluginObjectAdapter)
-				data = ((PluginObjectAdapter) data).getObject();
-			if (data instanceof Bundle && ((Bundle) data).getSymbolicName().equals(namespace))
-				return items[i];
-		}
-		return null;
-	}
-
-	//	private void addBundleToTree(TreeItem item, Object data, Object object) {
-	//		// TODO fix this method
-	//		if (true) {
-	//			fTreeViewer.refresh(data);
-	//			updateItems(false);
-	//			return;
-	//		}
-	//		TreeItem[] folders = item.getItems();
-	//		for (int j = 0; j < folders.length; j++) {
-	//			// make sure to check extensionsOnlyMode()
-	//			// and add to root/proper extension if true
-	//			IBundleFolder folder = (IBundleFolder)folders[j].getData();
-	//			if (correctFolder(folder, object)) {
-	//				fTreeViewer.add(folder, object);
-	//				return;
-	//			}
-	//		}
-	//		// folder not found - 1st extension - refresh bundle item
-	//		fTreeViewer.refresh(data);
-	//	}
-
-	private String getNamespaceIdentifier(Object object) {
-		if (object instanceof IExtensionPoint)
-			return ((IExtensionPoint) object).getNamespaceIdentifier();
-		if (object instanceof IExtension)
-			return ((IExtension) object).getContributor().getName();
-		return null;
-	}
-
-	private boolean correctFolder(IBundleFolder folder, Object child) {
-		if (folder == null)
-			return false;
-		if (child instanceof IExtensionPoint)
-			return folder.getFolderId() == IBundleFolder.F_EXTENSION_POINTS;
-		if (child instanceof IExtension)
-			return folder.getFolderId() == IBundleFolder.F_EXTENSIONS;
-		return false;
-	}
-
-	private void removeFromTree(Object object) {
-		String namespace = getNamespaceIdentifier(object);
-		if (namespace == null)
-			return;
-		TreeItem[] bundles = fBrowser.getTreeItems();
-		for (int i = 0; i < bundles.length; i++) {
-			Object data = bundles[i].getData();
-			Object adapted = null;
-			if (data instanceof PluginObjectAdapter)
-				adapted = ((PluginObjectAdapter) data).getObject();
-			if (adapted instanceof Bundle && ((Bundle) adapted).getSymbolicName().equals(namespace)) {
-				TreeItem[] folders = bundles[i].getItems();
-				// TODO fix this method
-				if (true) {
-					fBrowser.refresh(data);
-					fBrowser.updateItems(false);
-					return;
-				}
-				for (int j = 0; j < folders.length; j++) {
-					IBundleFolder folder = (IBundleFolder) folders[j].getData();
-					if (correctFolder(folder, object)) {
-						fBrowser.remove(object);
-						return;
-					}
-				}
-				// folder not found - 1st extension - refresh bundle item
-				fBrowser.refresh(data);
-			}
-		}
-	}
-
-	protected Object findTreeBundleData(Object searchData) {
-		Object data = null;
-		TreeItem[] items = fBrowser.getTreeItems();
-		if (items == null)
-			return null;
-		for (int i = 0; i < items.length; i++) {
-			Object object = items[i].getData();
-			data = object;
-			if (object instanceof PluginObjectAdapter)
-				object = ((PluginObjectAdapter) object).getObject();
-			if (searchData.equals(object))
-				return data;
-		}
-		return null;
-	}
-
-	void handleEvent(int changeType, Bundle bundle) {
-		Object data = findTreeBundleData(bundle);
-		switch (changeType) {
-			case BundleEvent.INSTALLED :
-				if (data == null)
-					fBrowser.add(new PluginObjectAdapter(bundle));
-				break;
-			case BundleEvent.UNINSTALLED :
-				if (data != null)
-					fBrowser.remove(data);
-				break;
-			case BundleEvent.STARTED :
-			case BundleEvent.STOPPED :
-			case BundleEvent.UPDATED :
-			case BundleEvent.RESOLVED :
-			case BundleEvent.STARTING :
-			case BundleEvent.STOPPING :
-			case BundleEvent.UNRESOLVED :
-			case BundleEvent.LAZY_ACTIVATION :
-				if (data != null)
-					fBrowser.update(data);
-				break;
-		}
-	}
-
-	void handleExtOnlyEvent(int changeType, Bundle bundle) {
-		switch (changeType) {
-			case BundleEvent.INSTALLED :
-			case BundleEvent.UNINSTALLED :
-				// add/remove all extension points contributed by new bundle
-				IExtensionPoint[] points = Platform.getExtensionRegistry().getExtensionPoints(bundle.getSymbolicName());
-				for (int i = 0; i < points.length; i++) {
-					Object pointData = findTreeBundleData(points[i]);
-					if (pointData == null) {
-						if (changeType == BundleEvent.INSTALLED)
-							fBrowser.add(new ExtensionPointAdapter(points[i]));
-						else
-							// changeType == BundleEvent.UNINSTALLED
-							fBrowser.remove(pointData);
-					}
-				}
-				// add/remove all extensions contributed by new bundle
-				IExtension[] extensions = Platform.getExtensionRegistry().getExtensions(bundle.getSymbolicName());
-				for (int i = 0; i < extensions.length; i++) {
-					String pointId = extensions[i].getExtensionPointUniqueIdentifier();
-					if (changeType == BundleEvent.INSTALLED) {
-						IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(pointId);
-						Object pointData = findTreeBundleData(point);
-						if (pointData != null)
-							fBrowser.add(pointData, new ExtensionAdapter(extensions[i]));
-					} else { // changeType == BundleEvent.UNINSTALLED
-						Object extensionData = findTreeBundleData(extensions[i]);
-						if (extensionData != null)
-							fBrowser.remove(extensionData);
-					}
-				}
-				break;
-			case BundleEvent.STARTED :
-			case BundleEvent.STOPPED :
-			case BundleEvent.UPDATED :
-			case BundleEvent.RESOLVED :
-			case BundleEvent.STARTING :
-			case BundleEvent.STOPPING :
-			case BundleEvent.UNRESOLVED :
-			case BundleEvent.LAZY_ACTIVATION :
-				// nothing needs to be done for any other cases
-				break;
-		}
-	}
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryFilteredTree.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryFilteredTree.java
deleted file mode 100644
index 74c6f19..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/registry/RegistryFilteredTree.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.registry;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.dialogs.FilteredTree;
-import org.eclipse.ui.dialogs.PatternFilter;
-
-public class RegistryFilteredTree extends FilteredTree {
-
-	private RegistryBrowser browser;
-
-	public RegistryFilteredTree(RegistryBrowser browser, Composite parent, int treeStyle, PatternFilter filter) {
-		super(parent, treeStyle, filter);
-		this.browser = browser;
-	}
-
-	protected void createControl(Composite parent, int treeStyle) {
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		setLayout(layout);
-		setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-
-		if (showFilterControls) {
-			filterComposite = new Composite(this, SWT.NONE);
-			GridLayout filterLayout = new GridLayout(2, false);
-			filterLayout.marginHeight = 4;
-			filterLayout.marginWidth = 3;
-			filterComposite.setLayout(filterLayout);
-			filterComposite.setFont(parent.getFont());
-
-			createFilterControls(filterComposite);
-			filterComposite.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false));
-		}
-
-		treeComposite = new Composite(this, SWT.NONE);
-		GridLayout treeCompositeLayout = new GridLayout();
-		treeCompositeLayout.marginHeight = 0;
-		treeCompositeLayout.marginWidth = 0;
-		treeComposite.setLayout(treeCompositeLayout);
-		GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
-		treeComposite.setLayoutData(data);
-		createTreeControl(treeComposite, treeStyle);
-	}
-
-	protected void updateToolbar(boolean visible) {
-		super.updateToolbar(visible);
-
-		// update view title on viewer's toolbar update
-		browser.updateTitle();
-	}
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/SpyFormToolkit.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/SpyFormToolkit.java
deleted file mode 100644
index 36a2a33..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/SpyFormToolkit.java
+++ /dev/null
@@ -1,329 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Chris Aniszczyk <zx@us.ibm.com> - initial API and implementation
- *     Willian Mitsuda <wmitsuda@gmail.com> - bug 209841
- *     Benjamin Cabe <benjamin.cabe@anyware-tech.com> - bug 209487
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.spy;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.help.IContext;
-import org.eclipse.help.internal.context.Context;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.pde.internal.runtime.PDERuntimeMessages;
-import org.eclipse.pde.internal.runtime.PDERuntimePlugin;
-import org.eclipse.pde.internal.runtime.PDERuntimePluginImages;
-import org.eclipse.pde.internal.runtime.spy.dialogs.SpyDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.Clipboard;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.MenuAdapter;
-import org.eclipse.swt.events.MenuEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.ImageLoader;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.forms.events.HyperlinkAdapter;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.widgets.FormText;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.Section;
-import org.osgi.framework.Bundle;
-
-public class SpyFormToolkit extends FormToolkit {
-
-	private static final String CLASS_PROTOCOL_PREFIX = "class://"; //$NON-NLS-1$
-
-	private static final String BUNDLE_PROTOCOL_PREFIX = "bundle://"; //$NON-NLS-1$
-
-	private class SpyHyperlinkAdapter extends HyperlinkAdapter {
-
-		private SpyDialog dialog;
-
-		public SpyHyperlinkAdapter(SpyDialog dialog) {
-			this.dialog = dialog;
-		}
-
-		public void linkActivated(HyperlinkEvent e) {
-			String href = (String) e.getHref();
-			if (href.startsWith(CLASS_PROTOCOL_PREFIX)) {
-				String clazz = href.substring(CLASS_PROTOCOL_PREFIX.length());
-				Bundle bundle = (Bundle) bundleClassByName.get(clazz);
-				SpyIDEUtil.openClass(bundle.getSymbolicName(), clazz);
-				dialog.close();
-			} else if (href.startsWith(BUNDLE_PROTOCOL_PREFIX)) {
-				String bundle = href.substring(BUNDLE_PROTOCOL_PREFIX.length());
-				SpyIDEUtil.openBundleManifest(bundle);
-				dialog.close();
-			}
-		}
-	}
-
-	private class SaveImageAction extends Action {
-
-		private Image image;
-
-		public SaveImageAction(Image image) {
-			this.image = image;
-		}
-
-		public void run() {
-			FileDialog fileChooser = new FileDialog(PDERuntimePlugin.getActiveWorkbenchShell(), SWT.SAVE);
-			fileChooser.setFileName("image"); //$NON-NLS-1$
-			fileChooser.setFilterExtensions(new String[] {"*.png"}); //$NON-NLS-1$
-			fileChooser.setFilterNames(new String[] {"PNG (*.png)"}); //$NON-NLS-1$
-			String filename = fileChooser.open();
-			if (filename == null)
-				return;
-
-			int filetype = determineFileType(filename);
-			if (filetype == SWT.IMAGE_UNDEFINED) {
-				return;
-			}
-			ImageLoader loader = new ImageLoader();
-			loader.data = new ImageData[] {image.getImageData()};
-			loader.save(filename, filetype);
-		}
-
-		private int determineFileType(String filename) {
-			String ext = filename.substring(filename.lastIndexOf('.') + 1);
-			if (ext.equalsIgnoreCase("gif")) //$NON-NLS-1$
-				return SWT.IMAGE_GIF;
-			if (ext.equalsIgnoreCase("ico")) //$NON-NLS-1$
-				return SWT.IMAGE_ICO;
-			if (ext.equalsIgnoreCase("jpg") || ext.equalsIgnoreCase("jpeg")) //$NON-NLS-1$//$NON-NLS-2$
-				return SWT.IMAGE_JPEG;
-			if (ext.equalsIgnoreCase("png")) //$NON-NLS-1$
-				return SWT.IMAGE_PNG;
-			return SWT.IMAGE_UNDEFINED;
-		}
-	}
-
-	private Map bundleClassByName = new HashMap();
-	private SpyDialog dialog;
-	private static String HELP_KEY = "org.eclipse.ui.help"; //$NON-NLS-1$
-
-	public SpyFormToolkit(SpyDialog dialog) {
-		super(Display.getDefault());
-		this.dialog = dialog;
-	}
-
-	public FormText createFormText(Composite parent, boolean trackFocus) {
-		FormText text = super.createFormText(parent, trackFocus);
-		if (PDERuntimePlugin.HAS_IDE_BUNDLES) {
-			text.addHyperlinkListener(new SpyHyperlinkAdapter(dialog));
-			addCopyQNameMenuItem(text);
-		}
-		return text;
-	}
-
-	private void addCopyQNameMenuItem(final FormText formText) {
-		Menu menu = formText.getMenu();
-		final MenuItem copyQNameItem = new MenuItem(menu, SWT.PUSH);
-		copyQNameItem.setImage(PDERuntimePluginImages.get(PDERuntimePluginImages.IMG_COPY_QNAME));
-		copyQNameItem.setText(PDERuntimeMessages.SpyFormToolkit_copyQualifiedName);
-
-		SelectionListener listener = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (e.widget == copyQNameItem) {
-					Clipboard clipboard = new Clipboard(formText.getDisplay());
-					clipboard.setContents(new Object[] {((String) formText.getSelectedLinkHref()).substring(CLASS_PROTOCOL_PREFIX.length())}, new Transfer[] {TextTransfer.getInstance()});
-				}
-			}
-		};
-		copyQNameItem.addSelectionListener(listener);
-		menu.addMenuListener(new MenuAdapter() {
-			public void menuShown(MenuEvent e) {
-				String href = (String) formText.getSelectedLinkHref();
-				copyQNameItem.setEnabled(href != null && href.startsWith(CLASS_PROTOCOL_PREFIX));
-			}
-		});
-	}
-
-	public String createInterfaceSection(FormText text, String title, Class[] clazzes) {
-		StringBuffer buffer = new StringBuffer();
-		if (clazzes.length > 0) {
-			buffer.append("<p>"); //$NON-NLS-1$
-			buffer.append(title);
-			buffer.append("</p>"); //$NON-NLS-1$
-			for (int i = 0; i < clazzes.length; i++) {
-				buffer.append("<li bindent=\"20\" style=\"image\" value=\"interface\">"); //$NON-NLS-1$
-				createClassReference(buffer, clazzes[i]);
-				buffer.append("</li>"); //$NON-NLS-1$
-			}
-			Image image = PDERuntimePluginImages.get(PDERuntimePluginImages.IMG_INTERFACE_OBJ);
-			text.setImage("interface", image); //$NON-NLS-1$
-		}
-		return buffer.toString();
-	}
-
-	public String createClassSection(FormText text, String title, Class[] clazzes) {
-		StringBuffer buffer = new StringBuffer();
-		if (clazzes.length > 0) {
-			buffer.append("<p>"); //$NON-NLS-1$
-			buffer.append(title);
-			buffer.append("</p>"); //$NON-NLS-1$
-			for (int i = 0; i < clazzes.length; i++) {
-				buffer.append("<li bindent=\"20\" style=\"image\" value=\"class\">"); //$NON-NLS-1$
-				createClassReference(buffer, clazzes[i]);
-				buffer.append("</li>"); //$NON-NLS-1$
-			}
-			Image image = PDERuntimePluginImages.get(PDERuntimePluginImages.IMG_CLASS_OBJ);
-			text.setImage("class", image); //$NON-NLS-1$
-		}
-		return buffer.toString();
-	}
-
-	public String createIdentifierSection(FormText text, String title, String[] ids) {
-		StringBuffer buffer = new StringBuffer();
-		if (ids.length > 0) {
-			buffer.append("<p>"); //$NON-NLS-1$
-			buffer.append(title);
-			buffer.append("</p>"); //$NON-NLS-1$
-			for (int i = 0; i < ids.length; i++) {
-				buffer.append("<li bindent=\"20\" style=\"image\" value=\"id\">"); //$NON-NLS-1$
-				buffer.append(ids[i]);
-				buffer.append("</li>"); //$NON-NLS-1$
-			}
-			Image image = PDERuntimePluginImages.get(PDERuntimePluginImages.IMG_ID_OBJ);
-			text.setImage("id", image); //$NON-NLS-1$
-		}
-		return buffer.toString();
-	}
-
-	public String createHelpIdentifierSection(Widget widget) {
-		return createHelpIdentifierSection(widget.getData(HELP_KEY));
-	}
-
-	public String createHelpIdentifierSection(IContext context) {
-		if (context instanceof Context)
-			return createHelpIdentifierSection(((Context) context).getId());
-		return new String();
-	}
-
-	private String createHelpIdentifierSection(Object help) {
-		StringBuffer buffer = new StringBuffer();
-		if (help != null) {
-			buffer.append("<li bindent=\"20\" style=\"image\" value=\"contextid\">"); //$NON-NLS-1$
-			buffer.append(help);
-			buffer.append("</li>"); //$NON-NLS-1$
-		}
-		return buffer.toString();
-	}
-
-	private void createClassReference(StringBuffer buffer, Class clazz) {
-		Bundle bundle = PDERuntimePlugin.HAS_IDE_BUNDLES ? PDERuntimePlugin.getDefault().getPackageAdmin().getBundle(clazz) : null;
-		if (bundle != null) {
-			bundleClassByName.put(clazz.getName(), bundle);
-			buffer.append("<a href=\"").append(CLASS_PROTOCOL_PREFIX).append( //$NON-NLS-1$
-					clazz.getName()).append("\">") //$NON-NLS-1$
-					.append(getSimpleName(clazz)).append("</a>"); //$NON-NLS-1$
-		} else {
-			buffer.append(clazz.getName());
-		}
-	}
-
-	// TODO refactor me, I'm ugly
-	public void generatePluginDetailsText(Bundle bundle, String objectId, String objectType, StringBuffer buffer, FormText text) {
-		if (bundle != null) {
-			String version = (String) (bundle.getHeaders().get(org.osgi.framework.Constants.BUNDLE_VERSION));
-
-			buffer.append("<p>"); //$NON-NLS-1$
-			buffer.append(PDERuntimeMessages.SpyDialog_contributingPluginId_title);
-			buffer.append("</p>"); //$NON-NLS-1$
-			buffer.append("<li bindent=\"20\" style=\"image\" value=\"plugin\">"); //$NON-NLS-1$
-			if (PDERuntimePlugin.HAS_IDE_BUNDLES) {
-				buffer.append("<a href=\""); //$NON-NLS-1$
-				buffer.append(BUNDLE_PROTOCOL_PREFIX);
-				buffer.append(bundle.getSymbolicName());
-				buffer.append("\">"); //$NON-NLS-1$
-			}
-			buffer.append(bundle.getSymbolicName());
-			buffer.append(" ("); //$NON-NLS-1$
-			buffer.append(version);
-			buffer.append(")"); //$NON-NLS-1$
-			if (PDERuntimePlugin.HAS_IDE_BUNDLES) {
-				buffer.append("</a>"); //$NON-NLS-1$
-			}
-			buffer.append("</li>"); //$NON-NLS-1$
-
-			Image pluginImage = PDERuntimePluginImages.get(PDERuntimePluginImages.IMG_PLUGIN_OBJ);
-			text.setImage("plugin", pluginImage); //$NON-NLS-1$
-
-			if (objectId != null) {
-				buffer.append("<p>"); //$NON-NLS-1$
-				buffer.append(NLS.bind(PDERuntimeMessages.SpyDialog_contributingPluginId_desc, objectType));
-				buffer.append("</p>"); //$NON-NLS-1$
-				buffer.append("<li bindent=\"20\" style=\"image\" value=\"id\">"); //$NON-NLS-1$
-				buffer.append(objectId);
-				buffer.append("</li>"); //$NON-NLS-1$
-			}
-		}
-	}
-
-	private String getSimpleName(Class clazz) {
-		String fullName = clazz.getName();
-		int index = fullName.lastIndexOf('.');
-		String name = fullName.substring(index + 1, fullName.length());
-		if (name != null)
-			return name;
-		return fullName;
-	}
-
-	private ToolBarManager createSectionToolbar(Section section) {
-		Object object = section.getData("toolbarmanager"); //$NON-NLS-1$
-		if (object instanceof ToolBarManager) {
-			return (ToolBarManager) object;
-		}
-		ToolBarManager manager = new ToolBarManager(SWT.FLAT);
-		ToolBar toolbar = manager.createControl(section);
-		final Cursor handCursor = new Cursor(Display.getCurrent(), SWT.CURSOR_HAND);
-		toolbar.setCursor(handCursor);
-		// Cursor needs to be explicitly disposed
-		toolbar.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				if ((handCursor != null) && (handCursor.isDisposed() == false)) {
-					handCursor.dispose();
-				}
-			}
-		});
-		section.setTextClient(toolbar);
-		section.setData("toolbarmanager", manager); //$NON-NLS-1$
-		return manager;
-	}
-
-	public void createImageAction(Section section, Image image) {
-		if (image == null)
-			return;
-		ToolBarManager manager = createSectionToolbar(section);
-		SaveImageAction action = new SaveImageAction(image);
-		action.setText(PDERuntimeMessages.SpyFormToolkit_saveImageAs_title);
-		action.setImageDescriptor(PDERuntimePluginImages.SAVE_IMAGE_AS_OBJ);
-		manager.add(action);
-		manager.update(true);
-	}
-
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/SpyIDEUtil.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/SpyIDEUtil.java
deleted file mode 100644
index 1a67114..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/SpyIDEUtil.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Chris Aniszczyk <zx@us.ibm.com> - initial API and implementation
- *     Marcelo Paternostro <marcelop@ca.ibm.com> - bug 201105
- *     Kevin Doyle <kjdoyle@ca.ibm.com> - bug 208137
- *     Willian Mitsuda <wmitsuda@gmail.com> - bug 209841
- *******************************************************************************/
-
-package org.eclipse.pde.internal.runtime.spy;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.PluginRegistry;
-import org.eclipse.pde.internal.core.PDECore;
-import org.eclipse.pde.internal.core.SearchablePluginsManager;
-import org.eclipse.pde.internal.runtime.PDERuntimePlugin;
-import org.eclipse.pde.internal.ui.editor.plugin.ManifestEditor;
-import org.eclipse.ui.PartInitException;
-
-public class SpyIDEUtil {
-	public static void openClass(String pluginId, String clazz) {
-		IPluginModelBase model = PluginRegistry.findModel(pluginId);
-		IResource resource = model != null ? model.getUnderlyingResource() : null;
-		IJavaProject project = null;
-		if (resource != null) { // project is open in workspace
-			project = JavaCore.create(resource.getProject());
-		} else {
-			SearchablePluginsManager manager = PDECore.getDefault().getSearchablePluginsManager();
-			try {
-				manager.createProxyProject(new NullProgressMonitor());
-				manager.addToJavaSearch(new IPluginModelBase[] {model});
-				project = manager.getProxyProject();
-			} catch (CoreException e) {
-			}
-		}
-		if (project != null)
-			openInEditor(project, clazz);
-	}
-
-	public static void openInEditor(IJavaProject project, String clazz) {
-		try {
-			IType type = project.findType(clazz);
-			JavaUI.openInEditor(type, false, true);
-		} catch (JavaModelException e) {
-			PDERuntimePlugin.log(e);
-		} catch (PartInitException e) {
-			PDERuntimePlugin.log(e);
-		}
-	}
-
-	public static void openBundleManifest(String bundleID) {
-		ManifestEditor.openPluginEditor(bundleID);
-	}
-
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/dialogs/SpyDialog.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/dialogs/SpyDialog.java
deleted file mode 100644
index 64d4b36..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/dialogs/SpyDialog.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Chris Aniszczyk <zx@us.ibm.com> - initial API and implementation
- *     Benjamin Cabe <benjamin.cabe@anyware-tech.com> - bug 211580
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.spy.dialogs;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.PopupDialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.pde.internal.runtime.PDERuntimeMessages;
-import org.eclipse.pde.internal.runtime.PDERuntimePluginImages;
-import org.eclipse.pde.internal.runtime.spy.SpyFormToolkit;
-import org.eclipse.pde.internal.runtime.spy.sections.ActiveDialogPageSection;
-import org.eclipse.pde.internal.runtime.spy.sections.ActiveHelpSection;
-import org.eclipse.pde.internal.runtime.spy.sections.ActivePartSection;
-import org.eclipse.pde.internal.runtime.spy.sections.ActiveSelectionSection;
-import org.eclipse.pde.internal.runtime.spy.sections.ActiveShellSection;
-import org.eclipse.pde.internal.runtime.spy.sections.ActiveWizardSection;
-import org.eclipse.pde.internal.runtime.spy.sections.ISpySection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.forms.widgets.TableWrapLayout;
-
-public class SpyDialog extends PopupDialog {
-
-	private ExecutionEvent event;
-	private Point fAnchor;
-	private Composite composite;
-	private SpyFormToolkit toolkit;
-
-	private class CloseAction extends Action {
-		public ImageDescriptor getImageDescriptor() {
-			return PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_DELETE);
-		}
-
-		public String getToolTipText() {
-			return PDERuntimeMessages.SpyDialog_close;
-		}
-
-		public void run() {
-			close();
-		}
-	}
-
-	public SpyDialog(Shell parent, ExecutionEvent event, Point point) {
-		super(parent, SWT.NONE, true, false, false, false, null, null);
-		this.event = event;
-		this.fAnchor = point;
-		this.toolkit = new SpyFormToolkit(this);
-	}
-
-	protected Control createContents(Composite parent) {
-		getShell().setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY));
-		initializeBounds();
-		return createDialogArea(parent);
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		this.composite = (Composite) super.createDialogArea(parent);
-
-		ScrolledForm form = toolkit.createScrolledForm(composite);
-		toolkit.decorateFormHeading(form.getForm());
-
-		// set title and image
-		form.setText(PDERuntimeMessages.SpyDialog_title);
-		Image image = PDERuntimePluginImages.get(PDERuntimePluginImages.IMG_SPY_OBJ);
-		form.setImage(image);
-
-		// add a Close button to the toolbar
-		form.getToolBarManager().add(new CloseAction());
-		form.getToolBarManager().update(true);
-
-		TableWrapLayout layout = new TableWrapLayout();
-		layout.leftMargin = 10;
-		layout.rightMargin = 10;
-		layout.topMargin = 10;
-		layout.verticalSpacing = 10;
-		form.getBody().setLayout(layout);
-
-		// TODO, make this so we use an extension point.
-		ISpySection section = new ActiveShellSection();
-		section.build(form, toolkit, event);
-
-		section = new ActivePartSection();
-		section.build(form, toolkit, event);
-
-		section = new ActiveSelectionSection();
-		section.build(form, toolkit, event);
-
-		section = new ActiveWizardSection();
-		section.build(form, toolkit, event);
-
-		section = new ActiveDialogPageSection();
-		section.build(form, toolkit, event);
-
-		section = new ActiveHelpSection();
-		section.build(form, toolkit, event);
-
-		parent.pack();
-		return composite;
-	}
-
-	protected Point getInitialLocation(Point size) {
-		if (fAnchor == null) {
-			return super.getInitialLocation(size);
-		}
-		Point point = fAnchor;
-		Rectangle monitor = getShell().getMonitor().getClientArea();
-		if (monitor.width < point.x + size.x) {
-			point.x = Math.max(0, point.x - size.x);
-		}
-		if (monitor.height < point.y + size.y) {
-			point.y = Math.max(0, point.y - size.y);
-		}
-		return point;
-	}
-
-	public boolean close() {
-		if (toolkit != null)
-			toolkit.dispose();
-		toolkit = null;
-		return super.close();
-	}
-
-	protected Control getFocusControl() {
-		return this.composite;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/handlers/SpyHandler.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/handlers/SpyHandler.java
deleted file mode 100644
index a04301c..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/handlers/SpyHandler.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Chris Aniszczyk <zx@us.ibm.com> - initial API and implementation
- *     Kevin Doyle <kjdoyle@ca.ibm.com> - bug 200727
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.spy.handlers;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.pde.internal.runtime.spy.dialogs.SpyDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-public class SpyHandler extends AbstractHandler {
-
-	private SpyDialog INSTANCE = null;
-
-	public SpyHandler() { // do nothing
-	}
-
-	public Object execute(ExecutionEvent event) {
-		if (event != null) {
-			if (INSTANCE != null && INSTANCE.getShell() != null && !INSTANCE.getShell().isDisposed()) {
-				INSTANCE.close();
-			}
-			Shell shell = HandlerUtil.getActiveShell(event);
-			SpyDialog dialog = new SpyDialog(shell, event, shell.getDisplay().getCursorLocation());
-			INSTANCE = dialog;
-			dialog.create();
-			dialog.open();
-		}
-		return null;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActiveDialogPageSection.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActiveDialogPageSection.java
deleted file mode 100644
index 2d163a5..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActiveDialogPageSection.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Chris Aniszczyk <zx@us.ibm.com> - initial API and implementation
- *     Kevin Doyle <kjdoyle@ca.ibm.com> - bug 207868, 207904
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.spy.sections;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.jface.dialogs.IDialogPage;
-import org.eclipse.jface.dialogs.IPageChangeProvider;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.pde.internal.runtime.PDERuntimeMessages;
-import org.eclipse.pde.internal.runtime.PDERuntimePlugin;
-import org.eclipse.pde.internal.runtime.spy.SpyFormToolkit;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormText;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.forms.widgets.TableWrapData;
-import org.eclipse.ui.handlers.HandlerUtil;
-import org.osgi.framework.Bundle;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-public class ActiveDialogPageSection implements ISpySection {
-
-	public void build(ScrolledForm form, SpyFormToolkit toolkit, ExecutionEvent event) {
-		final Shell shell = HandlerUtil.getActiveShell(event);
-		Object object = shell.getData();
-		if (object == null)
-			return;
-		Class clazz = object.getClass();
-
-		if (object instanceof IPageChangeProvider) {
-			IPageChangeProvider pageChangeProvider = (IPageChangeProvider) object;
-			Object selectedPage = pageChangeProvider.getSelectedPage();
-			if (selectedPage != null) {
-				Section section = toolkit.createSection(form.getBody(), ExpandableComposite.TITLE_BAR);
-				section.clientVerticalSpacing = 9;
-				if (selectedPage instanceof IDialogPage) {
-					IDialogPage page = (IDialogPage) selectedPage;
-					clazz = page.getClass();
-					section.setText(NLS.bind(PDERuntimeMessages.SpyDialog_activeDialogPageSection_title, page.getTitle()));
-
-				} else {
-					clazz = selectedPage.getClass();
-					section.setText(PDERuntimeMessages.SpyDialog_activeDialogPageSection_title2);
-				}
-				// the active page
-				FormText text = toolkit.createFormText(section, true);
-				section.setClient(text);
-				TableWrapData td = new TableWrapData();
-				td.align = TableWrapData.FILL;
-				td.grabHorizontal = true;
-				section.setLayoutData(td);
-
-				StringBuffer buffer = new StringBuffer();
-				buffer.append("<form>"); //$NON-NLS-1$
-
-				buffer.append(toolkit.createClassSection(text, PDERuntimeMessages.SpyDialog_activeDialogPageSection_desc, new Class[] {clazz}));
-
-				PackageAdmin admin = PDERuntimePlugin.getDefault().getPackageAdmin();
-				Bundle bundle = admin.getBundle(clazz);
-				toolkit.generatePluginDetailsText(bundle, null, "dialog page", buffer, text); //$NON-NLS-1$
-
-				buffer.append("</form>"); //$NON-NLS-1$
-				text.setText(buffer.toString(), true, false);
-			}
-		}
-	}
-
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActiveHelpSection.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActiveHelpSection.java
deleted file mode 100644
index 5b33b28..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActiveHelpSection.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Chris Aniszczyk <zx@us.ibm.com> - initial API and implementation
- *     Remy Suen <remy.suen@gmail.com> - bug 203451
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.spy.sections;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.help.IContext;
-import org.eclipse.help.IContextProvider;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.IPreferencePage;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.pde.internal.runtime.PDERuntimeMessages;
-import org.eclipse.pde.internal.runtime.PDERuntimePlugin;
-import org.eclipse.pde.internal.runtime.PDERuntimePluginImages;
-import org.eclipse.pde.internal.runtime.spy.SpyFormToolkit;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IViewReference;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormText;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.forms.widgets.TableWrapData;
-import org.eclipse.ui.handlers.HandlerUtil;
-import org.eclipse.ui.internal.WorkbenchPartReference;
-import org.eclipse.ui.part.ViewPart;
-
-public class ActiveHelpSection implements ISpySection {
-
-	private SpyFormToolkit toolkit;
-
-	public void build(ScrolledForm form, SpyFormToolkit toolkit, ExecutionEvent event) {
-		this.toolkit = toolkit;
-		final Shell shell = HandlerUtil.getActiveShell(event);
-		Object object = shell.getData();
-		if (object == null)
-			return;
-
-		StringBuffer helpBuffer = new StringBuffer();
-		// process help
-		// TODO we need to make this cleaner... help processing is complicated atm
-		if (object instanceof PreferenceDialog) {
-			PreferenceDialog dialog = (PreferenceDialog) object;
-			IPreferencePage page = (IPreferencePage) dialog.getSelectedPage();
-			processHelp(page.getControl().getShell(), helpBuffer);
-			processChildren(page.getControl(), helpBuffer);
-		} else if (object instanceof Dialog) {
-			Dialog dialog = (Dialog) object;
-			processChildren(dialog.getShell(), helpBuffer);
-		} else {
-			helpBuffer.append(processControlHelp(event, toolkit));
-		}
-
-		if (helpBuffer != null && helpBuffer.length() > 0) {
-			Section section = toolkit.createSection(form.getBody(), ExpandableComposite.TITLE_BAR);
-			section.setText(PDERuntimeMessages.SpyDialog_activeHelpSection_title);
-			section.clientVerticalSpacing = 9;
-
-			FormText text = toolkit.createFormText(section, true);
-			section.setClient(text);
-			TableWrapData td = new TableWrapData();
-			td.align = TableWrapData.FILL;
-			td.grabHorizontal = true;
-			section.setLayoutData(td);
-
-			Image image = PDERuntimePluginImages.get(PDERuntimePluginImages.IMG_CONTEXTID_OBJ);
-			text.setImage("contextid", image); //$NON-NLS-1$
-
-			StringBuffer buffer = new StringBuffer();
-			buffer.append("<form>"); //$NON-NLS-1$
-			buffer.append("<p>"); //$NON-NLS-1$
-			buffer.append(PDERuntimeMessages.SpyDialog_activeHelpSection_desc);
-			buffer.append("</p>"); //$NON-NLS-1$
-			buffer.append(helpBuffer.toString());
-			buffer.append("</form>"); //$NON-NLS-1$
-			String content = buffer.toString().replaceAll("&", "&amp;"); //$NON-NLS-1$ //$NON-NLS-2$
-			text.setText(content, true, false);
-		}
-
-	}
-
-	private void processHelp(Widget widget, StringBuffer buffer) {
-		buffer.append(toolkit.createHelpIdentifierSection(widget));
-	}
-
-	private void processChildren(Control control, StringBuffer buffer) {
-		processHelp(control, buffer);
-		if (control instanceof Composite) {
-			Composite composite = (Composite) control;
-			Control[] controls = composite.getChildren();
-			for (int i = 0; i < controls.length; i++) {
-				processChildren(controls[i], buffer);
-			}
-		}
-	}
-
-	private String processControlHelp(ExecutionEvent event, SpyFormToolkit toolkit) {
-		IWorkbenchPart part = HandlerUtil.getActivePart(event);
-		if (part == null)
-			return null;
-
-		IWorkbenchWindow window = part.getSite().getWorkbenchWindow();
-		if (window == null)
-			return null;
-
-		StringBuffer buffer = new StringBuffer();
-
-		Shell shell = null;
-		Control control = null;
-
-		if (part instanceof IEditorPart) {
-			IEditorPart editorPart = (IEditorPart) part;
-			shell = editorPart.getSite().getShell();
-
-			for (int j = 0; j < window.getActivePage().getEditorReferences().length; j++) {
-				IEditorReference er = window.getActivePage().getEditorReferences()[j];
-				if (er.getId().equals(editorPart.getEditorSite().getId()))
-					if (er instanceof WorkbenchPartReference) {
-						WorkbenchPartReference wpr = (WorkbenchPartReference) er;
-						control = wpr.getPane().getControl();
-						shell = null;
-						break;
-					}
-			}
-		} else if (part instanceof ViewPart) {
-			ViewPart viewPart = (ViewPart) part;
-			shell = viewPart.getSite().getShell();
-			for (int j = 0; j < window.getActivePage().getViewReferences().length; j++) {
-				IViewReference vr = window.getActivePage().getViewReferences()[j];
-				if (vr.getId().equals(viewPart.getViewSite().getId()))
-					if (vr instanceof WorkbenchPartReference) {
-						WorkbenchPartReference wpr = (WorkbenchPartReference) vr;
-						control = wpr.getPane().getControl();
-						shell = null;
-						break;
-					}
-			}
-
-		}
-		if (shell != null) {
-			buffer.append(toolkit.createHelpIdentifierSection(shell));
-			for (int i = 0; i < shell.getChildren().length; i++) {
-				processChildren(shell.getChildren()[i], buffer);
-			}
-		} else if (control != null) {
-			// if we don't have org.eclipse.help, we will have problems when trying to load IContextProvider
-			if (!PDERuntimePlugin.HAS_IDE_BUNDLES)
-				processChildren(control, buffer);
-			else {
-				IContextProvider provider = (IContextProvider) part.getAdapter(IContextProvider.class);
-				IContext context = (provider != null) ? provider.getContext(control) : null;
-				if (context != null) {
-					buffer.append(toolkit.createHelpIdentifierSection(context));
-				} else {
-					buffer.append(toolkit.createHelpIdentifierSection(control));
-				}
-				if (control instanceof Composite) {
-					Composite parent = (Composite) control;
-					for (int i = 0; i < parent.getChildren().length; i++) {
-						processChildren(parent.getChildren()[i], buffer);
-					}
-				}
-			}
-		}
-		return buffer.toString();
-	}
-
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActivePartSection.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActivePartSection.java
deleted file mode 100644
index b4d7a0f..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActivePartSection.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Chris Aniszczyk <zx@us.ibm.com> - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.spy.sections;
-
-import java.lang.reflect.Field;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.pde.internal.runtime.PDERuntimeMessages;
-import org.eclipse.pde.internal.runtime.PDERuntimePlugin;
-import org.eclipse.pde.internal.runtime.PDERuntimePluginImages;
-import org.eclipse.pde.internal.runtime.spy.SpyFormToolkit;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormText;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.forms.widgets.TableWrapData;
-import org.eclipse.ui.handlers.HandlerUtil;
-import org.eclipse.ui.internal.PartSite;
-import org.eclipse.ui.internal.PopupMenuExtender;
-import org.osgi.framework.Bundle;
-
-public class ActivePartSection implements ISpySection {
-
-	public void build(ScrolledForm form, SpyFormToolkit toolkit, ExecutionEvent event) {
-		IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event);
-		if (window == null) // if we don't have an active workbench, we don't have a valid selection to analyze
-			return;
-
-		final IWorkbenchPart part = HandlerUtil.getActivePart(event);
-		String partType = part instanceof IEditorPart ? "editor" : "view"; //$NON-NLS-1$ //$NON-NLS-2$
-		Section section = toolkit.createSection(form.getBody(), ExpandableComposite.TITLE_BAR);
-
-		section.setText(NLS.bind(PDERuntimeMessages.SpyDialog_activePart_title, part.getSite().getRegisteredName()));
-
-		FormText text = toolkit.createFormText(section, true);
-		section.setClient(text);
-		TableWrapData td = new TableWrapData();
-		td.align = TableWrapData.FILL;
-		td.grabHorizontal = true;
-		section.setLayoutData(td);
-
-		toolkit.createImageAction(section, part.getTitleImage());
-
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("<form>"); //$NON-NLS-1$
-
-		// time to analyze the active part
-		buffer.append(toolkit.createClassSection(text, NLS.bind(PDERuntimeMessages.SpyDialog_activePart_desc, partType), new Class[] {part.getClass()}));
-
-		// time to analyze the contributing plug-in
-		final Bundle bundle = Platform.getBundle(part.getSite().getPluginId());
-
-		toolkit.generatePluginDetailsText(bundle, part.getSite().getId(), partType, buffer, text);
-
-		// get menu information using reflection
-		try {
-			PartSite site = (PartSite) part.getSite();
-			Class clazz = site.getClass().getSuperclass();
-			Field field = clazz.getDeclaredField("menuExtenders"); //$NON-NLS-1$
-			field.setAccessible(true);
-			List list = (List) field.get(site);
-			if (list != null && list.size() > 0) {
-				Set menuIds = new LinkedHashSet();
-				for (int i = 0; i < list.size(); i++) {
-					PopupMenuExtender extender = (PopupMenuExtender) list.get(i);
-					menuIds.addAll(extender.getMenuIds());
-				}
-				buffer.append("<p>"); //$NON-NLS-1$
-				buffer.append(PDERuntimeMessages.SpyDialog_activeMenuIds);
-				buffer.append("</p>"); //$NON-NLS-1$
-				for (Iterator it = menuIds.iterator(); it.hasNext();) {
-					buffer.append("<li bindent=\"20\" style=\"image\" value=\"menu\">"); //$NON-NLS-1$
-					buffer.append(it.next().toString());
-					buffer.append("</li>"); //$NON-NLS-1$
-				}
-				Image menuImage = PDERuntimePluginImages.get(PDERuntimePluginImages.IMG_MENU_OBJ);
-				text.setImage("menu", menuImage); //$NON-NLS-1$
-			}
-		} catch (SecurityException e) {
-			PDERuntimePlugin.log(e);
-		} catch (NoSuchFieldException e) {
-			PDERuntimePlugin.log(e);
-		} catch (IllegalArgumentException e) {
-			PDERuntimePlugin.log(e);
-		} catch (IllegalAccessException e) {
-			PDERuntimePlugin.log(e);
-		}
-
-		buffer.append("</form>"); //$NON-NLS-1$
-
-		Image idImage = PDERuntimePluginImages.get(PDERuntimePluginImages.IMG_ID_OBJ);
-		text.setImage("id", idImage); //$NON-NLS-1$
-
-		text.setText(buffer.toString(), true, false);
-		text.layout();
-	}
-
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActiveSelectionSection.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActiveSelectionSection.java
deleted file mode 100644
index 0a647cb..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActiveSelectionSection.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Chris Aniszczyk <zx@us.ibm.com> - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.spy.sections;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.pde.internal.runtime.PDERuntimeMessages;
-import org.eclipse.pde.internal.runtime.spy.SpyFormToolkit;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormText;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.forms.widgets.TableWrapData;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-public class ActiveSelectionSection implements ISpySection {
-
-	public void build(ScrolledForm form, SpyFormToolkit toolkit, ExecutionEvent event) {
-		IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event);
-		if (window == null) // if we don't have an active workbench, we don't have a valid selection to analyze
-			return;
-
-		// analyze the selection
-		ISelection selection = HandlerUtil.getCurrentSelection(event);
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection ss = (IStructuredSelection) selection;
-			Object object = ss.getFirstElement();
-			if (object != null) { // check for a valid class
-				Class clazz = object.getClass();
-
-				Section section = toolkit.createSection(form.getBody(), ExpandableComposite.TITLE_BAR);
-				section.clientVerticalSpacing = 9;
-				section.setText(PDERuntimeMessages.SpyDialog_activeSelection_title);
-				FormText text = toolkit.createFormText(section, true);
-				section.setClient(text);
-
-				TableWrapData td = new TableWrapData();
-				td.align = TableWrapData.FILL;
-				td.grabHorizontal = true;
-				section.setLayoutData(td);
-
-				// time to analyze the selection
-				StringBuffer buffer = new StringBuffer();
-				buffer.append("<form>"); //$NON-NLS-1$
-				buffer.append(toolkit.createClassSection(text, PDERuntimeMessages.SpyDialog_activeSelection_desc, new Class[] {clazz}));
-
-				Class[] interfaces = clazz.getInterfaces();
-				buffer.append(toolkit.createInterfaceSection(text, PDERuntimeMessages.SpyDialog_activeSelectionInterfaces_desc, interfaces));
-
-				buffer.append("</form>"); //$NON-NLS-1$
-				text.setText(buffer.toString(), true, false);
-			}
-		}
-	}
-
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActiveShellSection.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActiveShellSection.java
deleted file mode 100644
index 314b60f..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActiveShellSection.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Chris Aniszczyk <zx@us.ibm.com> - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.spy.sections;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.pde.internal.runtime.PDERuntimeMessages;
-import org.eclipse.pde.internal.runtime.spy.SpyFormToolkit;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormText;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.forms.widgets.TableWrapData;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-public class ActiveShellSection implements ISpySection {
-
-	public void build(ScrolledForm form, SpyFormToolkit toolkit, ExecutionEvent event) {
-		final Shell shell = HandlerUtil.getActiveShell(event);
-		Object object = shell.getData();
-		if (object == null)
-			return;
-		Class clazz = object.getClass();
-
-		Section section = toolkit.createSection(form.getBody(), ExpandableComposite.TITLE_BAR);
-		section.clientVerticalSpacing = 9;
-
-		section.setText(PDERuntimeMessages.SpyDialog_activeShell_title);
-
-		FormText text = toolkit.createFormText(section, true);
-		section.setClient(text);
-		TableWrapData td = new TableWrapData();
-		td.align = TableWrapData.FILL;
-		td.grabHorizontal = true;
-		section.setLayoutData(td);
-
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("<form>"); //$NON-NLS-1$
-
-		buffer.append(toolkit.createClassSection(text, PDERuntimeMessages.SpyDialog_activeShell_desc, new Class[] {clazz}));
-
-		buffer.append("</form>"); //$NON-NLS-1$
-		text.setText(buffer.toString(), true, false);
-	}
-
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActiveWizardSection.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActiveWizardSection.java
deleted file mode 100644
index 568c8b2..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ActiveWizardSection.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Chris Aniszczyk <zx@us.ibm.com> - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.spy.sections;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.pde.internal.runtime.PDERuntimeMessages;
-import org.eclipse.pde.internal.runtime.PDERuntimePlugin;
-import org.eclipse.pde.internal.runtime.spy.SpyFormToolkit;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-import org.eclipse.ui.forms.widgets.FormText;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.forms.widgets.Section;
-import org.eclipse.ui.forms.widgets.TableWrapData;
-import org.eclipse.ui.handlers.HandlerUtil;
-import org.osgi.framework.Bundle;
-import org.osgi.service.packageadmin.PackageAdmin;
-
-public class ActiveWizardSection implements ISpySection {
-
-	public void build(ScrolledForm form, SpyFormToolkit toolkit, ExecutionEvent event) {
-		final Shell shell = HandlerUtil.getActiveShell(event);
-		Object object = shell.getData();
-		if (object == null)
-			return;
-		Class clazz = object.getClass();
-
-		if (object instanceof WizardDialog) {
-			WizardDialog dialog = (WizardDialog) object;
-			IWizardPage page = dialog.getCurrentPage();
-			IWizard wizard = page.getWizard();
-			clazz = wizard.getClass();
-
-			Section section = toolkit.createSection(form.getBody(), ExpandableComposite.TITLE_BAR);
-			section.clientVerticalSpacing = 9;
-
-			// the active wizard
-			FormText text = toolkit.createFormText(section, true);
-			section.setClient(text);
-			TableWrapData td = new TableWrapData();
-			td.align = TableWrapData.FILL;
-			td.grabHorizontal = true;
-			section.setLayoutData(td);
-
-			StringBuffer buffer = new StringBuffer();
-			buffer.append("<form>"); //$NON-NLS-1$
-			section.setText(NLS.bind(PDERuntimeMessages.SpyDialog_activeWizard_title, wizard.getWindowTitle()));
-
-			buffer.append(toolkit.createClassSection(text, PDERuntimeMessages.SpyDialog_activeWizard_desc, new Class[] {clazz}));
-
-			PackageAdmin admin = PDERuntimePlugin.getDefault().getPackageAdmin();
-			Bundle bundle = admin.getBundle(clazz);
-			toolkit.generatePluginDetailsText(bundle, null, "wizard", buffer, text); //$NON-NLS-1$
-			buffer.append("</form>"); //$NON-NLS-1$
-
-			text.setText(buffer.toString(), true, false);
-		}
-	}
-
-}
diff --git a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ISpySection.java b/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ISpySection.java
deleted file mode 100644
index d328f15..0000000
--- a/ui/org.eclipse.pde.runtime/src/org/eclipse/pde/internal/runtime/spy/sections/ISpySection.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Chris Aniszczyk <zx@us.ibm.com> - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.runtime.spy.sections;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.pde.internal.runtime.spy.SpyFormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-
-public interface ISpySection {
-
-	public void build(ScrolledForm form, SpyFormToolkit toolkit, ExecutionEvent event);
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/.classpath b/ui/org.eclipse.pde.ui.templates/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/ui/org.eclipse.pde.ui.templates/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/ui/org.eclipse.pde.ui.templates/.cvsignore b/ui/org.eclipse.pde.ui.templates/.cvsignore
deleted file mode 100644
index 60463af..0000000
--- a/ui/org.eclipse.pde.ui.templates/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-build.xml
diff --git a/ui/org.eclipse.pde.ui.templates/.project b/ui/org.eclipse.pde.ui.templates/.project
deleted file mode 100644
index 7b44036..0000000
--- a/ui/org.eclipse.pde.ui.templates/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.pde.ui.templates</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/ui/org.eclipse.pde.ui.templates/.settings/org.eclipse.core.resources.prefs b/ui/org.eclipse.pde.ui.templates/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 1a4cdbd..0000000
--- a/ui/org.eclipse.pde.ui.templates/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Fri Oct 20 13:22:13 EDT 2006
-eclipse.preferences.version=1
-encoding//core/framework/org/eclipse/osgi/framework/internal/core/default.permissions=UTF-8
-encoding//core/framework/org/eclipse/osgi/framework/internal/core/implied.permissions=UTF-8
-encoding//core/framework/org/eclipse/osgi/framework/internal/core/osname.aliases=UTF-8
-encoding//core/framework/org/eclipse/osgi/framework/internal/core/processor.aliases=UTF-8
-encoding/<project>=ISO-8859-1
diff --git a/ui/org.eclipse.pde.ui.templates/.settings/org.eclipse.jdt.core.prefs b/ui/org.eclipse.pde.ui.templates/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f667d18..0000000
--- a/ui/org.eclipse.pde.ui.templates/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,343 +0,0 @@
-#Sun Dec 23 21:52:28 CST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/ui/org.eclipse.pde.ui.templates/.settings/org.eclipse.jdt.ui.prefs b/ui/org.eclipse.pde.ui.templates/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4079175..0000000
--- a/ui/org.eclipse.pde.ui.templates/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,59 +0,0 @@
-#Sun Dec 23 21:49:35 CST 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=99
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/ui/org.eclipse.pde.ui.templates/.settings/org.eclipse.pde.prefs b/ui/org.eclipse.pde.ui.templates/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 8d3361f..0000000
--- a/ui/org.eclipse.pde.ui.templates/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,16 +0,0 @@
-#Sun Dec 23 21:53:15 CST 2007
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.deprecated=1
-compilers.p.missing-bundle-classpath-entries=1
-compilers.p.missing-packages=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/ui/org.eclipse.pde.ui.templates/META-INF/MANIFEST.MF b/ui/org.eclipse.pde.ui.templates/META-INF/MANIFEST.MF
deleted file mode 100644
index 28ac7b2..0000000
--- a/ui/org.eclipse.pde.ui.templates/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.eclipse.pde.ui.templates;singleton:=true
-Bundle-Version: 3.4.0.qualifier
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: org.eclipse.pde.internal.ui.templates;x-internal:=true,
- org.eclipse.pde.internal.ui.templates.ide;x-internal:=true,
- org.eclipse.pde.internal.ui.templates.osgi;x-internal:=true,
- org.eclipse.pde.internal.ui.templates.rcp;x-internal:=true
-Require-Bundle: org.eclipse.ui;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.pde.ui;bundle-version="[3.3.0,4.0.0)"
-Bundle-Localization: plugin
-Eclipse-LazyStart: true
-Bundle-Activator: org.eclipse.pde.internal.ui.templates.Activator
diff --git a/ui/org.eclipse.pde.ui.templates/about.html b/ui/org.eclipse.pde.ui.templates/about.html
deleted file mode 100644
index 4602330..0000000
--- a/ui/org.eclipse.pde.ui.templates/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/branding/bin/splash.bmp b/ui/org.eclipse.pde.ui.templates/branding/bin/splash.bmp
deleted file mode 100644
index d7d2e30..0000000
--- a/ui/org.eclipse.pde.ui.templates/branding/bin/splash.bmp
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/build.properties b/ui/org.eclipse.pde.ui.templates/build.properties
deleted file mode 100644
index c6c9255..0000000
--- a/ui/org.eclipse.pde.ui.templates/build.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               templates_3.0/,\
-               templates_3.1/,\
-               templates_3.2/,\
-               plugin.properties,\
-               icons/,\
-               branding/,\
-               about.html,\
-               templates_3.3/
-src.includes = about.html
diff --git a/ui/org.eclipse.pde.ui.templates/icons/etool16/newex_wiz.gif b/ui/org.eclipse.pde.ui.templates/icons/etool16/newex_wiz.gif
deleted file mode 100644
index b1526e9..0000000
--- a/ui/org.eclipse.pde.ui.templates/icons/etool16/newex_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/icons/etool16/newexprj_wiz.gif b/ui/org.eclipse.pde.ui.templates/icons/etool16/newexprj_wiz.gif
deleted file mode 100644
index 4e5f1cf..0000000
--- a/ui/org.eclipse.pde.ui.templates/icons/etool16/newexprj_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/plugin.properties b/ui/org.eclipse.pde.ui.templates/plugin.properties
deleted file mode 100644
index 33b7270..0000000
--- a/ui/org.eclipse.pde.ui.templates/plugin.properties
+++ /dev/null
@@ -1,333 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginContent.helloWorld.name = Hello, World
-pluginContent.helloWorld.description=\
-<p>This wizard creates standard plug-in directory structure and \
-adds the following:</p>\
-<li><b>Action set</b>. %template.helloWorld.desc%</li>\
-<p><b>Extensions Used</b></p>\
-<li>org.eclipse.ui.actionSets</li>
-
-pluginContent.helloWorldCmd.name = Hello, World Command
-pluginContent.helloWorldCmd.description=\
-<p>This wizard creates standard plug-in directory structure and \
-adds the following:</p>\
-<li><b>Command contribution</b>. %template.helloWorldCmd.desc%</li>\
-<p><b>Extensions Used</b></p>\
-<li>org.eclipse.ui.commands</li>\
-<li>org.eclipse.ui.handlers</li>\
-<li>org.eclipse.ui.bindings</li>\
-<li>org.eclipse.ui.menus</li>
-
-
-pluginContent.intro.name = RCP application with an intro
-pluginContent.intro.description=\
-<p>%template.intro.desc%</p>\
-<p><b>Extensions Used</b></p>\
-<li>org.eclipse.core.runtime.products</li>\
-<li>org.eclipse.ui.intro</li>\
-<li>org.eclipse.ui.intro.config</li>\
-<li>org.eclipse.core.runtime.applications</li>\
-<li>org.eclipse.ui.perspectives</li>\
-<li>org.eclipse.ui.intro.configExtension (if dynamic content selected)</li>
-
-pluginContent.propertyPages.name = Plug-in with a property page
-pluginContent.propertyPages.description=\
-<p>This wizard creates standard plug-in directory structure and \
-adds the following:</p>\
-<li><b>Property Page</b>. %template.propertyPages.desc%</li>\
-<p><b>Extension Used</b></p>\
-<li>org.eclipse.ui.propertyPages</li>
-
-pluginContent.popupMenus.name = Plug-in with a popup menu
-pluginContent.popupMenus.description=\
-<p>This wizard creates a standard plug-in directory structure and \
-adds the following:</p>\
-<li><b>Popup Menu</b>. %template.popupMenus.desc%</li>\
-<p><b>Extension Used</b></p>\
-<li>org.eclipse.ui.popupMenus</li>
-
-pluginContent.editor.name = Plug-in with an editor
-pluginContent.editor.description=\
-<p>This wizard creates standard plug-in directory structure and \
-adds the following:</p>\
-<li><b>Editor</b>. %template.editor.desc%</li>\
-<p><b>Extension Used</b></p>\
-<li>org.eclipse.ui.editors</li>
-
-pluginContent.view.name = Plug-in with a view
-pluginContent.view.description=\
-<p>This wizard creates standard plug-in directory structure and \
-adds the following:</p>\
-<li><b>Sample view</b>. %template.view.desc%</li>\
-<p><b>Extensions Used</b></p>\
-<li>org.eclipse.ui.views</li>\
-<li>org.eclipse.ui.perspectiveExtensions</li>\
-<li>org.eclipse.help.contexts</li>
-
-pluginContent.multiPageEditor.name = Plug-in with a multi-page editor
-pluginContent.multiPageEditor.description=\
-<p>This wizard creates standard plug-in directory structure and \
-adds the following:</p>\
-<li><b>Sample Multi-page Editor</b>. %template.multiPageEditor.desc%</li>\
-<li><b>Sample New Wizard</b>. %template.newWizard.desc%</li>\
-<p><b>Extensions Used</b></p>\
-<li>org.eclipse.ui.editors</li>\
-<li>org.eclipse.ui.newWizards</li>
-
-pluginContent.builder.name = Plug-in with an incremental project builder
-pluginContent.builder.description=\
-<p>This wizard creates standard plug-in directory structure and \
-adds the following:</p>\
-<li><b>Sample Incremental Project Builder</b>. The sample builder checks XML files in the project \
-and adds a problem marker to not well formed files.</li>\
-<li><b>Sample Project Nature</b>. This nature owns the builder.  Builder runs for projects \
-of this nature.</li>\
-<li><b>Sample Problem Marker</b>. The builder uses this sub-type of a problem marker to mark errors.</li>\
-<li><b>Sample Popup Menu Action</b>. An action in a project context menu allows adding or removing \
-the sample nature to or from a workspace project.</li>\
-<p><b>Extensions Used</b></p>\
-<li>org.eclipse.core.resources.builders</li>\
-<li>org.eclipse.core.resources.markers</li>\
-<li>org.eclipse.core.resources.natures</li>\
-<li>org.eclipse.ui.popupMenus</li>
-
-pluginContent.mail.name = RCP Mail Template
-pluginContent.mail.description=\
-<p>This wizard creates a standalone RCP application that shows how to:</p>\
-<li>add top-level menu and toolbar with actions</li>\
-<li>add keybindings to actions</li>\
-<li>create views that can't be closed and multiple instances of the same view</li>\
-<li>create perspectives with placeholders for new views</li>\
-<li>use the default About dialog</li>\
-<li>create a product definition</li>\
-<p><b>Extensions Used</b></p>\
-<li>org.eclipse.core.runtime.applications</li>\
-<li>org.eclipse.core.runtime.products</li>\
-<li>org.eclipse.ui.commands</li>\
-<li>org.eclipse.ui.perspectives</li>\
-<li>org.eclipse.ui.views</li>
-
-pluginContent.helloRCP.name = Hello RCP
-pluginContent.helloRCP.description=\
-<p>This wizard creates a minimal standalone RCP application that consists of an application window with a title.</p>\
-<p><b>Extensions Used</b></p>\
-<li>org.eclipse.core.runtime.applications</li>\
-<li>org.eclipse.ui.perspectives</li>\
-
-pluginContent.helloNonUIRCP.name = Headless Hello RCP
-pluginContent.helloNonUIRCP.description=\
-<p>This wizard creates a minimal standalone headless RCP application that prints "Hello RCP" to the console.</p>\
-<p><b>Extensions Used</b></p>\
-<li>org.eclipse.core.runtime.applications</li>\
-
-pluginContent.helloOSGi.name = Hello OSGi Bundle
-pluginContent.helloOSGi.description=\
-<p>This wizard creates a pure OSGi Bundle that prints to the console when it starts and stops.</p>\
-<p><b>Imports Used</b></p>\
-<li>org.osgi.framework</li>\
-
-pluginContent.viewRCP.name = RCP application with a view
-pluginContent.viewRCP.description=\
-<p>This wizard creates a standalone RCP application that consists of an application window with a single view.</p>\
-<p><b>Extensions Used</b></p>\
-<li>org.eclipse.core.runtime.applications</li>\
-<li>org.eclipse.ui.perspectives</li>\
-<li>org.eclipse.ui.views</li>\
-
-pluginContent.help.name = Plug-in with sample help content
-pluginContent.help.description=This wizard creates a plugin with a \
-sample standalone or integrated table of contents.\
-<p><b>Extensions Used</b></p>\
-<li>org.eclipse.help.toc</li>
-
-pluginContent.helloOSGiService.name = Hello OSGi Service
-pluginContent.helloOSGiService.description=\
-<p>This wizard creates a pure OSGi Service that registers and uses a simple service.</p>\
-<p><b>Imports Used</b></p>\
-<li>org.osgi.framework</li>\
-<li>org.osgi.util.tracker</li>\
-
-pluginContent.OSGiPreferencesService.name = Preferences OSGi Service Example
-pluginContent.OSGiPreferencesService.description=\
-<p>This wizard demonstrates basic usage of the OSGi Preferences Service.</p>\
-<p><b>Imports Used</b></p>\
-<li>org.osgi.framework</li>\
-<li>org.osgi.util.tracker</li>\
-<li>org.osgi.service.prefs</li>\
-
-pluginContent.OSGiSimpleLogService.name= OSGi Simple LogService Example
-pluginContent.OSGiSimpleLogService.description=\
-<p>This wizard creates and registers an OSGi Service that logs some messages.</p>\
-<p><b>Imports Used</b></p>\
-<li>org.osgi.framework</li>\
-<li>org.osgi.util.tracker</li>\
-<li>org.osgi.service.log</li>\
-
-
-newExtension.templates = Extension Templates
-newExtension.templates.hello.name = "Hello, World" action set
-newExtension.templates.hello.desc = <p>%template.helloWorld.desc%</p>
-
-newExtension.templates.helloCmd.name = "Hello, World" command contribution
-newExtension.templates.helloCmd.desc = <p>%template.helloWorldCmd.desc%</p>
-
-
-newExtension.templates.view.name = Sample View
-newExtension.templates.view.desc = <p>%template.view.desc%</p>
-
-newExtension.templates.multiPageEditor.name = Multi-page Editor
-newExtension.templates.multiPageEditor.desc = <p>%template.multiPageEditor.desc%</p>
-
-newExtension.templates.newWizard.name = New File Wizard
-newExtension.templates.newWizard.desc = <p>%template.newWizard.desc%</p>
-
-newExtension.templates.preferences.name = Preference Page
-newExtension.templates.preferences.desc = <p>%template.preferences.desc%</p>
-
-newExtension.templates.propertyPages.name = Property Page
-newExtension.templates.propertyPages.desc = <p>%template.propertyPages.desc%</p>
-
-newExtension.templates.editor.name = Editor
-newExtension.templates.editor.desc = <p>%template.editor.desc%</p>
-
-newExtension.templates.popupMenus.name = Popup Menu
-newExtension.templates.popupMenus.desc = <p>%template.popupMenus.desc%</p>
-
-newExtension.templates.help.name = Help Content
-newExtension.templates.help.desc = <p>%template.help.desc%</p>
-
-newExtension.templates.builder.name = New plug-in project with a sample project builder and nature
-
-newExtension.templates.builder.name = Project Builder and Nature
-newExtension.templates.builder.desc = This template creates an incremental \
-project builder and a project nature. The sample builder checks XML files in the project \
-and adds a problem marker to not well formed files. The builder runs for projects \
-of the sample nature.  Select "Add|Remove Sample" Nature action from \
-a project context menu, to toggle the nature on a project.
-
-newExtension.templates.decorator.name = Icon Decorator
-newExtension.templates.decorator.desc = <p>%template.decorator.desc%</p>
-
-newExtension.templates.universalWelcome.name = Universal Welcome Contribution
-newExtension.templates.universalWelcome.desc = <p>%template.universalWelcome.desc%</p>
-
-newExtension.templates.importWizard.name = File Import Wizard
-newExtension.templates.importWizard.desc = <p>%template.importWizard.desc%</p>
-
-template.helloWorld.name = "Hello world" Action Set
-template.helloWorld.desc = This template creates a simple action set \
-that adds <b>Sample Menu</b> to the menu bar and a button to \
-the tool bar. Both the menu item in the new menu and the button \
-invoke the same <b>Sample Action</b>. Its role is to open a \
-simple message dialog with a message of your choice.
-
-template.helloWorldCmd.name = "Hello world" command contribution
-template.helloWorldCmd.desc = This template creates a simple command contribution \
-that adds <b>Sample Menu</b> to the menu bar and a button to \
-the tool bar. Both the menu item in the new menu and the button \
-invoke the same <b>Sample Action</b>. Its role is to open a \
-simple message dialog with a message of your choice.
-
-template.intro.desc = This wizard creates a minimal standalone RCP application with an intro. \
-Sample intro consists of three static pages, and optionally \
-a page with content created dynamically.
-
-template.propertyPages.name = Property Page
-template.propertyPages.desc = This template adds a property page to a resource and will \
-appear in the Properties Dialog for that resource.  This property page can be used to view \
-and set application-specific properties of a resource.
-
-template.editor.name = XML Editor
-template.editor.desc = This template creates a basic XML editor.  It has all the basic functions \
-of an editor, such as cut, copy, paste, find, etc.  It also has syntax highlighting and supports double-clicking.
-
-template.builder.name = Incremental Builder
-
-template.popupMenus.name = Popup Menu
-template.popupMenus.desc = This template adds a submenu and a new action to a target object's \
-popup menu.  This contribution will appear in all viewers where an object of the specified type \
-is selected.
-
-template.view.name = View
-template.view.desc = This template creates a workbench view. \
-The view is contributed to the workbench by \
-creating a category. The view can be opened by selecting \
-<b>Window</b>, <b>Show View</b> and then <b>Other...</b> \
-on the menu bar. The template demonstrates implementation of \
-pop-up menu support, local tool bar, double-click, sorting and \
-filtering. There is also an option to add context-sensitive help \
-to the view.
-
-template.multiPageEditor.name = Multi-page Editor
-template.multiPageEditor.desc = This template creates a \
-multi-page editor. It works on text files with the chosen extension. \
-The editor has three pages: <b>Edit</b> where you enter text, \
-<b>Properties</b> that allows you to change font of the result \
-and <b>Preview</b> that shows sorted words from the <b>Edit</b> page \
-using the font set in <b>Properties</b>. To open the editor, choose \
-<b>File</b>, <b>New</b> then <b>Other...</b> from the menu bar. \
-In the "Simple" category, choose to create a new file. Use any file \
-name, but use the extension the editor is registered for (*.mpe by \
-default).
-
-template.newWizard.name = New File Wizard
-template.newWizard.desc = This template creates a \
-wizard that can create a new file in the workspace. It is designed to \
-generate files that can be opened by a <b>Multi-Page Editor</b>. \
-To test the wizard, select <b>File</b>, \
-<b>New</b> then <b>Other...</b> from the menu bar. When the master \
-wizard opens, select the created category and the new wizard registered \
-for that category. Make sure that the chosen extension matches \
-the extension the multi-page editor is registered for (*.mpe by \
-default).
-
-template.preferences.name = Preference Page
-template.preferences.desc = This template creates a \
-page that is contributed to the Preferences. It demonstrates how \
-to create common preference fields and how to save and restore \
-values between invocations. To see the result, select \
-<b>Window</b> then <b>Preferences...</b> from the menu bar.
-
-template.help.name = Help Table of Contents
-template.help.desc = This template creates a Help table of contents. \
-If this table is set to primary, it can be standalone, or integrated \
-into pre-set categories. If the table is not set to primary, it can \
-optionally be integrated into a primary table of contents for testing. 
-
-
-template.decorator.name = Icon Decorator
-template.decorator.desc = This template creates a simple <b>declarative</b> image decorator \
-<b>or</b> a more specific <b>class based</b> decorator. The declarative instance will add an \
-image to all files in the workspace and optionally to the project folders, while the class-based \
-example will only decorate Read-only files.
-
-template.importWizard.name = File Import Wizard
-template.importWizard.desc = This template creates a basic import wizard that imports \
-files from the local file system into a specified location in the workspace. \
-It also demonstrates how import categories are defined and how file extension filters are used.
-
-template.universalWelcome.name = Universal Welcome Contribution
-template.universalWelcome.desc = This template creates a link in one of sections of the Universal Welcome. \
-The product must be using Universal Welcome for this extension to work.
-
-template.perspective.name = Release Engineering Perspective
-template.perspective.desc = This template creates a release engineering themed perspective. \
-While most users will not be doing any release engineering, the theme allows for a very logical \
-layout of the perspective elements and demonstrates how to access the various team and CVS \
-components from within a perspective. 
-
-Bundle-Vendor.0 = Eclipse.org
-Bundle-Name.0 = PDE Templates
-
-wizard.name.splash.handler = Splash Handler
-wizard.description.splash.handler = This template will create a splash handler that contributes custom behavior to the splash screen.  Three types of splash screen handlers are available:  (1) Interactive:  A simulated log-in session; (2) Browser: An embedded HTML browser; (3) Extensible:  A dynamic set of image contributions.  All the necessary code, images, extensions, and extension points are created automatically.
-template.name.splash.handler = Splash Handler
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/plugin.xml b/ui/org.eclipse.pde.ui.templates/plugin.xml
deleted file mode 100644
index a0afe70..0000000
--- a/ui/org.eclipse.pde.ui.templates/plugin.xml
+++ /dev/null
@@ -1,465 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension
-         point="org.eclipse.pde.ui.newExtension">
-      <category
-            name="%newExtension.templates"
-            id="templates">
-      </category>
-      <wizard
-            name="%newExtension.templates.hello.name"
-            template="org.eclipse.pde.ui.templates.helloWorld"
-            icon="$nl$/icons/etool16/newex_wiz.gif"
-            category="templates"
-            id="org.eclipse.pde.ui.newExtension.hello">
-         <description>
-            %newExtension.templates.hello.desc
-         </description>
-      </wizard>
-      <wizard
-            name="%newExtension.templates.helloCmd.name"
-            template="org.eclipse.pde.ui.templates.helloWorldCmd"
-            icon="$nl$/icons/etool16/newex_wiz.gif"
-            category="templates"
-            id="org.eclipse.pde.ui.newExtension.helloCmd">
-         <description>
-            %newExtension.templates.helloCmd.desc
-         </description>
-      </wizard>
-      <wizard
-            name="%newExtension.templates.view.name"
-            template="org.eclipse.pde.ui.templates.view"
-            icon="$nl$/icons/etool16/newex_wiz.gif"
-            category="templates"
-            id="org.eclipse.pde.ui.newExtension.view">
-         <description>
-            %newExtension.templates.view.desc
-         </description>
-      </wizard>
-      <wizard
-            name="%newExtension.templates.multiPageEditor.name"
-            template="org.eclipse.pde.ui.templates.multiPageEditor"
-            icon="$nl$/icons/etool16/newex_wiz.gif"
-            category="templates"
-            id="org.eclipse.pde.ui.newExtension.multiPageEditor">
-         <description>
-            %newExtension.templates.multiPageEditor.desc
-         </description>
-      </wizard>
-      <wizard
-            availableAsShortcut="true"
-            name="%newExtension.templates.newWizard.name"
-            template="org.eclipse.pde.ui.templates.new"
-            icon="$nl$/icons/etool16/newex_wiz.gif"
-            category="templates"
-            id="org.eclipse.pde.ui.newExtension.newWizard">
-         <description>
-            %newExtension.templates.newWizard.desc
-         </description>
-      </wizard>
-      <wizard
-            availableAsShortcut="true"
-            name="%newExtension.templates.preferences.name"
-            template="org.eclipse.pde.ui.templates.preferences"
-            icon="$nl$/icons/etool16/newex_wiz.gif"
-            category="templates"
-            id="org.eclipse.pde.ui.newExtension.preferences">
-         <description>
-            %newExtension.templates.preferences.desc
-         </description>
-      </wizard>
-      <wizard
-            availableAsShortcut="true"
-            name="%newExtension.templates.propertyPages.name"
-            template="org.eclipse.pde.ui.templates.propertyPage"
-            icon="$nl$/icons/etool16/newex_wiz.gif"
-            category="templates"
-            id="org.eclipse.pde.ui.newExtension.propertyPages">
-         <description>
-            %newExtension.templates.propertyPages.desc
-         </description>
-      </wizard>
-      <wizard
-            availableAsShortcut="true"
-            name="%newExtension.templates.popupMenus.name"
-            template="org.eclipse.pde.ui.templates.popup"
-            icon="$nl$/icons/etool16/newex_wiz.gif"
-            category="templates"
-            id="org.eclipse.pde.ui.newExtension.popupMenus">
-         <description>
-            %newExtension.templates.popupMenus.desc
-         </description>
-      </wizard>
-      <wizard
-            availableAsShortcut="true"
-            name="%newExtension.templates.editor.name"
-            template="org.eclipse.pde.ui.templates.editor"
-            icon="$nl$/icons/etool16/newex_wiz.gif"
-            category="templates"
-            id="org.eclipse.pde.ui.newExtension.editor">
-         <description>
-            %newExtension.templates.editor.desc
-         </description>
-      </wizard>
-      <wizard
-            availableAsShortcut="true"
-            name="%newExtension.templates.help.name"
-            template="org.eclipse.pde.ui.templates.help"
-            icon="$nl$/icons/etool16/newex_wiz.gif"
-            category="templates"
-            id="org.eclipse.pde.ui.newExtension.help">
-         <description>
-            %newExtension.templates.help.desc
-         </description>
-      </wizard>
-      <wizard
-            template="org.eclipse.pde.ui.templates.builder"
-            icon="$nl$/icons/etool16/newex_wiz.gif"
-            category="templates"
-            availableAsShortcut="true"
-            name="%newExtension.templates.builder.name"
-            id="org.eclipse.pde.ui.newExtension.builder">
-         <description>
-            %newExtension.templates.builder.desc
-         </description>
-      </wizard>
-      <wizard
-            availableAsShortcut="true"
-            category="templates"
-            icon="$nl$/icons/etool16/newex_wiz.gif"
-            id="org.eclipse.pde.ui.newExtension.decorator"
-            name="%newExtension.templates.decorator.name"
-            template="org.eclipse.pde.ui.templates.decorator">
-         <description>
-            %newExtension.templates.decorator.desc
-         </description>
-      </wizard>
-      <wizard
-            availableAsShortcut="true"
-            category="templates"
-            icon="$nl$/icons/etool16/newex_wiz.gif"
-            id="org.eclipse.pde.ui.newExtension.importWizard"
-            name="%newExtension.templates.importWizard.name"
-            template="org.eclipse.pde.ui.templates.importWizard">
-         <description>
-            %newExtension.templates.importWizard.desc
-         </description>
-      </wizard>
-      <wizard
-            availableAsShortcut="true"
-            category="templates"
-            icon="$nl$/icons/etool16/newex_wiz.gif"
-            id="org.eclipse.pde.ui.newExtension.universalWelcome"
-            name="%newExtension.templates.universalWelcome.name"
-            template="org.eclipse.pde.ui.templates.universalWelcome">
-         <description>
-            %newExtension.templates.universalWelcome.desc
-         </description>
-      </wizard>
-      <wizard
-      		availableAsShortcut="true"
-            category="templates"
-            icon="$nl$/icons/etool16/newex_wiz.gif"
-            id="org.eclipse.pde.ui.newExtension.perspective"
-            name="%template.perspective.name"
-            template="org.eclipse.pde.ui.templates.perspective">
-		<description>
-		%template.perspective.desc
-		</description>
-      </wizard>
-      <wizard
-            availableAsShortcut="true"
-            category="templates"
-            icon="$nl$/icons/etool16/newex_wiz.gif"
-            id="org.eclipse.pde.ui.newExtension.splash"
-            name="%wizard.name.splash.handler"
-            template="org.eclipse.pde.ui.templates.splashHandlers">
-         <description>
-            %wizard.description.splash.handler
-         </description>
-      </wizard>
-   </extension>
-   <extension
-         point="org.eclipse.pde.ui.templates">
-      <template
-            contributingId="org.eclipse.ui.actionSets"
-            name="%template.helloWorld.name"
-            class="org.eclipse.pde.internal.ui.templates.ide.HelloWorldTemplate"
-            id="org.eclipse.pde.ui.templates.helloWorld">
-      </template>
-      <template
-            contributingId="org.eclipse.ui.commands"
-            name="%template.helloWorldCmd.name"
-            class="org.eclipse.pde.internal.ui.templates.ide.HelloWorldCmdTemplate"
-            id="org.eclipse.pde.ui.templates.helloWorldCmd">
-      </template>
-      <template
-            contributingId="org.eclipse.ui.propertyPages"
-            name="%template.propertyPages.name"
-            class="org.eclipse.pde.internal.ui.templates.ide.PropertyPageTemplate"
-            id="org.eclipse.pde.ui.templates.propertyPage">
-      </template>
-      <template
-            contributingId="org.eclipse.ui.editors"
-            name="%template.editor.name"
-            class="org.eclipse.pde.internal.ui.templates.ide.EditorTemplate"
-            id="org.eclipse.pde.ui.templates.editor">
-      </template>
-      <template
-            contributingId="org.eclipse.ui.popupMenus"
-            name="%template.popupMenus.name"
-            class="org.eclipse.pde.internal.ui.templates.ide.PopupMenuTemplate"
-            id="org.eclipse.pde.ui.templates.popup">
-      </template>
-      <template
-            contributingId="org.eclipse.ui.views"
-            name="%template.view.name"
-            class="org.eclipse.pde.internal.ui.templates.ide.ViewTemplate"
-            id="org.eclipse.pde.ui.templates.view">
-      </template>
-      <template
-            contributingId="org.eclipse.ui.editors"
-            name="%template.multiPageEditor.name"
-            class="org.eclipse.pde.internal.ui.templates.ide.MultiPageEditorTemplate"
-            id="org.eclipse.pde.ui.templates.multiPageEditor">
-      </template>
-      <template
-            contributingId="org.eclipse.ui.newWizards"
-            name="%template.newWizard.name"
-            class="org.eclipse.pde.internal.ui.templates.ide.NewWizardTemplate"
-            id="org.eclipse.pde.ui.templates.new">
-      </template>
-      <template
-            contributingId="org.eclipse.ui.preferencePages"
-            name="%template.preferences.name"
-            class="org.eclipse.pde.internal.ui.templates.ide.PreferencePageTemplate"
-            id="org.eclipse.pde.ui.templates.preferences">
-      </template>
-      <template
-            contributingId="org.eclipse.help.toc"
-            name="%template.help.name"
-            class="org.eclipse.pde.internal.ui.templates.ide.HelpTemplate"
-            id="org.eclipse.pde.ui.templates.help">
-      </template>
-      <template
-            class="org.eclipse.pde.internal.ui.templates.ide.DecoratorTemplate"
-            contributingId="org.eclipse.ui.decorators"
-            id="org.eclipse.pde.ui.templates.decorator"
-            name="%template.decorator.name"/>
-      <template
-            class="org.eclipse.pde.internal.ui.templates.ide.ImportWizardTemplate"
-            contributingId="org.eclipse.ui.importWizards"
-            id="org.eclipse.pde.ui.templates.importWizard"
-            name="%template.importWizard.name"/>
-      <template
-            class="org.eclipse.pde.internal.ui.templates.ide.UniversalWelcomeTemplate"
-            contributingId="org.eclipse.ui.intro.configExtension"
-            id="org.eclipse.pde.ui.templates.universalWelcome"
-            name="%template.universalWelcome.name"/>
-      <template
-			class="org.eclipse.pde.internal.ui.templates.ide.PerspectiveTemplate"
-			contributingId="org.eclipse.ui.perspectives"
-			id="org.eclipse.pde.ui.templates.perspective"
-			name="%template.perspective.name"/>
-      <template
-			class="org.eclipse.pde.internal.ui.templates.ide.BuilderTemplate"
-			contributingId="org.eclipse.core.resources.builders"
-			id="org.eclipse.pde.ui.templates.builder"
-			name="%template.builder.name"/>
-      <template
-            class="org.eclipse.pde.internal.ui.templates.ide.SplashHandlersTemplate"
-            contributingId="org.eclipse.ui.splashHandlers"
-            id="org.eclipse.pde.ui.templates.splashHandlers"
-            name="%template.name.splash.handler">
-      </template>
-   </extension>
-   <extension
-         point="org.eclipse.pde.ui.pluginContent">
-      <wizard
-            name="%pluginContent.helloWorld.name"
-            icon="$nl$/icons/etool16/newexprj_wiz.gif"
-            class="org.eclipse.pde.internal.ui.templates.ide.HelloWorldNewWizard"
-            id="org.eclipse.pde.ui.pluginContent.helloWorld">
-         <description>
-            %pluginContent.helloWorld.description
-         </description>
-      </wizard>
-      <wizard
-            name="%pluginContent.helloWorldCmd.name"
-            icon="$nl$/icons/etool16/newexprj_wiz.gif"
-            class="org.eclipse.pde.internal.ui.templates.ide.HelloWorldCmdNewWizard"
-            id="org.eclipse.pde.ui.pluginContent.helloWorldCmd">
-         <description>
-            %pluginContent.helloWorldCmd.description
-         </description>
-      </wizard>
-      <wizard
-            name="%pluginContent.intro.name"
-            icon="$nl$/icons/etool16/newexprj_wiz.gif"
-            class="org.eclipse.pde.internal.ui.templates.rcp.IntroNewWizard"
-            id="org.eclipse.pde.ui.pluginContent.intro"
-            rcp="true">
-         <description>
-            %pluginContent.intro.description
-         </description>
-      </wizard>
-      <wizard
-            name="%pluginContent.mail.name"
-            icon="$nl$/icons/etool16/newexprj_wiz.gif"
-            class="org.eclipse.pde.internal.ui.templates.rcp.MailNewWizard"
-            id="org.eclipse.pde.ui.pluginContent.rcpmail"
-            requiresActivator="true"
-            rcp="true">
-         <description>
-            %pluginContent.mail.description
-         </description>
-      </wizard>
-      <wizard
-            name="%pluginContent.helloRCP.name"
-            icon="$nl$/icons/etool16/newexprj_wiz.gif"
-            class="org.eclipse.pde.internal.ui.templates.rcp.HelloRCPNewWizard"
-            id="org.eclipse.pde.ui.pluginContent.helloRCP"
-            rcp="true">
-         <description>
-            %pluginContent.helloRCP.description
-         </description>
-      </wizard>
-      <wizard
-            class="org.eclipse.pde.internal.ui.templates.rcp.HelloNonUIRCPNewWizard"
-            icon="$nl$/icons/etool16/newexprj_wiz.gif"
-            id="org.eclipse.pde.ui.pluginContent.helloNonUIRCP"
-            name="%pluginContent.helloNonUIRCP.name"
-            rcp="true"
-            ui-content="false">
-         <description>
-         	%pluginContent.helloNonUIRCP.description
-         </description>
-      </wizard>
-      <wizard
-            class="org.eclipse.pde.internal.ui.templates.osgi.HelloOSGiNewWizard"
-            icon="$nl$/icons/etool16/newexprj_wiz.gif"
-            id="org.eclipse.pde.ui.pluginContent.helloOSGi"
-            name="%pluginContent.helloOSGi.name"
-            pureOSGi="true"
-            requiresActivator="true"
-            ui-content="false">
-         <description>
-         	%pluginContent.helloOSGi.description
-         </description>
-      </wizard>
-      <wizard
-            name="%pluginContent.viewRCP.name"
-            icon="$nl$/icons/etool16/newexprj_wiz.gif"
-            class="org.eclipse.pde.internal.ui.templates.rcp.ViewRCPNewWizard"
-            id="org.eclipse.pde.ui.pluginContent.viewRCP"
-            rcp="true">
-         <description>
-            %pluginContent.viewRCP.description
-         </description>
-      </wizard>
-      <wizard
-            name="%pluginContent.view.name"
-            icon="$nl$/icons/etool16/newexprj_wiz.gif"
-            class="org.eclipse.pde.internal.ui.templates.ide.ViewNewWizard"
-            id="org.eclipse.pde.ui.pluginContent.view">
-         <description>
-            %pluginContent.view.description
-         </description>
-      </wizard>
-      <wizard
-            name="%pluginContent.multiPageEditor.name"
-            icon="$nl$/icons/etool16/newexprj_wiz.gif"
-            class="org.eclipse.pde.internal.ui.templates.ide.MultiPageEditorNewWizard"
-            id="org.eclipse.pde.ui.pluginContent.multiPageEditor">
-         <description>
-            %pluginContent.multiPageEditor.description
-         </description>
-      </wizard>
-      <wizard
-            name="%pluginContent.propertyPages.name"
-            icon="$nl$/icons/etool16/newexprj_wiz.gif"
-            class="org.eclipse.pde.internal.ui.templates.ide.PropertyPageNewWizard"
-            id="org.eclipse.pde.ui.pluginContent.propertyPages">
-         <description>
-            %pluginContent.propertyPages.description
-         </description>
-      </wizard>
-      <wizard
-            name="%pluginContent.popupMenus.name"
-            icon="$nl$/icons/etool16/newexprj_wiz.gif"
-            class="org.eclipse.pde.internal.ui.templates.ide.PopupMenuNewWizard"
-            id="org.eclipse.pde.ui.pluginContent.popupMenus">
-         <description>
-            %pluginContent.popupMenus.description
-         </description>
-      </wizard>
-      <wizard
-            name="%pluginContent.editor.name"
-            icon="$nl$/icons/etool16/newexprj_wiz.gif"
-            class="org.eclipse.pde.internal.ui.templates.ide.EditorNewWizard"
-            id="org.eclipse.pde.ui.pluginContent.editor">
-         <description>
-            %pluginContent.editor.description
-         </description>
-      </wizard>
-      <wizard
-            name="%pluginContent.builder.name"
-            icon="$nl$/icons/etool16/newexprj_wiz.gif"
-            class="org.eclipse.pde.internal.ui.templates.ide.BuilderNewWizard"
-            id="org.eclipse.pde.ui.pluginContent.builder">
-         <description>
-            %pluginContent.builder.description
-         </description>
-      </wizard>
-      <wizard
-            class="org.eclipse.pde.internal.ui.templates.ide.HelpNewWizard"
-            icon="$nl$/icons/etool16/newexprj_wiz.gif"
-            id="org.eclipse.pde.ui.pluginContent.helpContent"
-            java="false"
-            name="%pluginContent.help.name"
-            requiresActivator="false"
-            ui-content="false">
-         <description>
-           %pluginContent.help.description
-         </description>
-      </wizard>
-      <wizard
-            class="org.eclipse.pde.internal.ui.templates.osgi.HelloOSGiServiceNewWizard"
-            icon="$nl$/icons/etool16/newexprj_wiz.gif"
-            id="org.eclipse.pde.ui.pluginContent.helloOSGiService"
-            name="%pluginContent.helloOSGiService.name"
-            pureOSGi="true"
-            requiresActivator="true"
-            ui-content="false">
-         <description>
-			%pluginContent.helloOSGiService.description
-         </description>
-      </wizard>
-      <wizard
-            class="org.eclipse.pde.internal.ui.templates.osgi.OSGiPreferencesServiceNewWizard"
-            icon="$nl$/icons/etool16/newexprj_wiz.gif"
-            id="org.eclipse.pde.ui.pluginContent.OSGiPreferencesService"
-            name="%pluginContent.OSGiPreferencesService.name"
-            pureOSGi="true"
-            requiresActivator="true"
-            ui-content="false">
-         <description>
-            %pluginContent.OSGiPreferencesService.description
-         </description>
-      </wizard>
-      <wizard
-            class="org.eclipse.pde.internal.ui.templates.osgi.OSGiSimpleLogServiceNewWizard"
-            icon="$nl$/icons/etool16/newexprj_wiz.gif"
-            id="org.eclipse.pde.ui.pluginContent.OSGiSimpleLogService"
-            name="%pluginContent.OSGiSimpleLogService.name"
-            pureOSGi="true"
-            requiresActivator="true"
-            ui-content="false">
-         <description>
-            %pluginContent.OSGiSimpleLogService.description
-         </description>
-      </wizard>
-   </extension>
-
-</plugin>
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/Activator.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/Activator.java
deleted file mode 100644
index bb96569..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/Activator.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates;
-
-import java.net.URL;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-public class Activator extends AbstractUIPlugin {
-
-	// Shared instance
-	private static Activator fInstance;
-
-	public URL getInstallURL() {
-		return getDefault().getBundle().getEntry("/"); //$NON-NLS-1$
-	}
-
-	public static Activator getDefault() {
-		return fInstance;
-	}
-
-	public static String getPluginId() {
-		return getDefault().getBundle().getSymbolicName();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		fInstance = this;
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		fInstance = null;
-		super.stop(context);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/IHelpContextIds.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/IHelpContextIds.java
deleted file mode 100644
index 44197ea..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/IHelpContextIds.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates;
-
-public interface IHelpContextIds {
-
-	public static final String PREFIX = "org.eclipse.pde.doc.user."; //$NON-NLS-1$	
-	public static final String TEMPLATE_EDITOR = PREFIX + "template_editor"; //$NON-NLS-1$
-	public static final String TEMPLATE_HELLO_WORLD = PREFIX + "template_hello_world"; //$NON-NLS-1$
-	public static final String TEMPLATE_INTRO = PREFIX + "template_intro"; //$NON-NLS-1$
-	public static final String TEMPLATE_HELP = PREFIX + "template_help"; //$NON-NLS-1$
-	public static final String TEMPLATE_MULTIPAGE_EDITOR = PREFIX + "template_multipage_editor"; //$NON-NLS-1$
-	public static final String TEMPLATE_NEW_WIZARD = PREFIX + "template_new_wizard"; //$NON-NLS-1$
-	public static final String TEMPLATE_POPUP_MENU = PREFIX + "template_popup_menu"; //$NON-NLS-1$
-	public static final String TEMPLATE_PREFERENCE_PAGE = PREFIX + "template_preference_page"; //$NON-NLS-1$
-	public static final String TEMPLATE_PROPERTY_PAGE = PREFIX + "template_property_page"; //$NON-NLS-1$
-	public static final String TEMPLATE_VIEW = PREFIX + "template_view"; //$NON-NLS-1$
-	public static final String TEMPLATE_BUILDER = PREFIX + "template_builder"; //$NON-NLS-1$
-	public static final String TEMPLATE_RCP_MAIL = PREFIX + "rcp_mail"; //$NON-NLS-1$
-	public static final String TEMPLATE_UNIVERSAL_WELCOME = PREFIX + "template_universal_welcome"; //$NON-NLS-1$
-	// TODO: MP: SPLASH: Update help context ID
-	public static final String TEMPLATE_SPLASH_HANDLERS = PREFIX + "splash_handlers"; //$NON-NLS-1$
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/PDETemplateMessages.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/PDETemplateMessages.java
deleted file mode 100644
index 594b493..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/PDETemplateMessages.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates;
-
-import org.eclipse.osgi.util.NLS;
-
-public class PDETemplateMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.pde.internal.ui.templates.pderesources";//$NON-NLS-1$
-
-	public static String HelloOSGiServiceTemplate_howdy;
-
-	public static String HelloOSGiTemplate_goodbye;
-
-	public static String HelloOSGiTemplate_hello;
-
-	public static String HelpTemplate_sampleText;
-	public static String HelpNewWizard_wiz;
-
-	public static String EditorNewWizard_wtitle;
-	public static String EditorTemplate_title;
-	public static String EditorTemplate_desc;
-	public static String EditorTemplate_packageName;
-	public static String EditorTemplate_editorClass;
-	public static String EditorTemplate_editorName;
-	public static String EditorTemplate_fileExtension;
-	public static String EditorTemplate_defaultEditorName;
-
-	public static String HelloWorldNewWizard_wtitle;
-	public static String HelloWorldTemplate_title;
-	public static String HelloWorldTemplate_desc;
-	public static String HelloRCPNewWizard_title;
-	public static String HelloRCPTemplate_title;
-	public static String HelloRCPTemplate_desc;
-	public static String HelloRCPTemplate_appClass;
-	public static String HelloNonUIRCPNewWizard_title;
-	public static String HelloNonUIRCPTemplate_title;
-	public static String HelloNonUIRCPTemplate_desc;
-	public static String HelloNonUIRCPTemplate_appClass;
-	public static String HelloNonUIRCPTemplate_messageText;
-	public static String HelloNonUIRCPTemplate_defaultMessage;
-	public static String HelloWorldTemplate_packageName;
-	public static String HelloWorldTemplate_className;
-	public static String HelloRCPTemplate_windowTitle;
-	public static String HelloWorldTemplate_messageText;
-	public static String HelloWorldTemplate_defaultMessage;
-	public static String HelloWorldTemplate_sampleActionSet;
-	public static String HelloWorldTemplate_sampleMenu;
-	public static String HelloWorldTemplate_sampleAction;
-
-	public static String HelloWorldCmdNewWizard_wtitle;
-	public static String HelloWorldCmdTemplate_title;
-	public static String HelloWorldCmdTemplate_desc;
-	public static String HelloWorldCmdTemplate_packageName;
-	public static String HelloWorldCmdTemplate_className;
-	public static String HelloWorldCmdTemplate_messageText;
-	public static String HelloWorldCmdTemplate_defaultMessage;
-	public static String HelloWorldCmdTemplate_sampleCategory;
-	public static String HelloWorldCmdTemplate_sampleMenu_name;
-	public static String HelloWorldCmdTemplate_sampleMenu_mnemonic;
-	public static String HelloWorldCmdTemplate_sampleAction_name;
-	public static String HelloWorldCmdTemplate_sampleAction_mnemonic;
-	public static String HelloWorldCmdTemplate_sampleAction_tooltip;
-
-	public static String IntroNewWizard_wtitle;
-	public static String IntroTemplate_title;
-	public static String IntroTemplate_desc;
-	public static String IntroTemplate_productName;
-	public static String IntroTemplate_generate;
-	public static String IntroTemplate_generateDynamicContent;
-	public static String IntroTemplate_generateStaticContent;
-
-	public static String SplashHandlersTemplate_descSplashHandlerOptions;
-
-	public static String SplashHandlersTemplate_fieldAddSplash;
-
-	public static String SplashHandlersTemplate_fieldClassName;
-
-	public static String SplashHandlersTemplate_fieldJavaPackage;
-
-	public static String SplashHandlersTemplate_fieldProductID;
-
-	public static String SplashHandlersTemplate_fieldSplashScreenType;
-
-	public static String SplashHandlersTemplate_titleSplashHandlerOptions;
-
-	public static String ViewRCPNewWizard_title;
-	public static String ViewRCPTemplate_title;
-	public static String ViewRCPTemplate_desc;
-	public static String ViewRCPTemplate_appClass;
-	public static String ViewRCPTemplate_packageName;
-	public static String ViewRCPTemplate_windowTitle;
-
-	public static String MultiPageEditorNewWizard_wtitle;
-	public static String MultiPageEditorTemplate_title;
-	public static String MultiPageEditorTemplate_desc;
-	public static String MultiPageEditorTemplate_packageName;
-	public static String MultiPageEditorTemplate_className;
-	public static String MultiPageEditorTemplate_contributor;
-	public static String MultiPageEditorTemplate_editorName;
-	public static String MultiPageEditorTemplate_defaultEditorName;
-	public static String MultiPageEditorTemplate_extensions;
-
-	public static String NewWizardTemplate_title;
-	public static String NewWizardTemplate_desc;
-	public static String NewWizardTemplate_packageName;
-	public static String NewWizardTemplate_categoryId;
-	public static String NewWizardTemplate_categoryName;
-	public static String NewWizardTemplate_className;
-	public static String NewWizardTemplate_pageClassName;
-	public static String NewWizardTemplate_wizardName;
-	public static String NewWizardTemplate_defaultName;
-	public static String NewWizardTemplate_extension;
-	public static String NewWizardTemplate_fileName;
-
-	public static String PopupMenuNewWizard_wtitle;
-	public static String PopupMenuTemplate_title;
-	public static String PopupMenuTemplate_desc;
-	public static String PopupMenuTemplate_targetClass;
-	public static String PopupMenuTemplate_newAction;
-	public static String PopupMenuTemplate_submenuName;
-	public static String PopupMenuTemplate_defaultSubmenuName;
-	public static String PopupMenuTemplate_actionLabel;
-	public static String PopupMenuTemplate_defaultActionName;
-	public static String PopupMenuTemplate_packageName;
-	public static String PopupMenuTemplate_actionClass;
-	public static String PopupMenuTemplate_enabledFor;
-	public static String PopupMenuTemplate_singleSelection;
-	public static String PopupMenuTemplate_multipleSelection;
-
-	public static String PreferencePageTemplate_title;
-	public static String PreferencePageTemplate_desc;
-	public static String PreferencePageTemplate_packageName;
-	public static String PreferencePageTemplate_className;
-	public static String PreferencePageTemplate_pageName;
-	public static String PreferencePageTemplate_defaultPageName;
-
-	public static String PropertyPageNewWizard_wtitle;
-	public static String PropertyPageTemplate_title;
-	public static String PropertyPageTemplate_desc;
-	public static String PropertyPageTemplate_packageName;
-	public static String PropertyPageTemplate_pageClass;
-	public static String PropertyPageTemplate_pageName;
-	public static String PropertyPageTemplate_defaultPageName;
-	public static String PropertyPageTemplate_targetClass;
-	public static String PropertyPageTemplate_nameFilter;
-
-	public static String ViewNewWizard_wtitle;
-	public static String ViewTemplate_title0;
-	public static String ViewTemplate_desc0;
-	public static String ViewTemplate_packageName;
-	public static String ViewTemplate_className;
-	public static String ViewTemplate_name;
-	public static String ViewTemplate_defaultName;
-	public static String ViewTemplate_categoryId;
-	public static String ViewTemplate_categoryName;
-	public static String ViewTemplate_defaultCategoryName;
-	public static String ViewTemplate_select;
-	public static String ViewTemplate_table;
-	public static String ViewTemplate_tree;
-	public static String ViewTemplate_contextHelp;
-	public static String ViewTemplate_addToPerspective;
-
-	public static String HelpTemplate_title;
-	public static String HelpTemplate_desc;
-	public static String HelpTemplate_tocLabel;
-	public static String HelpTemplate_isPrimary;
-	public static String HelpTemplate_generateTest;
-	public static String HelpTemplate_gettingStarted;
-	public static String HelpTemplate_concepts;
-	public static String HelpTemplate_tasks;
-	public static String HelpTemplate_reference;
-	public static String HelpTemplate_samples;
-
-	public static String BuilderNewWizard_wtitle;
-	public static String BuilderTemplate_title;
-	public static String BuilderTemplate_desc;
-	public static String BuilderTemplate_builderClass;
-	public static String BuilderTemplate_builderId;
-	public static String BuilderTemplate_builderName;
-	public static String BuilderTemplate_natureClass;
-	public static String BuilderTemplate_natureId;
-	public static String BuilderTemplate_natureName;
-	public static String BuilderTemplate_packageLabel;
-	public static String BuilderTemplate_actionLabel;
-	public static String BuilderTemplate_defaultBuilderName;
-	public static String BuilderTemplate_defaultNatureName;
-	public static String BuilderTemplate_markerName;
-	public static String BuilderTemplate_generateAction;
-
-	public static String DecoratorTemplate_title;
-	public static String DecoratorTemplate_desc;
-	public static String DecoratorTemplate_packageName;
-	public static String DecoratorTemplate_placement;
-	public static String DecoratorTemplate_resourceLabel;
-	public static String DecoratorTemplate_readOnlyLabel;
-	public static String DecoratorTemplate_decorateProject;
-	public static String DecoratorTemplate_decorateReadOnly;
-	public static String DecoratorTemplate_placementChoices;
-	public static String DecoratorTemplate_decoratorClass;
-
-	public static String ImportWizardTemplate_title;
-	public static String ImportWizardTemplate_desc;
-	public static String ImportWizardTemplate_packageName;
-	public static String ImportWizardTemplate_wizardClass;
-	public static String ImportWizardTemplate_wizardClassName;
-	public static String ImportWizardTemplate_importWizardCategory;
-	public static String ImportWizardTemplate_importWizardCategoryName;
-	public static String ImportWizardTemplate_pageClass;
-	public static String ImportWizardTemplate_pageClassName;
-	public static String ImportWizardTemplate_wizardName;
-	public static String ImportWizardTemplate_wizardDefaultName;
-	public static String ImportWizardTemplate_filterChoices;
-	public static String ImportWizardTemplate_filters;
-	public static String ImportWizardTemplate_wizardDescription;
-
-	public static String MailTemplate_title;
-	public static String MailNewWizard_title;
-	public static String MailTemplate_desc;
-
-	public static String MailTemplate_productName;
-	public static String MailTemplate_appClass;
-	public static String MailTemplate_packageName;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, PDETemplateMessages.class);
-	}
-
-	public static String HelloRCPTemplate_productBranding;
-
-	public static String HelloOSGiNewWizard_title;
-
-	public static String HelloOSGiTemplate_startMessage;
-
-	public static String HelloOSGiTemplate_stopMessage;
-
-	public static String HelloOSGiTemplate_pageTitle;
-
-	public static String HelloOSGiTemplate_pageDescription;
-
-	public static String UniversalWelcomeTemplate_key_directoryName;
-
-	public static String UniversalWelcomeTemplate_key_targetPage;
-
-	public static String UniversalWelcomeTemplate_page_Overview;
-
-	public static String UniversalWelcomeTemplate_page_Tutorials;
-
-	public static String UniversalWelcomeTemplate_page_FirstSteps;
-
-	public static String UniversalWelcomeTemplate_page_Samples;
-
-	public static String UniversalWelcomeTemplate_page_Whatsnew;
-
-	public static String UniversalWelcomeTemplate_page_Migrate;
-
-	public static String UniversalWelcomeTemplate_page_WebResources;
-
-	public static String UniversalWelcomeTemplate_linkUrl;
-
-	// Hello world OSGi Service template
-	public static String HelloOSGiServiceTemplate_greeting;
-	public static String HelloOSGiServiceTemplate_pageDescription;
-	public static String HelloOSGiServiceTemplate_pageTitle;
-	public static String HelloOSGiServiceNewWizard_title;
-
-	// Perspective Template
-	public static String PerspectiveTemplate_title;
-	public static String PerspectiveTemplate_desc;
-	public static String PerspectiveTemplate_packageName;
-	public static String PerspectiveTemplate_perspectiveClass;
-	public static String PerspectiveTemplate_perspectiveClassName;
-	public static String PerspectiveTemplate_perspective;
-	public static String PerspectiveTemplate_perspectiveName;
-	public static String PerspectiveTemplate_perspectiveShortcuts;
-	public static String PerspectiveTemplate_showViewShortcuts;
-	public static String PerspectiveTemplate_newWizardShortcuts;
-	public static String PerspectiveTemplate_actionSets;
-
-	// Preferences Service Template
-	public static String OSGiPreferencesServiceNewWizard_title;
-	public static String OSGiPreferencesServiceTemplate_label;
-	public static String OSGiPreferencesServiceTemplate_pageTitle;
-	public static String OSGiPreferencesServiceTemplate_pageDescription;
-	public static String OSGiPreferencesServiceTemplate_value;
-
-	// OSGi Log Service Template
-	public static String OSGiSimpleLogServiceNewWizard_title;
-	public static String OSGiSimpleLogServiceTemplate_logMessage;
-	public static String OSGiSimpleLogServiceTemplate_pageDescription;
-	public static String OSGiSimpleLogServiceTemplate_pageTitle;
-	public static String OSGiSimpleLogServiceTemplate_startLogMessage;
-	public static String OSGiSimpleLogServiceTemplate_stopLogMessage;
-
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/PDETemplateSection.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/PDETemplateSection.java
deleted file mode 100644
index 286128b..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/PDETemplateSection.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.pde.internal.ui.templates;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.pde.ui.templates.OptionTemplateSection;
-import org.osgi.framework.Bundle;
-
-public abstract class PDETemplateSection extends OptionTemplateSection {
-
-	public static final String KEY_PRODUCT_BRANDING = "productBranding"; //$NON-NLS-1$
-	public static final String KEY_PRODUCT_NAME = "productName"; //$NON-NLS-1$
-
-	public static final String VALUE_PRODUCT_ID = "product"; //$NON-NLS-1$
-	public static final String VALUE_PRODUCT_NAME = "RCP Product"; //$NON-NLS-1$
-	public static final String VALUE_PERSPECTIVE_NAME = "RCP Perspective"; //$NON-NLS-1$
-	public static final String VALUE_APPLICATION_ID = "application"; //$NON-NLS-1$
-
-	protected ResourceBundle getPluginResourceBundle() {
-		Bundle bundle = Platform.getBundle(Activator.getPluginId());
-		return Platform.getResourceBundle(bundle);
-	}
-
-	protected URL getInstallURL() {
-		return Activator.getDefault().getInstallURL();
-	}
-
-	public URL getTemplateLocation() {
-		try {
-			String[] candidates = getDirectoryCandidates();
-			for (int i = 0; i < candidates.length; i++) {
-				if (Activator.getDefault().getBundle().getEntry(candidates[i]) != null) {
-					URL candidate = new URL(getInstallURL(), candidates[i]);
-					return candidate;
-				}
-			}
-		} catch (MalformedURLException e) { // do nothing
-		}
-		return null;
-	}
-
-	private String[] getDirectoryCandidates() {
-		double version = getTargetVersion();
-		ArrayList result = new ArrayList();
-		if (version >= 3.3)
-			result.add("templates_3.3" + "/" + getSectionId() + "/"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		if (version >= 3.2)
-			result.add("templates_3.2" + "/" + getSectionId() + "/"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		if (version >= 3.1)
-			result.add("templates_3.1" + "/" + getSectionId() + "/"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		if (version >= 3.0)
-			result.add("templates_3.0" + "/" + getSectionId() + "/"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		return (String[]) result.toArray(new String[result.size()]);
-	}
-
-	/* (non-Javadoc)
-	* @see org.eclipse.pde.ui.templates.ITemplateSection#getFoldersToInclude()
-	*/
-	public String[] getNewFiles() {
-		return new String[0];
-	}
-
-	protected String getFormattedPackageName(String id) {
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < id.length(); i++) {
-			char ch = id.charAt(i);
-			if (buffer.length() == 0) {
-				if (Character.isJavaIdentifierStart(ch))
-					buffer.append(Character.toLowerCase(ch));
-			} else {
-				if (Character.isJavaIdentifierPart(ch) || ch == '.')
-					buffer.append(ch);
-			}
-		}
-		return buffer.toString().toLowerCase(Locale.ENGLISH);
-	}
-
-	protected void generateFiles(IProgressMonitor monitor) throws CoreException {
-		super.generateFiles(monitor);
-		// Copy the default splash screen if the branding option is selected
-		if (copyBrandingDirectory()) {
-			super.generateFiles(monitor, Activator.getDefault().getBundle().getEntry("branding/")); //$NON-NLS-1$
-		}
-	}
-
-	protected boolean copyBrandingDirectory() {
-		return getBooleanOption(KEY_PRODUCT_BRANDING);
-	}
-
-	protected void createBrandingOptions() {
-		addOption(KEY_PRODUCT_BRANDING, PDETemplateMessages.HelloRCPTemplate_productBranding, false, 0);
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/BaseEditorTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/BaseEditorTemplate.java
deleted file mode 100644
index c2e3dc5..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/BaseEditorTemplate.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import org.eclipse.pde.internal.ui.templates.PDETemplateSection;
-
-public abstract class BaseEditorTemplate extends PDETemplateSection {
-
-	public String getUsedExtensionPoint() {
-		return "org.eclipse.ui.editors"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.ITemplateSection#getFoldersToInclude()
-	 */
-	public String[] getNewFiles() {
-		return new String[] {"icons/"}; //$NON-NLS-1$
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/BuilderNewWizard.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/BuilderNewWizard.java
deleted file mode 100644
index cae57b9..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/BuilderNewWizard.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;
-
-/**
- * Constructor for BuilderNewWizard.
- */
-public class BuilderNewWizard extends NewPluginTemplateWizard {
-
-	/**
-	 *  
-	 */
-	public BuilderNewWizard() {
-		super();
-	}
-
-	public void init(IFieldData data) {
-		super.init(data);
-		setWindowTitle(PDETemplateMessages.BuilderNewWizard_wtitle);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.pde.ui.templates.NewPluginTemplateWizard#createTemplateSections()
-	 */
-	public ITemplateSection[] createTemplateSections() {
-		return new ITemplateSection[] {new BuilderTemplate()};
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/BuilderTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/BuilderTemplate.java
deleted file mode 100644
index 91af7ea..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/BuilderTemplate.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import java.io.File;
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.IPluginModelFactory;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.IHelpContextIds;
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.internal.ui.templates.PDETemplateSection;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.AbstractTemplateSection;
-import org.eclipse.pde.ui.templates.BooleanOption;
-import org.eclipse.pde.ui.templates.PluginReference;
-
-public class BuilderTemplate extends PDETemplateSection {
-
-	private static final String KEY_BUILDER_CLASS_NAME = "builderClassName"; //$NON-NLS-1$
-
-	private static final String KEY_BUILDER_ID = "builderId"; //$NON-NLS-1$
-
-	private static final String KEY_BUILDER_NAME = "builderName"; //$NON-NLS-1$
-
-	private static final String KEY_NATURE_CLASS_NAME = "natureClassName"; //$NON-NLS-1$
-
-	private static final String KEY_NATURE_ID = "natureId"; //$NON-NLS-1$
-
-	private static final String KEY_NATURE_NAME = "natureName"; //$NON-NLS-1$
-
-	private static final String KEY_GEN_ACTION = "genAction"; //$NON-NLS-1$
-
-	private BooleanOption actionOption;
-
-	/**
-	 * Constructor for BuilderTemplate.
-	 */
-	public BuilderTemplate() {
-		setPageCount(1);
-		createOptions();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.pde.ui.templates.OptionTemplateSection#getSectionId()
-	 */
-	public String getSectionId() {
-		return "builder"; //$NON-NLS-1$
-	}
-
-	/*
-	 * @see ITemplateSection#getNumberOfWorkUnits()
-	 */
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	private void createOptions() {
-		addOption(KEY_PACKAGE_NAME, PDETemplateMessages.BuilderTemplate_packageLabel, (String) null, 0);
-
-		addOption(KEY_BUILDER_CLASS_NAME, PDETemplateMessages.BuilderTemplate_builderClass, "SampleBuilder", 0); //$NON-NLS-1$
-		addOption(KEY_BUILDER_ID, PDETemplateMessages.BuilderTemplate_builderId, "sampleBuilder", 0); //$NON-NLS-1$
-		addOption(KEY_BUILDER_NAME, PDETemplateMessages.BuilderTemplate_builderName, PDETemplateMessages.BuilderTemplate_defaultBuilderName, 0);
-
-		addOption(KEY_NATURE_CLASS_NAME, PDETemplateMessages.BuilderTemplate_natureClass, "SampleNature", 0); //$NON-NLS-1$
-		addOption(KEY_NATURE_ID, PDETemplateMessages.BuilderTemplate_natureId, "sampleNature", 0); //$NON-NLS-1$
-		addOption(KEY_NATURE_NAME, PDETemplateMessages.BuilderTemplate_natureName, PDETemplateMessages.BuilderTemplate_defaultNatureName, 0);
-
-		actionOption = (BooleanOption) addOption(KEY_GEN_ACTION, PDETemplateMessages.BuilderTemplate_generateAction, true, 0);
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0, IHelpContextIds.TEMPLATE_BUILDER);
-		page.setTitle(PDETemplateMessages.BuilderTemplate_title);
-		page.setDescription(PDETemplateMessages.BuilderTemplate_desc);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	protected void initializeFields(IFieldData data) {
-		// In a new project wizard, we don't know this yet - the
-		// model has not been created
-		String id = data.getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(id));
-	}
-
-	public void initializeFields(IPluginModelBase model) {
-		// In the new extension wizard, the model exists so
-		// we can initialize directly from it
-		String pluginId = model.getPluginBase().getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(pluginId));
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.pde.ui.templates.ITemplateSection#getUsedExtensionPoint()
-	 */
-	public String getUsedExtensionPoint() {
-		return "org.eclipse.core.resources.builders"; //$NON-NLS-1$
-	}
-
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-		IPluginModelFactory factory = model.getPluginFactory();
-
-		// Builder
-		IPluginExtension extension1 = createExtension("org.eclipse.core.resources.builders", true); //$NON-NLS-1$
-		extension1.setId(getStringOption(KEY_BUILDER_ID));
-		extension1.setName(getStringOption(KEY_BUILDER_NAME));
-
-		IPluginElement builder = factory.createElement(extension1);
-		builder.setName("builder"); //$NON-NLS-1$
-		builder.setAttribute("hasNature", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		extension1.add(builder);
-
-		IPluginElement run = factory.createElement(builder);
-		run.setName("run"); //$NON-NLS-1$
-		run.setAttribute("class", getStringOption(KEY_PACKAGE_NAME) //$NON-NLS-1$
-				+ "." + getStringOption(KEY_BUILDER_CLASS_NAME)); //$NON-NLS-1$
-		builder.add(run);
-
-		if (!extension1.isInTheModel())
-			plugin.add(extension1);
-
-		// Nature
-		IPluginExtension extension2 = createExtension("org.eclipse.core.resources.natures", true); //$NON-NLS-1$
-		extension2.setId(getStringOption(KEY_NATURE_ID));
-		extension2.setName(getStringOption(KEY_NATURE_NAME));
-
-		IPluginElement runtime = factory.createElement(extension2);
-		runtime.setName("runtime"); //$NON-NLS-1$
-		extension2.add(runtime);
-
-		IPluginElement run2 = factory.createElement(runtime);
-		run2.setName("run"); //$NON-NLS-1$
-		run2.setAttribute("class", getStringOption(KEY_PACKAGE_NAME) //$NON-NLS-1$
-				+ "." + getStringOption(KEY_NATURE_CLASS_NAME)); //$NON-NLS-1$
-		runtime.add(run2);
-
-		IPluginElement builder2 = factory.createElement(extension2);
-		builder2.setName("builder"); //$NON-NLS-1$
-		builder2.setAttribute("id", model.getPluginBase().getId() //$NON-NLS-1$
-				+ "." + getStringOption(KEY_BUILDER_ID)); //$NON-NLS-1$
-		extension2.add(builder2);
-
-		if (!extension2.isInTheModel())
-			plugin.add(extension2);
-
-		// Popup Action
-		if (actionOption.isSelected()) {
-			IPluginExtension extension3 = createExtension("org.eclipse.ui.popupMenus", true); //$NON-NLS-1$
-			IPluginElement objectContribution = factory.createElement(extension3);
-			objectContribution.setName("objectContribution"); //$NON-NLS-1$
-			objectContribution.setAttribute("objectClass", //$NON-NLS-1$
-					"org.eclipse.core.resources.IProject"); //$NON-NLS-1$
-			objectContribution.setAttribute("adaptable", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-			objectContribution.setAttribute("nameFilter", "*"); //$NON-NLS-1$ //$NON-NLS-2$
-			objectContribution.setAttribute("id", model.getPluginBase().getId() //$NON-NLS-1$
-					+ ".contribution1"); //$NON-NLS-1$
-			extension3.add(objectContribution);
-
-			IPluginElement action = factory.createElement(objectContribution);
-			action.setName("action"); //$NON-NLS-1$
-			action.setAttribute("label", PDETemplateMessages.BuilderTemplate_actionLabel); //$NON-NLS-1$
-			action.setAttribute("class", getStringOption(KEY_PACKAGE_NAME) //$NON-NLS-1$
-					+ ".ToggleNatureAction"); //$NON-NLS-1$
-			action.setAttribute("menubarPath", "additions"); //$NON-NLS-1$ //$NON-NLS-2$
-			action.setAttribute("enablesFor", "+"); //$NON-NLS-1$ //$NON-NLS-2$
-			action.setAttribute("id", model.getPluginBase().getId() //$NON-NLS-1$
-					+ ".addRemoveNatureAction"); //$NON-NLS-1$
-			objectContribution.add(action);
-
-			if (!extension3.isInTheModel())
-				plugin.add(extension3);
-		}
-
-		// Marker
-		IPluginExtension extension4 = createExtension("org.eclipse.core.resources.markers", false); //$NON-NLS-1$
-		extension4.setId("xmlProblem"); //$NON-NLS-1$
-		extension4.setName(PDETemplateMessages.BuilderTemplate_markerName);
-
-		IPluginElement superElement = factory.createElement(extension4);
-		superElement.setName("super"); //$NON-NLS-1$
-		superElement.setAttribute("type", //$NON-NLS-1$
-				"org.eclipse.core.resources.problemmarker"); //$NON-NLS-1$
-		extension4.add(superElement);
-
-		IPluginElement persistent = factory.createElement(extension4);
-		persistent.setName("persistent"); //$NON-NLS-1$
-		persistent.setAttribute("value", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		extension4.add(persistent);
-
-		if (!extension4.isInTheModel())
-			plugin.add(extension4);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getDependencies(java.lang.String)
-	 */
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		ArrayList result = new ArrayList();
-		result.add(new PluginReference("org.eclipse.core.resources", null, 0)); //$NON-NLS-1$
-		if (schemaVersion != null)
-			result.add(new PluginReference("org.eclipse.core.runtime", null, //$NON-NLS-1$
-					0));
-		if (actionOption.isSelected())
-			result.add(new PluginReference("org.eclipse.ui", null, 0)); //$NON-NLS-1$
-
-		return (IPluginReference[]) result.toArray(new IPluginReference[result.size()]);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#formatPackageName(java.lang.String)
-	 */
-	protected String getFormattedPackageName(String id) {
-		String packageName = super.getFormattedPackageName(id);
-		if (packageName.length() != 0)
-			return packageName + ".builder"; //$NON-NLS-1$
-		return "builder"; //$NON-NLS-1$
-	}
-
-	/**
-	 * @see AbstractTemplateSection#isOkToCreateFile(File)
-	 */
-	protected boolean isOkToCreateFile(File sourceFile) {
-		String fileName = sourceFile.getName();
-		if (fileName.equals("ToggleNatureAction.java")) { //$NON-NLS-1$
-			return actionOption.isSelected();
-		}
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.OptionTemplateSection#getLabel()
-	 */
-	public String getLabel() {
-		return getPluginResourceString("newExtension.templates.builder.name"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.OptionTemplateSection#getDescription()
-	 */
-	public String getDescription() {
-		return getPluginResourceString("newExtension.templates.builder.desc"); //$NON-NLS-1$
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/DecoratorTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/DecoratorTemplate.java
deleted file mode 100644
index 2ce8118..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/DecoratorTemplate.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import java.io.File;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.IPluginModelFactory;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.IHelpContextIds;
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.internal.ui.templates.PDETemplateSection;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.BooleanOption;
-import org.eclipse.pde.ui.templates.PluginReference;
-import org.eclipse.pde.ui.templates.TemplateOption;
-
-public class DecoratorTemplate extends PDETemplateSection {
-	public static final String DECORATOR_CLASS_NAME = "decoratorClassName"; //$NON-NLS-1$
-	public static final String DECORATOR_ICON_PLACEMENT = "decoratorPlacement"; //$NON-NLS-1$
-	public static final String DECORATOR_BLN_PROJECT = "decorateProjects"; //$NON-NLS-1$
-	public static final String DECORATOR_BLN_READONLY = "decorateReadOnly"; //$NON-NLS-1$
-
-	private WizardPage page;
-	private TemplateOption packageOption;
-	private TemplateOption classOption;
-	private BooleanOption projectOption;
-	private BooleanOption readOnlyOption;
-
-	/**
-	 * Constructor for DecoratorTemplate.
-	 */
-	public DecoratorTemplate() {
-		setPageCount(1);
-		createOptions();
-		alterOptionStates();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getDependencies(java.lang.String)
-	 */
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		// Additional dependency required to decorate resource objects
-		if (schemaVersion != null) {
-			IPluginReference[] dep = new IPluginReference[1];
-			dep[0] = new PluginReference("org.eclipse.core.resources", null, 0); //$NON-NLS-1$
-			return dep;
-		}
-		return super.getDependencies(schemaVersion);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.OptionTemplateSection#getSectionId()
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#getDirectoryCandidates()
-	 */
-	public String getSectionId() {
-		// Identifier used for the folder name within the templates_3.X
-		// hierarchy  and as part of the lookup key for the template label
-		// variable.
-		return "decorator"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getNumberOfWorkUnits()
-	 */
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	/**
-	 * Creates the options to be displayed on the template wizard.
-	 * A multiple choice option (radio buttons) and a boolean option
-	 * are used.
-	 */
-	private void createOptions() {
-		String[][] choices = fromCommaSeparated(PDETemplateMessages.DecoratorTemplate_placementChoices);
-
-		addOption(DECORATOR_ICON_PLACEMENT, PDETemplateMessages.DecoratorTemplate_placement, choices, choices[0][0], 0);
-
-		projectOption = (BooleanOption) addOption(DECORATOR_BLN_PROJECT, PDETemplateMessages.DecoratorTemplate_decorateProject, true, 0);
-
-		readOnlyOption = (BooleanOption) addOption(DECORATOR_BLN_READONLY, PDETemplateMessages.DecoratorTemplate_decorateReadOnly, false, 0);
-
-		packageOption = addOption(KEY_PACKAGE_NAME, PDETemplateMessages.DecoratorTemplate_packageName, (String) null, 0);
-		classOption = addOption(DECORATOR_CLASS_NAME, PDETemplateMessages.DecoratorTemplate_decoratorClass, "ReadOnly", //$NON-NLS-1$
-				0);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#addPages(org.eclipse.jface.wizard.Wizard)
-	 */
-	public void addPages(Wizard wizard) {
-		int pageIndex = 0;
-
-		page = createPage(pageIndex, IHelpContextIds.TEMPLATE_EDITOR);
-		page.setTitle(PDETemplateMessages.DecoratorTemplate_title);
-		page.setDescription(PDETemplateMessages.DecoratorTemplate_desc);
-
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	private void alterOptionStates() {
-		projectOption.setEnabled(!readOnlyOption.isSelected());
-		packageOption.setEnabled(!projectOption.isEnabled());
-		classOption.setEnabled(!projectOption.isEnabled());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#isOkToCreateFolder(java.io.File)
-	 */
-	protected boolean isOkToCreateFolder(File sourceFolder) {
-		//Define rules for creating folders from the Templates_3.X folders
-		boolean isOk = true;
-		String folderName = sourceFolder.getName();
-		if (folderName.equals("java")) { //$NON-NLS-1$
-			isOk = readOnlyOption.isEnabled() && readOnlyOption.isSelected();
-		}
-		return isOk;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#isOkToCreateFile(java.io.File)
-	 */
-	protected boolean isOkToCreateFile(File sourceFile) {
-		//Define rules for creating files from the Templates_3.X folders
-		boolean isOk = true;
-		String fileName = sourceFile.getName();
-		if (fileName.equals("read_only.gif")) { //$NON-NLS-1$
-			isOk = readOnlyOption.isEnabled() && readOnlyOption.isSelected();
-		} else if (fileName.equals("sample_decorator.gif")) { //$NON-NLS-1$
-			isOk = !readOnlyOption.isSelected();
-		} else if (fileName.equals("$decoratorClassName$.java")) { //$NON-NLS-1$
-			isOk = readOnlyOption.isEnabled() && readOnlyOption.isSelected();
-		}
-		return isOk;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#validateOptions(org.eclipse.pde.ui.templates.TemplateOption)
-	 */
-	public void validateOptions(TemplateOption source) {
-		if (source == readOnlyOption) {
-			alterOptionStates();
-		}
-		super.validateOptions(source);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#isDependentOnParentWizard()
-	 */
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#initializeFields(org.eclipse.pde.ui.IFieldData)
-	 */
-	protected void initializeFields(IFieldData data) {
-		// In a new project wizard, we don't know this yet - the
-		// model has not been created
-		String id = data.getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(id));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#initializeFields(org.eclipse.pde.core.plugin.IPluginModelBase)
-	 */
-	public void initializeFields(IPluginModelBase model) {
-		// In the new extension wizard, the model exists so 
-		// we can initialize directly from it
-		String pluginId = model.getPluginBase().getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(pluginId));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#updateModel(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-		// This method creates the extension point structure through the use
-		// of IPluginElement objects. The element attributes are set based on
-		// user input from the wizard page as well as values required for the 
-		// operation of the extension point.
-		IPluginBase plugin = model.getPluginBase();
-		IPluginExtension extension = createExtension(getUsedExtensionPoint(), true);
-		IPluginModelFactory factory = model.getPluginFactory();
-
-		IPluginElement decoratorElement = factory.createElement(extension);
-		decoratorElement.setName("decorator"); //$NON-NLS-1$
-		decoratorElement.setAttribute("adaptable", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		decoratorElement.setAttribute("state", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		decoratorElement.setAttribute("lightweight", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		if (!readOnlyOption.isSelected()) {
-			decoratorElement.setAttribute("id", plugin.getId() + "." + getSectionId()); //$NON-NLS-1$ //$NON-NLS-2$
-			decoratorElement.setAttribute("label", PDETemplateMessages.DecoratorTemplate_resourceLabel); //$NON-NLS-1$		
-			decoratorElement.setAttribute("icon", "icons/sample_decorator.gif"); //$NON-NLS-1$ //$NON-NLS-2$
-			decoratorElement.setAttribute("location", getValue(DECORATOR_ICON_PLACEMENT).toString()); //$NON-NLS-1$
-		} else {
-			decoratorElement.setAttribute("id", getStringOption(KEY_PACKAGE_NAME) + "." + getStringOption(DECORATOR_CLASS_NAME)); //$NON-NLS-1$ //$NON-NLS-2$
-			decoratorElement.setAttribute("label", PDETemplateMessages.DecoratorTemplate_readOnlyLabel); //$NON-NLS-1$		
-			decoratorElement.setAttribute("class", getStringOption(KEY_PACKAGE_NAME) + "." + getStringOption(DECORATOR_CLASS_NAME)); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		IPluginElement enablementElement = factory.createElement(decoratorElement);
-		enablementElement.setName("enablement"); //$NON-NLS-1$
-
-		IPluginElement andElement = factory.createElement(enablementElement);
-		andElement.setName("and"); //$NON-NLS-1$
-
-		IPluginElement resourceObjectElement = factory.createElement(andElement);
-		resourceObjectElement.setName("objectClass"); //$NON-NLS-1$
-		resourceObjectElement.setAttribute("name", "org.eclipse.core.resources.IResource"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		IPluginElement orElement = factory.createElement(andElement);
-		orElement.setName("or"); //$NON-NLS-1$
-
-		IPluginElement fileObjectElement = factory.createElement(orElement);
-		fileObjectElement.setName("objectClass"); //$NON-NLS-1$
-		fileObjectElement.setAttribute("name", "org.eclipse.core.resources.IFile"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		IPluginElement folderObjectElement = factory.createElement(orElement);
-		folderObjectElement.setName("objectClass"); //$NON-NLS-1$
-		folderObjectElement.setAttribute("name", "org.eclipse.core.resources.IFolder"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		IPluginElement projectObjectElement = factory.createElement(orElement);
-		projectObjectElement.setName("objectClass"); //$NON-NLS-1$
-		projectObjectElement.setAttribute("name", "org.eclipse.core.resources.IProject"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		if (readOnlyOption.isSelected())
-			orElement.add(folderObjectElement);
-		else if (projectOption.isSelected())
-			orElement.add(projectObjectElement);
-		orElement.add(fileObjectElement);
-		andElement.add(resourceObjectElement);
-		andElement.add(orElement);
-		enablementElement.add(andElement);
-		decoratorElement.add(enablementElement);
-
-		extension.add(decoratorElement);
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#getNewFiles()
-	 */
-	public String[] getNewFiles() {
-		return new String[] {"icons/"}; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#getFormattedPackageName(java.lang.String)
-	 */
-	protected String getFormattedPackageName(String id) {
-		// Package name addition to create a location for containing
-		// any classes required by the decorator. 
-		String packageName = super.getFormattedPackageName(id);
-		if (packageName.length() != 0)
-			return packageName + ".decorators"; //$NON-NLS-1$
-		return "decorators"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.ITemplateSection#getUsedExtensionPoint()
-	 */
-	public String getUsedExtensionPoint() {
-		return "org.eclipse.ui.decorators"; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns a 2-D String array based on a comma seperated
-	 * string of choices. 
-	 * 
-	 * @param iconLocations
-	 * 				comma seperated string of icon placement options
-	 * @return the 2-D array of choices
-	 * 				
-	 */
-	protected String[][] fromCommaSeparated(String iconLocations) {
-		StringTokenizer tokens = new StringTokenizer(iconLocations, ","); //$NON-NLS-1$
-		String[][] choices = new String[tokens.countTokens() / 2][2];
-		int x = 0, y = 0;
-		while (tokens.hasMoreTokens()) {
-			choices[x][y++] = tokens.nextToken();
-			choices[x++][y--] = tokens.nextToken();
-		}
-		return choices;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/EditorNewWizard.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/EditorNewWizard.java
deleted file mode 100644
index c0dce7d..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/EditorNewWizard.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;
-
-public class EditorNewWizard extends NewPluginTemplateWizard {
-	/**
-	 * Constructor for EditorNewWizard.
-	 */
-	public EditorNewWizard() {
-		super();
-	}
-
-	public void init(IFieldData data) {
-		super.init(data);
-		setWindowTitle(PDETemplateMessages.EditorNewWizard_wtitle);
-	}
-
-	/*
-	 * @see NewExtensionTemplateWizard#createTemplateSections()
-	 */
-	public ITemplateSection[] createTemplateSections() {
-		return new ITemplateSection[] {new EditorTemplate()};
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/EditorTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/EditorTemplate.java
deleted file mode 100644
index 4e2ba09..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/EditorTemplate.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.IPluginModelFactory;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.IHelpContextIds;
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.PluginReference;
-import org.eclipse.pde.ui.templates.TemplateOption;
-
-public class EditorTemplate extends BaseEditorTemplate {
-	public static final String EDITOR_CLASS_NAME = "editorClass"; //$NON-NLS-1$
-	public static final String EDITOR_NAME = "editorName"; //$NON-NLS-1$
-	public static final String EXTENSIONS = "extensions"; //$NON-NLS-1$
-
-	/**
-	 * Constructor for EditorTemplate.
-	 */
-	public EditorTemplate() {
-		setPageCount(1);
-		createOptions();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getDependencies(java.lang.String)
-	 */
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		if (schemaVersion != null) {
-			IPluginReference[] dep = new IPluginReference[4];
-			dep[0] = new PluginReference("org.eclipse.core.runtime", null, 0); //$NON-NLS-1$
-			dep[1] = new PluginReference("org.eclipse.ui", null, 0); //$NON-NLS-1$
-			dep[2] = new PluginReference("org.eclipse.jface.text", null, 0); //$NON-NLS-1$
-			dep[3] = new PluginReference("org.eclipse.ui.editors", null, 0); //$NON-NLS-1$
-			return dep;
-		}
-		return super.getDependencies(schemaVersion);
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0, IHelpContextIds.TEMPLATE_EDITOR);
-		page.setTitle(PDETemplateMessages.EditorTemplate_title);
-		page.setDescription(PDETemplateMessages.EditorTemplate_desc);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	private void createOptions() {
-		// first page	
-		addOption(KEY_PACKAGE_NAME, PDETemplateMessages.EditorTemplate_packageName, (String) null, 0);
-		addOption(EDITOR_CLASS_NAME, PDETemplateMessages.EditorTemplate_editorClass, "XMLEditor", //$NON-NLS-1$
-				0);
-		addOption(EDITOR_NAME, PDETemplateMessages.EditorTemplate_editorName, PDETemplateMessages.EditorTemplate_defaultEditorName, 0);
-		addOption(EXTENSIONS, PDETemplateMessages.EditorTemplate_fileExtension, "xml", //$NON-NLS-1$
-				0);
-	}
-
-	public String getSectionId() {
-		return "editor"; //$NON-NLS-1$
-	}
-
-	/*
-	 * @see ITemplateSection#getNumberOfWorkUnits()
-	 */
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	protected void initializeFields(IFieldData data) {
-		// In a new project wizard, we don't know this yet - the
-		// model has not been created
-		String id = data.getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(id));
-	}
-
-	public void initializeFields(IPluginModelBase model) {
-		// In the new extension wizard, the model exists so 
-		// we can initialize directly from it
-		String pluginId = model.getPluginBase().getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(pluginId));
-	}
-
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	/**
-	 * @see GenericTemplateSection#validateOptions(TemplateOption)
-	 */
-	public void validateOptions(TemplateOption source) {
-		if (source.isRequired() && source.isEmpty()) {
-			flagMissingRequiredOption(source);
-		} else {
-			validateContainerPage(source);
-		}
-	}
-
-	private void validateContainerPage(TemplateOption source) {
-		TemplateOption[] options = getOptions(0);
-		for (int i = 0; i < options.length; i++) {
-			TemplateOption nextOption = options[i];
-			if (nextOption.isRequired() && nextOption.isEmpty()) {
-				flagMissingRequiredOption(nextOption);
-				return;
-			}
-		}
-		resetPageState();
-	}
-
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-		IPluginExtension extension = createExtension(getUsedExtensionPoint(), true);
-		IPluginModelFactory factory = model.getPluginFactory();
-
-		IPluginElement editorElement = factory.createElement(extension);
-		editorElement.setName("editor"); //$NON-NLS-1$
-		editorElement.setAttribute("id", //$NON-NLS-1$
-				getStringOption(KEY_PACKAGE_NAME) + "." + getStringOption(EDITOR_CLASS_NAME)); //$NON-NLS-1$
-		editorElement.setAttribute("name", getStringOption(EDITOR_NAME)); //$NON-NLS-1$
-		editorElement.setAttribute("icon", "icons/sample.gif"); //$NON-NLS-1$ //$NON-NLS-2$
-		editorElement.setAttribute("extensions", getStringOption(EXTENSIONS)); //$NON-NLS-1$
-
-		editorElement.setAttribute("class", //$NON-NLS-1$
-				getStringOption(KEY_PACKAGE_NAME) + "." + getStringOption(EDITOR_CLASS_NAME)); //$NON-NLS-1$
-		editorElement.setAttribute("contributorClass", //$NON-NLS-1$
-				"org.eclipse.ui.texteditor.BasicTextEditorActionContributor"); //$NON-NLS-1$
-		extension.add(editorElement);
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#formatPackageName(java.lang.String)
-	 */
-	protected String getFormattedPackageName(String id) {
-		String packageName = super.getFormattedPackageName(id);
-		if (packageName.length() != 0)
-			return packageName + ".editors"; //$NON-NLS-1$
-		return "editors"; //$NON-NLS-1$
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelloWorldCmdNewWizard.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelloWorldCmdNewWizard.java
deleted file mode 100644
index 0d37401..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelloWorldCmdNewWizard.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;
-
-public class HelloWorldCmdNewWizard extends NewPluginTemplateWizard {
-	/**
-	 * Constructor for HelloWorldNewWizard.
-	 */
-	public HelloWorldCmdNewWizard() {
-		super();
-	}
-
-	public void init(IFieldData data) {
-		super.init(data);
-		setWindowTitle(PDETemplateMessages.HelloWorldCmdNewWizard_wtitle);
-	}
-
-	/*
-	 * @see NewExtensionTemplateWizard#createTemplateSections()
-	 */
-	public ITemplateSection[] createTemplateSections() {
-		return new ITemplateSection[] {new HelloWorldCmdTemplate()};
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelloWorldCmdTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelloWorldCmdTemplate.java
deleted file mode 100644
index cdbd444..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelloWorldCmdTemplate.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.IPluginModelFactory;
-import org.eclipse.pde.internal.ui.templates.IHelpContextIds;
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.internal.ui.templates.PDETemplateSection;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.ui.contexts.IContextService;
-import org.eclipse.ui.keys.IBindingService;
-
-public class HelloWorldCmdTemplate extends PDETemplateSection {
-	public static final String KEY_CLASS_NAME = "className"; //$NON-NLS-1$
-	public static final String KEY_MESSAGE = "message"; //$NON-NLS-1$
-	public static final String CLASS_NAME = "SampleHandler"; //$NON-NLS-1$
-
-	/**
-	 * Constructor for HelloWorldTemplate.
-	 */
-	public HelloWorldCmdTemplate() {
-		setPageCount(1);
-		createOptions();
-	}
-
-	public String getSectionId() {
-		return "helloWorldCmd"; //$NON-NLS-1$
-	}
-
-	/*
-	 * @see ITemplateSection#getNumberOfWorkUnits()
-	 */
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	private void createOptions() {
-		addOption(KEY_PACKAGE_NAME, PDETemplateMessages.HelloWorldCmdTemplate_packageName, (String) null, 0);
-		addOption(KEY_CLASS_NAME, PDETemplateMessages.HelloWorldCmdTemplate_className, CLASS_NAME, 0);
-		addOption(KEY_MESSAGE, PDETemplateMessages.HelloWorldCmdTemplate_messageText, PDETemplateMessages.HelloWorldCmdTemplate_defaultMessage, 0);
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0, IHelpContextIds.TEMPLATE_HELLO_WORLD);
-		page.setTitle(PDETemplateMessages.HelloWorldCmdTemplate_title);
-		page.setDescription(PDETemplateMessages.HelloWorldCmdTemplate_desc);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	protected void initializeFields(IFieldData data) {
-		// In a new project wizard, we don't know this yet - the
-		// model has not been created
-		String id = data.getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(id));
-	}
-
-	public void initializeFields(IPluginModelBase model) {
-		// In the new extension wizard, the model exists so
-		// we can initialize directly from it
-		String pluginId = model.getPluginBase().getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(pluginId));
-	}
-
-	public String getUsedExtensionPoint() {
-		return "org.eclipse.ui.commands"; //$NON-NLS-1$
-	}
-
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-		IPluginExtension commandsExtension = createExtension("org.eclipse.ui.commands", true); //$NON-NLS-1$
-		IPluginModelFactory factory = model.getPluginFactory();
-
-		IPluginElement category = factory.createElement(commandsExtension);
-		category.setName("category"); //$NON-NLS-1$
-		String categoryId = plugin.getId() + ".commands.category"; //$NON-NLS-1$
-		category.setAttribute("id", categoryId); //$NON-NLS-1$ 
-		category.setAttribute("name", PDETemplateMessages.HelloWorldCmdTemplate_sampleCategory); //$NON-NLS-1$
-		commandsExtension.add(category);
-
-		IPluginElement command = factory.createElement(commandsExtension);
-		command.setName("command"); //$NON-NLS-1$
-		command.setAttribute("categoryId", categoryId); //$NON-NLS-1$
-		command.setAttribute("name", //$NON-NLS-1$
-				PDETemplateMessages.HelloWorldCmdTemplate_sampleAction_name);
-		String commandId = plugin.getId() + ".commands.sampleCommand"; //$NON-NLS-1$
-		command.setAttribute("id", commandId); //$NON-NLS-1$
-		commandsExtension.add(command);
-
-		String fullClassName = getStringOption(KEY_PACKAGE_NAME) + "." + getStringOption(KEY_CLASS_NAME); //$NON-NLS-1$
-		IPluginExtension handlersExtension = createExtension("org.eclipse.ui.handlers", true); //$NON-NLS-1$
-		IPluginElement handler = factory.createElement(handlersExtension);
-		handler.setName("handler"); //$NON-NLS-1$
-		handler.setAttribute("class", fullClassName); //$NON-NLS-1$
-		handler.setAttribute("commandId", commandId); //$NON-NLS-1$
-		handlersExtension.add(handler);
-
-		IPluginExtension bindingsExtension = createExtension("org.eclipse.ui.bindings", true); //$NON-NLS-1$
-		IPluginElement binding = factory.createElement(bindingsExtension);
-		binding.setName("key"); //$NON-NLS-1$
-		binding.setAttribute("commandId", commandId); //$NON-NLS-1$
-		binding.setAttribute("schemeId", IBindingService.DEFAULT_DEFAULT_ACTIVE_SCHEME_ID); //$NON-NLS-1$
-		binding.setAttribute("contextId", IContextService.CONTEXT_ID_WINDOW); //$NON-NLS-1$
-		binding.setAttribute("sequence", "M1+6"); //$NON-NLS-1$ //$NON-NLS-2$
-		bindingsExtension.add(binding);
-
-		IPluginExtension menusExtension = createExtension("org.eclipse.ui.menus", true); //$NON-NLS-1$
-		IPluginElement menuAddition = factory.createElement(menusExtension);
-		menuAddition.setName("menuContribution"); //$NON-NLS-1$
-		menuAddition.setAttribute("locationURI", //$NON-NLS-1$
-				"menu:org.eclipse.ui.main.menu?after=additions"); //$NON-NLS-1$
-		IPluginElement menu = factory.createElement(menuAddition);
-		menu.setName("menu"); //$NON-NLS-1$
-		String menuId = plugin.getId() + ".menus.sampleMenu"; //$NON-NLS-1$
-		menu.setAttribute("id", menuId); //$NON-NLS-1$
-		menu.setAttribute("label", //$NON-NLS-1$
-				PDETemplateMessages.HelloWorldCmdTemplate_sampleMenu_name);
-		menu.setAttribute("mnemonic", //$NON-NLS-1$
-				PDETemplateMessages.HelloWorldCmdTemplate_sampleMenu_mnemonic);
-		IPluginElement menuCommand = factory.createElement(menu);
-		menuCommand.setName("command"); //$NON-NLS-1$
-		menuCommand.setAttribute("commandId", commandId); //$NON-NLS-1$
-		menuCommand.setAttribute("id", plugin.getId() + ".menus.sampleCommand"); //$NON-NLS-1$ //$NON-NLS-2$
-		menuCommand.setAttribute("mnemonic", //$NON-NLS-1$
-				PDETemplateMessages.HelloWorldCmdTemplate_sampleAction_mnemonic);
-		menu.add(menuCommand);
-		menuAddition.add(menu);
-		menusExtension.add(menuAddition);
-
-		IPluginElement toolbarAddition = factory.createElement(menusExtension);
-		toolbarAddition.setName("menuContribution"); //$NON-NLS-1$
-		toolbarAddition.setAttribute("locationURI", //$NON-NLS-1$
-				"toolbar:org.eclipse.ui.main.toolbar?after=additions"); //$NON-NLS-1$
-		IPluginElement toolbar = factory.createElement(toolbarAddition);
-		toolbar.setName("toolbar"); //$NON-NLS-1$
-		String toolbarId = plugin.getId() + ".toolbars.sampleToolbar"; //$NON-NLS-1$
-		toolbar.setAttribute("id", toolbarId); //$NON-NLS-1$
-		IPluginElement toolbarCommand = factory.createElement(toolbar);
-		toolbarCommand.setName("command"); //$NON-NLS-1$
-		toolbarCommand.setAttribute("id", plugin.getId() + ".toolbars.sampleCommand"); //$NON-NLS-1$ //$NON-NLS-2$
-		toolbarCommand.setAttribute("commandId", commandId); //$NON-NLS-1$
-		toolbarCommand.setAttribute("icon", "icons/sample.gif"); //$NON-NLS-1$ //$NON-NLS-2$
-		toolbarCommand.setAttribute("tooltip", //$NON-NLS-1$
-				PDETemplateMessages.HelloWorldCmdTemplate_sampleAction_tooltip);
-		toolbar.add(toolbarCommand);
-		toolbarAddition.add(toolbar);
-		menusExtension.add(toolbarAddition);
-
-		if (!commandsExtension.isInTheModel()) {
-			plugin.add(commandsExtension);
-		}
-		if (!handlersExtension.isInTheModel()) {
-			plugin.add(handlersExtension);
-		}
-		if (!bindingsExtension.isInTheModel()) {
-			plugin.add(bindingsExtension);
-		}
-		if (!menusExtension.isInTheModel()) {
-			plugin.add(menusExtension);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.pde.ui.templates.ITemplateSection#getFoldersToInclude()
-	 */
-	public String[] getNewFiles() {
-		return new String[] {"icons/"}; //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#formatPackageName(java.lang.String)
-	 */
-	protected String getFormattedPackageName(String id) {
-		String packageName = super.getFormattedPackageName(id);
-		if (packageName.length() != 0)
-			return packageName + ".handlers"; //$NON-NLS-1$
-		return "handlers"; //$NON-NLS-1$
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelloWorldNewWizard.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelloWorldNewWizard.java
deleted file mode 100644
index 06dfefd..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelloWorldNewWizard.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;
-
-public class HelloWorldNewWizard extends NewPluginTemplateWizard {
-	/**
-	 * Constructor for HelloWorldNewWizard.
-	 */
-	public HelloWorldNewWizard() {
-		super();
-	}
-
-	public void init(IFieldData data) {
-		super.init(data);
-		setWindowTitle(PDETemplateMessages.HelloWorldNewWizard_wtitle);
-	}
-
-	/*
-	 * @see NewExtensionTemplateWizard#createTemplateSections()
-	 */
-	public ITemplateSection[] createTemplateSections() {
-		return new ITemplateSection[] {new HelloWorldTemplate()};
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelloWorldTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelloWorldTemplate.java
deleted file mode 100644
index b9e22f1..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelloWorldTemplate.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.IPluginModelFactory;
-import org.eclipse.pde.internal.ui.templates.IHelpContextIds;
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.internal.ui.templates.PDETemplateSection;
-import org.eclipse.pde.ui.IFieldData;
-
-public class HelloWorldTemplate extends PDETemplateSection {
-	public static final String KEY_CLASS_NAME = "className"; //$NON-NLS-1$
-	public static final String KEY_MESSAGE = "message"; //$NON-NLS-1$
-	public static final String CLASS_NAME = "SampleAction"; //$NON-NLS-1$
-
-	/**
-	 * Constructor for HelloWorldTemplate.
-	 */
-	public HelloWorldTemplate() {
-		setPageCount(1);
-		createOptions();
-	}
-
-	public String getSectionId() {
-		return "helloWorld"; //$NON-NLS-1$
-	}
-
-	/*
-	 * @see ITemplateSection#getNumberOfWorkUnits()
-	 */
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	private void createOptions() {
-		addOption(KEY_PACKAGE_NAME, PDETemplateMessages.HelloWorldTemplate_packageName, (String) null, 0);
-		addOption(KEY_CLASS_NAME, PDETemplateMessages.HelloWorldTemplate_className, CLASS_NAME, 0);
-		addOption(KEY_MESSAGE, PDETemplateMessages.HelloWorldTemplate_messageText, PDETemplateMessages.HelloWorldTemplate_defaultMessage, 0);
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0, IHelpContextIds.TEMPLATE_HELLO_WORLD);
-		page.setTitle(PDETemplateMessages.HelloWorldTemplate_title);
-		page.setDescription(PDETemplateMessages.HelloWorldTemplate_desc);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	protected void initializeFields(IFieldData data) {
-		// In a new project wizard, we don't know this yet - the
-		// model has not been created
-		String id = data.getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(id));
-	}
-
-	public void initializeFields(IPluginModelBase model) {
-		// In the new extension wizard, the model exists so 
-		// we can initialize directly from it
-		String pluginId = model.getPluginBase().getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(pluginId));
-	}
-
-	public String getUsedExtensionPoint() {
-		return "org.eclipse.ui.actionSets"; //$NON-NLS-1$
-	}
-
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-		IPluginExtension extension = createExtension("org.eclipse.ui.actionSets", true); //$NON-NLS-1$
-		IPluginModelFactory factory = model.getPluginFactory();
-
-		IPluginElement setElement = factory.createElement(extension);
-		setElement.setName("actionSet"); //$NON-NLS-1$
-		setElement.setAttribute("id", plugin.getId() + ".actionSet"); //$NON-NLS-1$ //$NON-NLS-2$
-		setElement.setAttribute("label", PDETemplateMessages.HelloWorldTemplate_sampleActionSet); //$NON-NLS-1$
-		setElement.setAttribute("visible", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		IPluginElement menuElement = factory.createElement(setElement);
-		menuElement.setName("menu"); //$NON-NLS-1$
-		menuElement.setAttribute("label", PDETemplateMessages.HelloWorldTemplate_sampleMenu); //$NON-NLS-1$
-		menuElement.setAttribute("id", "sampleMenu"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		IPluginElement groupElement = factory.createElement(menuElement);
-		groupElement.setName("separator"); //$NON-NLS-1$
-		groupElement.setAttribute("name", "sampleGroup"); //$NON-NLS-1$ //$NON-NLS-2$
-		menuElement.add(groupElement);
-		setElement.add(menuElement);
-
-		String fullClassName = getStringOption(KEY_PACKAGE_NAME) + "." + getStringOption(KEY_CLASS_NAME); //$NON-NLS-1$
-
-		IPluginElement actionElement = factory.createElement(setElement);
-		actionElement.setName("action"); //$NON-NLS-1$
-		actionElement.setAttribute("id", fullClassName); //$NON-NLS-1$
-		actionElement.setAttribute("label", PDETemplateMessages.HelloWorldTemplate_sampleAction); //$NON-NLS-1$
-		actionElement.setAttribute("menubarPath", "sampleMenu/sampleGroup"); //$NON-NLS-1$ //$NON-NLS-2$
-		actionElement.setAttribute("toolbarPath", "sampleGroup"); //$NON-NLS-1$ //$NON-NLS-2$
-		actionElement.setAttribute("icon", "icons/sample.gif"); //$NON-NLS-1$ //$NON-NLS-2$
-		actionElement.setAttribute("tooltip", PDETemplateMessages.HelloWorldTemplate_defaultMessage); //$NON-NLS-1$
-		actionElement.setAttribute("class", fullClassName); //$NON-NLS-1$
-		setElement.add(actionElement);
-		extension.add(setElement);
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.ITemplateSection#getFoldersToInclude()
-	 */
-	public String[] getNewFiles() {
-		return new String[] {"icons/"}; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#formatPackageName(java.lang.String)
-	 */
-	protected String getFormattedPackageName(String id) {
-		String packageName = super.getFormattedPackageName(id);
-		if (packageName.length() != 0)
-			return packageName + ".actions"; //$NON-NLS-1$
-		return "actions"; //$NON-NLS-1$
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelpNewWizard.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelpNewWizard.java
deleted file mode 100644
index c23764f..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelpNewWizard.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;
-
-public class HelpNewWizard extends NewPluginTemplateWizard {
-
-	public void init(IFieldData data) {
-		super.init(data);
-		setWindowTitle(PDETemplateMessages.HelpNewWizard_wiz);
-	}
-
-	public ITemplateSection[] createTemplateSections() {
-		return new ITemplateSection[] {new HelpTemplate()};
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelpTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelpTemplate.java
deleted file mode 100644
index 146465d..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/HelpTemplate.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import java.io.File;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelFactory;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.IHelpContextIds;
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.internal.ui.templates.PDETemplateSection;
-import org.eclipse.pde.ui.templates.BooleanOption;
-import org.eclipse.pde.ui.templates.TemplateOption;
-
-public class HelpTemplate extends PDETemplateSection {
-
-	public static final String KEY_TOC_LABEL = "tocLabel"; //$NON-NLS-1$
-	public static final String KEY_IS_PRIMARY = "isPrimary"; //$NON-NLS-1$
-	public static final String KEY_GEN_TEST = "generateTest"; //$NON-NLS-1$
-	public static final String KEY_GET_STARTED = "gettingStarted"; //$NON-NLS-1$
-	public static final String KEY_CONCEPTS = "concepts"; //$NON-NLS-1$
-	public static final String KEY_TASKS = "tasks"; //$NON-NLS-1$
-	public static final String KEY_REFERENCE = "reference"; //$NON-NLS-1$
-	public static final String KEY_SAMPLES = "samples"; //$NON-NLS-1$
-
-	private TemplateOption tocLabelOption;
-	private BooleanOption primaryOption;
-	private BooleanOption genTestOption;
-	private BooleanOption gettingStartedOption;
-	private BooleanOption conceptsOption;
-	private BooleanOption tasksOption;
-	private BooleanOption referenceOption;
-	private BooleanOption samplesOption;
-
-	public HelpTemplate() {
-		setPageCount(1);
-		createOptions();
-		alterOptionStates();
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0, IHelpContextIds.TEMPLATE_HELP);
-		page.setTitle(PDETemplateMessages.HelpTemplate_title);
-		page.setDescription(PDETemplateMessages.HelpTemplate_desc);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	private void alterOptionStates() {
-		genTestOption.setEnabled(!primaryOption.isSelected());
-		gettingStartedOption.setEnabled(primaryOption.isSelected());
-		conceptsOption.setEnabled(primaryOption.isSelected());
-		tasksOption.setEnabled(primaryOption.isSelected());
-		referenceOption.setEnabled(primaryOption.isSelected());
-		samplesOption.setEnabled(primaryOption.isSelected());
-	}
-
-	private void createOptions() {
-		tocLabelOption = addOption(KEY_TOC_LABEL, PDETemplateMessages.HelpTemplate_tocLabel, PDETemplateMessages.HelpTemplate_sampleText, 0);
-
-		primaryOption = (BooleanOption) addOption(KEY_IS_PRIMARY, PDETemplateMessages.HelpTemplate_isPrimary, false, 0);
-
-		genTestOption = (BooleanOption) addOption(KEY_GEN_TEST, PDETemplateMessages.HelpTemplate_generateTest, true, 0);
-
-		gettingStartedOption = (BooleanOption) addOption(KEY_GET_STARTED, PDETemplateMessages.HelpTemplate_gettingStarted, true, 0);
-
-		conceptsOption = (BooleanOption) addOption(KEY_CONCEPTS, PDETemplateMessages.HelpTemplate_concepts, true, 0);
-
-		tasksOption = (BooleanOption) addOption(KEY_TASKS, PDETemplateMessages.HelpTemplate_tasks, true, 0);
-
-		referenceOption = (BooleanOption) addOption(KEY_REFERENCE, PDETemplateMessages.HelpTemplate_reference, true, 0);
-
-		samplesOption = (BooleanOption) addOption(KEY_SAMPLES, PDETemplateMessages.HelpTemplate_samples, true, 0);
-
-	}
-
-	/**
-	 * @see OptionTemplateSection#getSectionId()
-	 */
-	public String getSectionId() {
-		return "help"; //$NON-NLS-1$
-	}
-
-	protected boolean isOkToCreateFolder(File sourceFolder) {
-		boolean isOk = true;
-		String folderName = sourceFolder.getName();
-		if (folderName.equals("concepts")) { //$NON-NLS-1$
-			isOk = conceptsOption.isEnabled() && conceptsOption.isSelected();
-		} else if (folderName.equals("gettingstarted")) { //$NON-NLS-1$
-			isOk = gettingStartedOption.isEnabled() && gettingStartedOption.isSelected();
-		} else if (folderName.equals("reference")) { //$NON-NLS-1$
-			isOk = referenceOption.isEnabled() && referenceOption.isSelected();
-		} else if (folderName.equals("samples")) { //$NON-NLS-1$
-			isOk = samplesOption.isEnabled() && samplesOption.isSelected();
-		} else if (folderName.equals("tasks")) { //$NON-NLS-1$
-			isOk = tasksOption.isEnabled() && tasksOption.isSelected();
-		}
-		return isOk;
-	}
-
-	/**
-	 * @see AbstractTemplateSection#isOkToCreateFile(File)
-	 */
-	protected boolean isOkToCreateFile(File sourceFile) {
-		boolean isOk = true;
-		String fileName = sourceFile.getName();
-		if (fileName.equals("testToc.xml")) { //$NON-NLS-1$
-			isOk = genTestOption.isEnabled() && genTestOption.isSelected();
-		} else if (fileName.equals("tocconcepts.xml")) { //$NON-NLS-1$
-			isOk = conceptsOption.isEnabled() && conceptsOption.isSelected();
-		} else if (fileName.equals("tocgettingstarted.xml")) { //$NON-NLS-1$
-			isOk = gettingStartedOption.isEnabled() && gettingStartedOption.isSelected();
-		} else if (fileName.equals("tocreference.xml")) { //$NON-NLS-1$
-			isOk = referenceOption.isEnabled() && referenceOption.isSelected();
-		} else if (fileName.equals("tocsamples.xml")) { //$NON-NLS-1$
-			isOk = samplesOption.isEnabled() && samplesOption.isSelected();
-		} else if (fileName.equals("toctasks.xml")) { //$NON-NLS-1$
-			isOk = tasksOption.isEnabled() && tasksOption.isSelected();
-		} else if ((fileName.equals("maintopic.html") || fileName.equals("subtopic.html")) //$NON-NLS-1$ //$NON-NLS-2$
-				&& sourceFile.getParentFile().getName().equals("html")) { //$NON-NLS-1$
-			isOk = !primaryOption.isSelected() || (primaryOption.isSelected() && !gettingStartedOption.isSelected() && !conceptsOption.isSelected() && !tasksOption.isSelected() && !referenceOption.isSelected() && !samplesOption.isSelected());
-		}
-		return isOk;
-	}
-
-	/**
-	 * @see BaseOptionTemplateSection#validateOptions(TemplateOption)
-	 */
-	public void validateOptions(TemplateOption changed) {
-		if (changed == tocLabelOption) {
-			if (changed.isEmpty()) {
-				flagMissingRequiredOption(changed);
-			} else {
-				resetPageState();
-			}
-		} else if (changed == primaryOption) {
-			alterOptionStates();
-		}
-	}
-
-	/**
-	 * @see AbstractTemplateSection#updateModel(IProgressMonitor)
-	 */
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-		IPluginExtension extension = createExtension(getUsedExtensionPoint(), true);
-		IPluginModelFactory factory = model.getPluginFactory();
-
-		IPluginElement tocElement = factory.createElement(extension);
-		tocElement.setName("toc"); //$NON-NLS-1$
-		tocElement.setAttribute("file", "toc.xml"); //$NON-NLS-1$ //$NON-NLS-2$
-		if (primaryOption.isSelected())
-			tocElement.setAttribute("primary", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		extension.add(tocElement);
-
-		if (genTestOption.isSelected() && genTestOption.isEnabled()) {
-			IPluginElement testTocElement = factory.createElement(extension);
-			testTocElement.setName("toc"); //$NON-NLS-1$
-			testTocElement.setAttribute("file", "testToc.xml"); //$NON-NLS-1$ //$NON-NLS-2$
-			testTocElement.setAttribute("primary", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-			extension.add(testTocElement);
-		}
-		addNonPrimaryTopic(conceptsOption, "tocconcepts.xml", extension); //$NON-NLS-1$
-		addNonPrimaryTopic(gettingStartedOption, "tocgettingstarted.xml", extension); //$NON-NLS-1$
-		addNonPrimaryTopic(referenceOption, "tocreference.xml", extension); //$NON-NLS-1$
-		addNonPrimaryTopic(samplesOption, "tocsamples.xml", extension); //$NON-NLS-1$
-		addNonPrimaryTopic(tasksOption, "toctasks.xml", extension); //$NON-NLS-1$
-
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	private void addNonPrimaryTopic(BooleanOption option, String file, IPluginExtension extension) throws CoreException {
-		if (option.isEnabled() && option.isSelected()) {
-			IPluginElement tocElement = extension.getPluginModel().getPluginFactory().createElement(extension);
-			tocElement.setName("toc"); //$NON-NLS-1$
-			tocElement.setAttribute("file", file); //$NON-NLS-1$
-			extension.add(tocElement);
-		}
-	}
-
-	/**
-	 * @see ITemplateSection#getUsedExtensionPoint()
-	 */
-	public String getUsedExtensionPoint() {
-		return "org.eclipse.help.toc"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getDependencies(java.lang.String)
-	 */
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		return new IPluginReference[0];
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#getFoldersToInclude()
-	 */
-	public String[] getNewFiles() {
-		return new String[] {"html/", "*.xml"}; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/ImportWizardTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/ImportWizardTemplate.java
deleted file mode 100644
index d331971..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/ImportWizardTemplate.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.IPluginModelFactory;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.IHelpContextIds;
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.internal.ui.templates.PDETemplateSection;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.PluginReference;
-
-public class ImportWizardTemplate extends PDETemplateSection {
-	public static final String WIZARD_CLASS_NAME = "wizardClassName"; //$NON-NLS-1$
-	public static final String WIZARD_CATEGORY_NAME = "wizardCategoryName"; //$NON-NLS-1$
-	public static final String WIZARD_PAGE_CLASS_NAME = "wizardPageClassName"; //$NON-NLS-1$
-	public static final String WIZARD_IMPORT_NAME = "wizardImportName"; //$NON-NLS-1$
-	public static final String WIZARD_FILE_FILTERS = "wizardFileFilters"; //$NON-NLS-1$
-
-	private WizardPage page;
-
-	/**
-	 * Constructor for ImportWizardTemplate.
-	 */
-	public ImportWizardTemplate() {
-		setPageCount(1);
-		createOptions();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getDependencies(java.lang.String)
-	 */
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		// Additional dependency required to provide WizardNewFileCreationPage
-		if (schemaVersion != null) {
-			IPluginReference[] dep = new IPluginReference[2];
-			dep[0] = new PluginReference("org.eclipse.ui.ide", null, 0); //$NON-NLS-1$
-			dep[1] = new PluginReference("org.eclipse.core.resources", null, 0); //$NON-NLS-1$
-			return dep;
-		}
-		return super.getDependencies(schemaVersion);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.OptionTemplateSection#getSectionId()
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#getDirectoryCandidates()
-	 */
-	public String getSectionId() {
-		// Identifier used for the folder name within the templates_3.X
-		// hierarchy  and as part of the lookup key for the template label
-		// variable.
-		return "importWizard"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getNumberOfWorkUnits()
-	 */
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	/**
-	 * Creates the options to be displayed on the template wizard.
-	 * Various string options, blank fields and a multiple choice 
-	 * option are used.
-	 */
-	private void createOptions() {
-		String[][] choices = fromCommaSeparated(PDETemplateMessages.ImportWizardTemplate_filterChoices);
-
-		addOption(KEY_PACKAGE_NAME, PDETemplateMessages.ImportWizardTemplate_packageName, (String) null, 0);
-		addOption(WIZARD_CLASS_NAME, PDETemplateMessages.ImportWizardTemplate_wizardClass, PDETemplateMessages.ImportWizardTemplate_wizardClassName, 0);
-		addOption(WIZARD_PAGE_CLASS_NAME, PDETemplateMessages.ImportWizardTemplate_pageClass, PDETemplateMessages.ImportWizardTemplate_pageClassName, 0);
-
-		addBlankField(0);
-
-		addOption(WIZARD_CATEGORY_NAME, PDETemplateMessages.ImportWizardTemplate_importWizardCategory, PDETemplateMessages.ImportWizardTemplate_importWizardCategoryName, 0);
-		addOption(WIZARD_IMPORT_NAME, PDETemplateMessages.ImportWizardTemplate_wizardName, PDETemplateMessages.ImportWizardTemplate_wizardDefaultName, 0);
-
-		addBlankField(0);
-
-		addOption(WIZARD_FILE_FILTERS, PDETemplateMessages.ImportWizardTemplate_filters, choices, choices[0][0], 0);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#addPages(org.eclipse.jface.wizard.Wizard)
-	 */
-	public void addPages(Wizard wizard) {
-		int pageIndex = 0;
-
-		page = createPage(pageIndex, IHelpContextIds.TEMPLATE_EDITOR);
-		page.setTitle(PDETemplateMessages.ImportWizardTemplate_title);
-		page.setDescription(PDETemplateMessages.ImportWizardTemplate_desc);
-
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#isDependentOnParentWizard()
-	 */
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#initializeFields(org.eclipse.pde.ui.IFieldData)
-	 */
-	protected void initializeFields(IFieldData data) {
-		// In a new project wizard, we don't know this yet - the
-		// model has not been created
-		String id = data.getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(id));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#initializeFields(org.eclipse.pde.core.plugin.IPluginModelBase)
-	 */
-	public void initializeFields(IPluginModelBase model) {
-		// In the new extension wizard, the model exists so 
-		// we can initialize directly from it
-		String pluginId = model.getPluginBase().getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(pluginId));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#updateModel(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-		// This method creates the extension point structure through the use
-		// of IPluginElement objects. The element attributes are set based on
-		// user input from the wizard page as well as values required for the 
-		// operation of the extension point.
-		IPluginBase plugin = model.getPluginBase();
-		IPluginExtension extension = createExtension(getUsedExtensionPoint(), true);
-		IPluginModelFactory factory = model.getPluginFactory();
-
-		IPluginElement categoryElement = factory.createElement(extension);
-		categoryElement.setName("category"); //$NON-NLS-1$
-		categoryElement.setAttribute("id", getStringOption(KEY_PACKAGE_NAME) + ".sampleCategory"); //$NON-NLS-1$ //$NON-NLS-2$
-		categoryElement.setAttribute("name", getStringOption(WIZARD_CATEGORY_NAME)); //$NON-NLS-1$
-
-		IPluginElement wizardElement = factory.createElement(extension);
-		wizardElement.setName("wizard"); //$NON-NLS-1$
-		wizardElement.setAttribute("id", getStringOption(KEY_PACKAGE_NAME) + "." + getStringOption(WIZARD_CLASS_NAME)); //$NON-NLS-1$ //$NON-NLS-2$
-		wizardElement.setAttribute("name", getStringOption(WIZARD_IMPORT_NAME)); //$NON-NLS-1$
-		wizardElement.setAttribute("class", getStringOption(KEY_PACKAGE_NAME) + "." + getStringOption(WIZARD_CLASS_NAME)); //$NON-NLS-1$ //$NON-NLS-2$
-		wizardElement.setAttribute("category", getStringOption(KEY_PACKAGE_NAME) + ".sampleCategory"); //$NON-NLS-1$ //$NON-NLS-2$
-		wizardElement.setAttribute("icon", "icons/sample.gif"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		IPluginElement descriptionElement = factory.createElement(extension);
-		descriptionElement.setName("description"); //$NON-NLS-1$
-		descriptionElement.setText(PDETemplateMessages.ImportWizardTemplate_wizardDescription);
-
-		wizardElement.add(descriptionElement);
-		extension.add(categoryElement);
-		extension.add(wizardElement);
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#getNewFiles()
-	 */
-	public String[] getNewFiles() {
-		return new String[] {"icons/"}; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#getFormattedPackageName(java.lang.String)
-	 */
-	protected String getFormattedPackageName(String id) {
-		// Package name addition to create a location for containing
-		// any classes required by the decorator. 
-		String packageName = super.getFormattedPackageName(id);
-		if (packageName.length() != 0)
-			return packageName + ".importWizards"; //$NON-NLS-1$
-		return "importWizards"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.ITemplateSection#getUsedExtensionPoint()
-	 */
-	public String getUsedExtensionPoint() {
-		return "org.eclipse.ui.importWizards"; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns a 2-D String array based on a comma seperated
-	 * string of choices. 
-	 * 
-	 * @param iconLocations
-	 * 				comma seperated string of icon placement options
-	 * @return the 2-D array of choices
-	 * 				
-	 */
-	protected String[][] fromCommaSeparated(String iconLocations) {
-		StringTokenizer tokens = new StringTokenizer(iconLocations, ","); //$NON-NLS-1$
-		String[][] choices = new String[tokens.countTokens() / 2][2];
-		int x = 0, y = 0;
-		while (tokens.hasMoreTokens()) {
-			choices[x][y++] = tokens.nextToken();
-			choices[x++][y--] = tokens.nextToken();
-		}
-		return choices;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/MultiPageEditorNewWizard.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/MultiPageEditorNewWizard.java
deleted file mode 100644
index 7a38f9a..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/MultiPageEditorNewWizard.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;
-
-public class MultiPageEditorNewWizard extends NewPluginTemplateWizard {
-	/**
-	 * Constructor for MultiPageEditorNewWizard.
-	 */
-	public MultiPageEditorNewWizard() {
-		super();
-	}
-
-	public void init(IFieldData data) {
-		super.init(data);
-		setWindowTitle(PDETemplateMessages.MultiPageEditorNewWizard_wtitle);
-	}
-
-	/*
-	 * @see NewExtensionTemplateWizard#createTemplateSections()
-	 */
-	public ITemplateSection[] createTemplateSections() {
-		return new ITemplateSection[] {new MultiPageEditorTemplate(), new NewWizardTemplate()};
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/MultiPageEditorTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/MultiPageEditorTemplate.java
deleted file mode 100644
index 851f187..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/MultiPageEditorTemplate.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.IPluginModelFactory;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.IHelpContextIds;
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.PluginReference;
-import org.eclipse.pde.ui.templates.TemplateOption;
-
-public class MultiPageEditorTemplate extends BaseEditorTemplate {
-	/**
-	 * Constructor for MultiPageEditorTemplate.
-	 */
-	public MultiPageEditorTemplate() {
-		setPageCount(1);
-		createOptions();
-	}
-
-	public String getSectionId() {
-		return "multiPageEditor"; //$NON-NLS-1$
-	}
-
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		if (schemaVersion != null) {
-			IPluginReference[] dep = new IPluginReference[6];
-			dep[0] = new PluginReference("org.eclipse.jface.text", null, 0); //$NON-NLS-1$
-			dep[1] = new PluginReference("org.eclipse.core.resources", null, 0); //$NON-NLS-1$
-			dep[2] = new PluginReference("org.eclipse.ui", null, 0); //$NON-NLS-1$
-			dep[3] = new PluginReference("org.eclipse.ui.editors", null, 0); //$NON-NLS-1$
-			dep[4] = new PluginReference("org.eclipse.ui.ide", null, 0); //$NON-NLS-1$
-			dep[5] = new PluginReference("org.eclipse.core.runtime", null, 0); //$NON-NLS-1$
-			return dep;
-		}
-		return super.getDependencies(schemaVersion);
-	}
-
-	/*
-	 * @see ITemplateSection#getNumberOfWorkUnits()
-	 */
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	private void createOptions() {
-		// first page	
-		addOption(KEY_PACKAGE_NAME, PDETemplateMessages.MultiPageEditorTemplate_packageName, (String) null, 0);
-		addOption("editorClassName", //$NON-NLS-1$
-				PDETemplateMessages.MultiPageEditorTemplate_className, "MultiPageEditor", //$NON-NLS-1$
-				0);
-		addOption("contributorClassName", //$NON-NLS-1$
-				PDETemplateMessages.MultiPageEditorTemplate_contributor, "MultiPageEditorContributor", //$NON-NLS-1$
-				0);
-		addOption("editorName", //$NON-NLS-1$
-				PDETemplateMessages.MultiPageEditorTemplate_editorName, PDETemplateMessages.MultiPageEditorTemplate_defaultEditorName, 0);
-		addOption("extensions", //$NON-NLS-1$
-				PDETemplateMessages.MultiPageEditorTemplate_extensions, "mpe", //$NON-NLS-1$
-				0);
-	}
-
-	protected void initializeFields(IFieldData data) {
-		// In a new project wizard, we don't know this yet - the
-		// model has not been created
-		String id = data.getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(id));
-	}
-
-	public void initializeFields(IPluginModelBase model) {
-		// In the new extension wizard, the model exists so 
-		// we can initialize directly from it
-		String pluginId = model.getPluginBase().getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(pluginId));
-	}
-
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0, IHelpContextIds.TEMPLATE_MULTIPAGE_EDITOR);
-		page.setTitle(PDETemplateMessages.MultiPageEditorTemplate_title);
-		page.setDescription(PDETemplateMessages.MultiPageEditorTemplate_desc);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	public void validateOptions(TemplateOption source) {
-		if (source.isRequired() && source.isEmpty()) {
-			flagMissingRequiredOption(source);
-		} else {
-			validateContainerPage(source);
-		}
-	}
-
-	private void validateContainerPage(TemplateOption source) {
-		TemplateOption[] allPageOptions = getOptions(0);
-		for (int i = 0; i < allPageOptions.length; i++) {
-			TemplateOption nextOption = allPageOptions[i];
-			if (nextOption.isRequired() && nextOption.isEmpty()) {
-				flagMissingRequiredOption(nextOption);
-				return;
-			}
-		}
-		resetPageState();
-	}
-
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-		IPluginExtension extension = createExtension("org.eclipse.ui.editors", true); //$NON-NLS-1$
-		IPluginModelFactory factory = model.getPluginFactory();
-
-		String editorClassName = getStringOption(KEY_PACKAGE_NAME) + "." + getStringOption("editorClassName"); //$NON-NLS-1$ //$NON-NLS-2$
-		String contributorClassName = getStringOption(KEY_PACKAGE_NAME) + "." //$NON-NLS-1$
-				+ getStringOption("contributorClassName"); //$NON-NLS-1$
-
-		IPluginElement editorElement = factory.createElement(extension);
-		editorElement.setName("editor"); //$NON-NLS-1$
-		editorElement.setAttribute("id", editorClassName); //$NON-NLS-1$
-		editorElement.setAttribute("name", getStringOption("editorName")); //$NON-NLS-1$ //$NON-NLS-2$
-		editorElement.setAttribute("icon", "icons/sample.gif"); //$NON-NLS-1$ //$NON-NLS-2$
-		editorElement.setAttribute("extensions", getStringOption("extensions")); //$NON-NLS-1$ //$NON-NLS-2$
-
-		editorElement.setAttribute("class", editorClassName); //$NON-NLS-1$
-		editorElement.setAttribute("contributorClass", contributorClassName); //$NON-NLS-1$
-		extension.add(editorElement);
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#formatPackageName(java.lang.String)
-	 */
-	protected String getFormattedPackageName(String id) {
-		String packageName = super.getFormattedPackageName(id);
-		if (packageName.length() != 0)
-			return packageName + ".editors"; //$NON-NLS-1$
-		return "editors"; //$NON-NLS-1$
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/NewWizardTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/NewWizardTemplate.java
deleted file mode 100644
index bd06aa6..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/NewWizardTemplate.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginAttribute;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.IPluginModelFactory;
-import org.eclipse.pde.core.plugin.IPluginObject;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.IHelpContextIds;
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.internal.ui.templates.PDETemplateSection;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.PluginReference;
-
-public class NewWizardTemplate extends PDETemplateSection {
-	public NewWizardTemplate() {
-		setPageCount(1);
-		createOptions();
-	}
-
-	public String getSectionId() {
-		return "newWizard"; //$NON-NLS-1$
-	}
-
-	/*
-	 * @see ITemplateSection#getNumberOfWorkUnits()
-	 */
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	private void createOptions() {
-		// first page
-		addOption(KEY_PACKAGE_NAME, PDETemplateMessages.NewWizardTemplate_packageName, (String) null, 0);
-		addOption("categoryId", PDETemplateMessages.NewWizardTemplate_categoryId, (String) null, 0); //$NON-NLS-1$
-		addOption("categoryName", PDETemplateMessages.NewWizardTemplate_categoryName, "Sample Wizards", 0); //$NON-NLS-1$ //$NON-NLS-2$
-		addOption("wizardClassName", PDETemplateMessages.NewWizardTemplate_className, "SampleNewWizard", 0); //$NON-NLS-1$ //$NON-NLS-2$
-		addOption("wizardPageClassName", PDETemplateMessages.NewWizardTemplate_pageClassName, "SampleNewWizardPage", 0); //$NON-NLS-1$ //$NON-NLS-2$
-		addOption("wizardName", PDETemplateMessages.NewWizardTemplate_wizardName, PDETemplateMessages.NewWizardTemplate_defaultName, 0); //$NON-NLS-1$
-		addOption("extension", PDETemplateMessages.NewWizardTemplate_extension, "mpe", 0); //$NON-NLS-1$ //$NON-NLS-2$
-		addOption("initialFileName", PDETemplateMessages.NewWizardTemplate_fileName, "new_file.mpe", 0); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	protected void initializeFields(IFieldData data) {
-		// In a new project wizard, we don't know this yet - the
-		// model has not been created
-		String id = data.getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(id));
-		initializeOption("categoryId", id); //$NON-NLS-1$
-	}
-
-	public void initializeFields(IPluginModelBase model) {
-		// In the new extension wizard, the model exists so 
-		// we can initialize directly from it
-		String pluginId = model.getPluginBase().getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(pluginId));
-		initializeOption("categoryId", pluginId); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getDependencies(java.lang.String)
-	 */
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		ArrayList result = new ArrayList();
-		result.add(new PluginReference("org.eclipse.core.resources", null, 0)); //$NON-NLS-1$
-		result.add(new PluginReference("org.eclipse.ui", null, 0)); //$NON-NLS-1$
-		if (schemaVersion != null) {
-			result.add(new PluginReference("org.eclipse.ui.ide", null, 0)); //$NON-NLS-1$
-			result.add(new PluginReference("org.eclipse.core.runtime", null, 0)); //$NON-NLS-1$
-		}
-		return (IPluginReference[]) result.toArray(new IPluginReference[result.size()]);
-	}
-
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0, IHelpContextIds.TEMPLATE_NEW_WIZARD);
-		page.setTitle(PDETemplateMessages.NewWizardTemplate_title);
-		page.setDescription(PDETemplateMessages.NewWizardTemplate_desc);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	public String getUsedExtensionPoint() {
-		return "org.eclipse.ui.newWizards"; //$NON-NLS-1$
-	}
-
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-		IPluginExtension extension = createExtension("org.eclipse.ui.newWizards", true); //$NON-NLS-1$
-		IPluginModelFactory factory = model.getPluginFactory();
-
-		String cid = getStringOption("categoryId"); //$NON-NLS-1$
-
-		createCategory(extension, cid);
-		String fullClassName = getStringOption(KEY_PACKAGE_NAME) + "." + getStringOption("wizardClassName"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		IPluginElement viewElement = factory.createElement(extension);
-		viewElement.setName("wizard"); //$NON-NLS-1$
-		viewElement.setAttribute("id", fullClassName); //$NON-NLS-1$
-		viewElement.setAttribute("name", getStringOption("wizardName")); //$NON-NLS-1$ //$NON-NLS-2$
-		viewElement.setAttribute("icon", "icons/sample.gif"); //$NON-NLS-1$ //$NON-NLS-2$
-		viewElement.setAttribute("class", fullClassName); //$NON-NLS-1$
-		viewElement.setAttribute("category", cid); //$NON-NLS-1$
-		extension.add(viewElement);
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	private void createCategory(IPluginExtension extension, String id) throws CoreException {
-		IPluginObject[] elements = extension.getChildren();
-		for (int i = 0; i < elements.length; i++) {
-			IPluginElement element = (IPluginElement) elements[i];
-			if (element.getName().equalsIgnoreCase("category")) { //$NON-NLS-1$
-				IPluginAttribute att = element.getAttribute("id"); //$NON-NLS-1$
-				if (att != null) {
-					String cid = att.getValue();
-					if (cid != null && cid.equals(id))
-						return;
-				}
-			}
-		}
-		IPluginElement categoryElement = model.getFactory().createElement(extension);
-		categoryElement.setName("category"); //$NON-NLS-1$
-		categoryElement.setAttribute("name", getStringOption("categoryName")); //$NON-NLS-1$ //$NON-NLS-2$
-		categoryElement.setAttribute("id", id); //$NON-NLS-1$
-		extension.add(categoryElement);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#getFoldersToInclude()
-	 */
-	public String[] getNewFiles() {
-		return new String[] {"icons/"}; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#formatPackageName(java.lang.String)
-	 */
-	protected String getFormattedPackageName(String id) {
-		String packageName = super.getFormattedPackageName(id);
-		if (packageName.length() != 0)
-			return packageName + ".wizards"; //$NON-NLS-1$
-		return "wizards"; //$NON-NLS-1$
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PerspectiveTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PerspectiveTemplate.java
deleted file mode 100644
index 8774edd..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PerspectiveTemplate.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.IPluginModelFactory;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.IHelpContextIds;
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.internal.ui.templates.PDETemplateSection;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.PluginReference;
-
-public class PerspectiveTemplate extends PDETemplateSection {
-	public static final String PERSPECTIVE_CLASS_NAME = "perspectiveClassName"; //$NON-NLS-1$
-	public static final String PERSPECTIVE_NAME = "perspectiveCategoryName"; //$NON-NLS-1$
-
-	public static final String BLN_PERSPECTIVE_SHORTS = "perspectiveShortcuts"; //$NON-NLS-1$
-	public static final String BLN_NEW_WIZARD_SHORTS = "newWizardShortcuts"; //$NON-NLS-1$
-	public static final String BLN_SHOW_VIEW_SHORTS = "showViewShortcuts"; //$NON-NLS-1$
-	public static final String BLN_ACTION_SETS = "actionSets"; //$NON-NLS-1$
-
-	private WizardPage page;
-
-	/**
-	 * Constructor for PerspectiveTemplate.
-	 */
-	public PerspectiveTemplate() {
-		setPageCount(1);
-		createOptions();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getDependencies(java.lang.String)
-	 */
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		// Additional dependencies required
-		if (schemaVersion != null) {
-			IPluginReference[] dep = new IPluginReference[2];
-			dep[0] = new PluginReference("org.eclipse.ui.console", null, 0); //$NON-NLS-1$
-			dep[1] = new PluginReference("org.eclipse.jdt.ui", null, 0); //$NON-NLS-1$
-			return dep;
-		}
-		return super.getDependencies(schemaVersion);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.OptionTemplateSection#getSectionId()
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#getDirectoryCandidates()
-	 */
-	public String getSectionId() {
-		return "perspective"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getNumberOfWorkUnits()
-	 */
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	/**
-	 * Creates the options to be displayed on the template wizard.
-	 * Various string options, blank fields and a multiple choice 
-	 * option are used.
-	 */
-	private void createOptions() {
-		addOption(KEY_PACKAGE_NAME, PDETemplateMessages.PerspectiveTemplate_packageName, (String) null, 0);
-		addOption(PERSPECTIVE_CLASS_NAME, PDETemplateMessages.PerspectiveTemplate_perspectiveClass, PDETemplateMessages.PerspectiveTemplate_perspectiveClassName, 0);
-		addOption(PERSPECTIVE_NAME, PDETemplateMessages.PerspectiveTemplate_perspective, PDETemplateMessages.PerspectiveTemplate_perspectiveName, 0);
-
-		addBlankField(0);
-
-		addOption(BLN_PERSPECTIVE_SHORTS, PDETemplateMessages.PerspectiveTemplate_perspectiveShortcuts, true, 0);
-		addOption(BLN_SHOW_VIEW_SHORTS, PDETemplateMessages.PerspectiveTemplate_showViewShortcuts, true, 0);
-		addOption(BLN_NEW_WIZARD_SHORTS, PDETemplateMessages.PerspectiveTemplate_newWizardShortcuts, true, 0);
-		addOption(BLN_ACTION_SETS, PDETemplateMessages.PerspectiveTemplate_actionSets, true, 0);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#addPages(org.eclipse.jface.wizard.Wizard)
-	 */
-	public void addPages(Wizard wizard) {
-		int pageIndex = 0;
-
-		page = createPage(pageIndex, IHelpContextIds.TEMPLATE_EDITOR);
-		page.setTitle(PDETemplateMessages.PerspectiveTemplate_title);
-		page.setDescription(PDETemplateMessages.PerspectiveTemplate_desc);
-
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#isDependentOnParentWizard()
-	 */
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#initializeFields(org.eclipse.pde.ui.IFieldData)
-	 */
-	protected void initializeFields(IFieldData data) {
-		// In a new project wizard, we don't know this yet - the
-		// model has not been created
-		String id = data.getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(id));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#initializeFields(org.eclipse.pde.core.plugin.IPluginModelBase)
-	 */
-	public void initializeFields(IPluginModelBase model) {
-		// In the new extension wizard, the model exists so 
-		// we can initialize directly from it
-		String pluginId = model.getPluginBase().getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(pluginId));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#updateModel(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-		// This method creates the extension point structure through the use
-		// of IPluginElement objects. The element attributes are set based on
-		// user input from the wizard page as well as values required for the 
-		// operation of the extension point.
-		IPluginBase plugin = model.getPluginBase();
-		IPluginExtension extension = createExtension(getUsedExtensionPoint(), true);
-		IPluginModelFactory factory = model.getPluginFactory();
-
-		IPluginElement perspectiveElement = factory.createElement(extension);
-		perspectiveElement.setName("perspective"); //$NON-NLS-1$
-		perspectiveElement.setAttribute("id", getStringOption(KEY_PACKAGE_NAME) + "." + getStringOption(PERSPECTIVE_CLASS_NAME)); //$NON-NLS-1$ //$NON-NLS-2$
-		perspectiveElement.setAttribute("name", getStringOption(PERSPECTIVE_NAME)); //$NON-NLS-1$
-		perspectiveElement.setAttribute("class", getStringOption(KEY_PACKAGE_NAME) + "." + getStringOption(PERSPECTIVE_CLASS_NAME)); //$NON-NLS-1$ //$NON-NLS-2$
-		perspectiveElement.setAttribute("icon", "icons/releng_gears.gif"); //$NON-NLS-1$ //$NON-NLS-2$ $NON-NLS-2$
-
-		extension.add(perspectiveElement);
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#getNewFiles()
-	 */
-	public String[] getNewFiles() {
-		return new String[] {"icons/"}; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#getFormattedPackageName(java.lang.String)
-	 */
-	protected String getFormattedPackageName(String id) {
-		// Package name addition to create a location for containing
-		// any classes required by the decorator. 
-		String packageName = super.getFormattedPackageName(id);
-		if (packageName.length() != 0)
-			return packageName + ".perspectives"; //$NON-NLS-1$
-		return "perspectives"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.ITemplateSection#getUsedExtensionPoint()
-	 */
-	public String getUsedExtensionPoint() {
-		return "org.eclipse.ui.perspectives"; //$NON-NLS-1$
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PopupMenuNewWizard.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PopupMenuNewWizard.java
deleted file mode 100644
index f6cd2b6..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PopupMenuNewWizard.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;
-
-public class PopupMenuNewWizard extends NewPluginTemplateWizard {
-	/**
-	 * Constructor for PerspectiveExtensionsNewWizard.
-	 */
-	public PopupMenuNewWizard() {
-		super();
-	}
-
-	public void init(IFieldData data) {
-		super.init(data);
-		setWindowTitle(PDETemplateMessages.PopupMenuNewWizard_wtitle);
-	}
-
-	/**
-	 * @see NewPluginTemplateWizard#createTemplateSections()
-	 */
-	public ITemplateSection[] createTemplateSections() {
-		return new ITemplateSection[] {new PopupMenuTemplate()};
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PopupMenuTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PopupMenuTemplate.java
deleted file mode 100644
index 5f81027..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PopupMenuTemplate.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.IPluginModelFactory;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.IHelpContextIds;
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.internal.ui.templates.PDETemplateSection;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.AbstractTemplateSection;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.PluginReference;
-
-public class PopupMenuTemplate extends PDETemplateSection {
-
-	public static final String KEY_TARGET_OBJECT = "objectClass"; //$NON-NLS-1$
-	public static final String KEY_SUBMENU_LABEL = "subMenuLabel"; //$NON-NLS-1$
-	public static final String KEY_ACTION_LABEL = "actionLabel"; //$NON-NLS-1$
-	public static final String KEY_ACTION_CLASS = "actionClass"; //$NON-NLS-1$
-	public static final String KEY_SELECTION = "selection"; //$NON-NLS-1$
-
-	/**
-	 * Constructor for PropertyPageTemplate.
-	 */
-	public PopupMenuTemplate() {
-		setPageCount(1);
-		createOptions();
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0, IHelpContextIds.TEMPLATE_POPUP_MENU);
-		page.setTitle(PDETemplateMessages.PopupMenuTemplate_title);
-		page.setDescription(PDETemplateMessages.PopupMenuTemplate_desc);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	private void createOptions() {
-		addOption(KEY_TARGET_OBJECT, PDETemplateMessages.PopupMenuTemplate_targetClass, "org.eclipse.core.resources.IFile", //$NON-NLS-1$
-				0);
-		addOption(KEY_SUBMENU_LABEL, PDETemplateMessages.PopupMenuTemplate_submenuName, PDETemplateMessages.PopupMenuTemplate_defaultSubmenuName, 0);
-		addOption(KEY_ACTION_LABEL, PDETemplateMessages.PopupMenuTemplate_actionLabel, PDETemplateMessages.PopupMenuTemplate_defaultActionName, 0);
-		addOption(KEY_PACKAGE_NAME, PDETemplateMessages.PopupMenuTemplate_packageName, (String) null, 0);
-		addOption(KEY_ACTION_CLASS, PDETemplateMessages.PopupMenuTemplate_actionClass, PDETemplateMessages.PopupMenuTemplate_newAction, 0);
-		addOption(KEY_SELECTION, PDETemplateMessages.PopupMenuTemplate_enabledFor, new String[][] { {"singleSelection", PDETemplateMessages.PopupMenuTemplate_singleSelection}, //$NON-NLS-1$
-				{"multipleSelection", PDETemplateMessages.PopupMenuTemplate_multipleSelection //$NON-NLS-1$
-				}}, "singleSelection", 0); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see PDETemplateSection#getSectionId()
-	 */
-	public String getSectionId() {
-		return "popupMenus"; //$NON-NLS-1$
-	}
-
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	protected void initializeFields(IFieldData data) {
-		// In a new project wizard, we don't know this yet - the
-		// model has not been created
-		String id = data.getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(id));
-	}
-
-	public void initializeFields(IPluginModelBase model) {
-		// In the new extension wizard, the model exists so 
-		// we can initialize directly from it
-		String pluginId = model.getPluginBase().getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(pluginId));
-	}
-
-	/**
-	 * @see AbstractTemplateSection#updateModel(IProgressMonitor)
-	 */
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-		IPluginExtension extension = createExtension(getUsedExtensionPoint(), true);
-		IPluginModelFactory factory = model.getPluginFactory();
-
-		IPluginElement objectContributionElement = factory.createElement(extension);
-		objectContributionElement.setName("objectContribution"); //$NON-NLS-1$
-		objectContributionElement.setAttribute("objectClass", //$NON-NLS-1$
-				getStringOption(KEY_TARGET_OBJECT));
-		objectContributionElement.setAttribute("id", //$NON-NLS-1$
-				model.getPluginBase().getId() + ".contribution1"); //$NON-NLS-1$
-
-		IPluginElement menuElement = factory.createElement(objectContributionElement);
-		menuElement.setName("menu"); //$NON-NLS-1$
-		menuElement.setAttribute("label", getStringOption(KEY_SUBMENU_LABEL)); //$NON-NLS-1$
-		menuElement.setAttribute("path", "additions"); //$NON-NLS-1$ //$NON-NLS-2$
-		menuElement.setAttribute("id", model.getPluginBase().getId() + ".menu1"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		IPluginElement separatorElement = factory.createElement(menuElement);
-		separatorElement.setName("separator"); //$NON-NLS-1$
-		separatorElement.setAttribute("name", "group1"); //$NON-NLS-1$ //$NON-NLS-2$
-		menuElement.add(separatorElement);
-		objectContributionElement.add(menuElement);
-
-		IPluginElement actionElement = factory.createElement(objectContributionElement);
-		actionElement.setName("action"); //$NON-NLS-1$
-		actionElement.setAttribute("label", getStringOption(KEY_ACTION_LABEL)); //$NON-NLS-1$
-		actionElement.setAttribute("class", //$NON-NLS-1$
-				getStringOption(KEY_PACKAGE_NAME) + "." + getStringOption(KEY_ACTION_CLASS)); //$NON-NLS-1$
-		actionElement.setAttribute("menubarPath", //$NON-NLS-1$
-				model.getPluginBase().getId() + ".menu1/group1"); //$NON-NLS-1$
-		actionElement.setAttribute("enablesFor", //$NON-NLS-1$
-				getValue(KEY_SELECTION).toString().equals("singleSelection") //$NON-NLS-1$
-				? "1" //$NON-NLS-1$
-						: "multiple"); //$NON-NLS-1$
-		actionElement.setAttribute("id", model.getPluginBase().getId() + ".newAction"); //$NON-NLS-1$ //$NON-NLS-2$
-		objectContributionElement.add(actionElement);
-
-		extension.add(objectContributionElement);
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	/**
-	 * @see ITemplateSection#getUsedExtensionPoint()
-	 */
-	public String getUsedExtensionPoint() {
-		return "org.eclipse.ui.popupMenus"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#formatPackageName(java.lang.String)
-	 */
-	protected String getFormattedPackageName(String id) {
-		String packageName = super.getFormattedPackageName(id);
-		if (packageName.length() != 0)
-			return packageName + ".popup.actions"; //$NON-NLS-1$
-		return "popup.actions"; //$NON-NLS-1$
-	}
-
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		IPluginReference[] result = new IPluginReference[2];
-		result[0] = new PluginReference("org.eclipse.ui", null, 0); //$NON-NLS-1$
-		result[1] = new PluginReference("org.eclipse.core.resources", null, 0); //$NON-NLS-1$
-		return result;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PreferencePageTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PreferencePageTemplate.java
deleted file mode 100644
index 047f749..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PreferencePageTemplate.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.IPluginModelFactory;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.IHelpContextIds;
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.internal.ui.templates.PDETemplateSection;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.PluginReference;
-
-public class PreferencePageTemplate extends PDETemplateSection {
-	private static final String KEY_PAGE_NAME = "pageName"; //$NON-NLS-1$
-	private static final String KEY_PAGE_CLASS_NAME = "pageClassName"; //$NON-NLS-1$
-
-	public PreferencePageTemplate() {
-		setPageCount(1);
-		createOptions();
-	}
-
-	public String getSectionId() {
-		return "preferences"; //$NON-NLS-1$
-	}
-
-	/*
-	 * @see ITemplateSection#getNumberOfWorkUnits()
-	 */
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	private void createOptions() {
-		// first page
-		addOption(KEY_PACKAGE_NAME, PDETemplateMessages.PreferencePageTemplate_packageName, (String) null, 0);
-		addOption(KEY_PAGE_CLASS_NAME, PDETemplateMessages.PreferencePageTemplate_className, "SamplePreferencePage", //$NON-NLS-1$
-				0);
-		addOption(KEY_PAGE_NAME, PDETemplateMessages.PreferencePageTemplate_pageName, PDETemplateMessages.PreferencePageTemplate_defaultPageName, 0);
-	}
-
-	protected void initializeFields(IFieldData data) {
-		// In a new project wizard, we don't know this yet - the
-		// model has not been created
-		String id = data.getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(id));
-	}
-
-	public void initializeFields(IPluginModelBase model) {
-		// In the new extension wizard, the model exists so 
-		// we can initialize directly from it
-		String pluginId = model.getPluginBase().getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(pluginId));
-	}
-
-	protected String getTemplateDirectory() {
-		String schemaVersion = model.getPluginBase().getSchemaVersion();
-		return "templates_" + schemaVersion == null ? "3.0" : schemaVersion; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getDependencies(java.lang.String)
-	 */
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		if (schemaVersion == null)
-			return super.getDependencies(schemaVersion);
-		PluginReference[] deps = new PluginReference[2];
-		deps[0] = new PluginReference("org.eclipse.core.runtime", null, 0); //$NON-NLS-1$
-		deps[1] = new PluginReference("org.eclipse.ui", null, 0); //$NON-NLS-1$
-		return deps;
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0, IHelpContextIds.TEMPLATE_PREFERENCE_PAGE);
-		page.setTitle(PDETemplateMessages.PreferencePageTemplate_title);
-		page.setDescription(PDETemplateMessages.PreferencePageTemplate_desc);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	public String getUsedExtensionPoint() {
-		return "org.eclipse.ui.preferencePages"; //$NON-NLS-1$
-	}
-
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-		IPluginExtension extension = createExtension(getUsedExtensionPoint(), true);
-		IPluginModelFactory factory = model.getPluginFactory();
-
-		String fullClassName = getStringOption(KEY_PACKAGE_NAME) + "." + getStringOption(KEY_PAGE_CLASS_NAME); //$NON-NLS-1$
-
-		IPluginElement pageElement = factory.createElement(extension);
-		pageElement.setName("page"); //$NON-NLS-1$
-		pageElement.setAttribute("id", fullClassName); //$NON-NLS-1$
-		pageElement.setAttribute("name", getStringOption(KEY_PAGE_NAME)); //$NON-NLS-1$
-		pageElement.setAttribute("class", fullClassName); //$NON-NLS-1$
-		extension.add(pageElement);
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-
-		IPluginExtension extension2 = createExtension("org.eclipse.core.runtime.preferences", true); //$NON-NLS-1$
-		IPluginElement prefElement = factory.createElement(extension);
-		prefElement.setName("initializer"); //$NON-NLS-1$
-		prefElement.setAttribute("class", getStringOption(KEY_PACKAGE_NAME) + ".PreferenceInitializer"); //$NON-NLS-1$ //$NON-NLS-2$
-		extension2.add(prefElement);
-		if (!extension2.isInTheModel())
-			plugin.add(extension2);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#formatPackageName(java.lang.String)
-	 */
-	protected String getFormattedPackageName(String id) {
-		String packageName = super.getFormattedPackageName(id);
-		if (packageName.length() != 0)
-			return packageName + ".preferences"; //$NON-NLS-1$
-		return "preferences"; //$NON-NLS-1$
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PropertyPageNewWizard.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PropertyPageNewWizard.java
deleted file mode 100644
index 2b6bb28..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PropertyPageNewWizard.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;
-
-public class PropertyPageNewWizard extends NewPluginTemplateWizard {
-	/**
-	 * Constructor for PropertyPageNewWizard.
-	 */
-	public PropertyPageNewWizard() {
-		super();
-	}
-
-	public void init(IFieldData data) {
-		super.init(data);
-		setWindowTitle(PDETemplateMessages.PropertyPageNewWizard_wtitle);
-	}
-
-	/**
-	 * @see NewPluginTemplateWizard#createTemplateSections()
-	 */
-	public ITemplateSection[] createTemplateSections() {
-		return new ITemplateSection[] {new PropertyPageTemplate()};
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PropertyPageTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PropertyPageTemplate.java
deleted file mode 100644
index 8450267..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/PropertyPageTemplate.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.IPluginModelFactory;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.IHelpContextIds;
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.internal.ui.templates.PDETemplateSection;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.AbstractTemplateSection;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.PluginReference;
-
-public class PropertyPageTemplate extends PDETemplateSection {
-	public static final String KEY_CLASSNAME = "className"; //$NON-NLS-1$
-	public static final String KEY_PAGE_NAME = "pageName"; //$NON-NLS-1$
-	public static final String KEY_TARGET_CLASS = "targetClass"; //$NON-NLS-1$
-	public static final String KEY_NAME_FILTER = "nameFilter"; //$NON-NLS-1$
-
-	/**
-	 * Constructor for PropertyPageTemplate.
-	 */
-	public PropertyPageTemplate() {
-		setPageCount(1);
-		createOptions();
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0, IHelpContextIds.TEMPLATE_PROPERTY_PAGE);
-		page.setTitle(PDETemplateMessages.PropertyPageTemplate_title);
-		page.setDescription(PDETemplateMessages.PropertyPageTemplate_desc);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	private void createOptions() {
-		addOption(KEY_PACKAGE_NAME, PDETemplateMessages.PropertyPageTemplate_packageName, (String) null, 0);
-		addOption(KEY_CLASSNAME, PDETemplateMessages.PropertyPageTemplate_pageClass, "SamplePropertyPage", //$NON-NLS-1$
-				0);
-		addOption(KEY_PAGE_NAME, PDETemplateMessages.PropertyPageTemplate_pageName, PDETemplateMessages.PropertyPageTemplate_defaultPageName, 0);
-		addOption(KEY_TARGET_CLASS, PDETemplateMessages.PropertyPageTemplate_targetClass, "org.eclipse.core.resources.IFile", //$NON-NLS-1$
-				0);
-		addOption(KEY_NAME_FILTER, PDETemplateMessages.PropertyPageTemplate_nameFilter, "*.*", //$NON-NLS-1$
-				0);
-	}
-
-	/**
-	 * @see PDETemplateSection#getSectionId()
-	 */
-	public String getSectionId() {
-		return "propertyPages"; //$NON-NLS-1$
-	}
-
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	protected void initializeFields(IFieldData data) {
-		// In a new project wizard, we don't know this yet - the
-		// model has not been created
-		String id = data.getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(id));
-	}
-
-	public void initializeFields(IPluginModelBase model) {
-		// In the new extension wizard, the model exists so 
-		// we can initialize directly from it
-		String pluginId = model.getPluginBase().getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(pluginId));
-	}
-
-	/**
-	 * @see AbstractTemplateSection#updateModel(IProgressMonitor)
-	 */
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-		IPluginExtension extension = createExtension(getUsedExtensionPoint(), true);
-		IPluginModelFactory factory = model.getPluginFactory();
-
-		IPluginElement pageElement = factory.createElement(extension);
-		pageElement.setName("page"); //$NON-NLS-1$
-		pageElement.setAttribute("id", //$NON-NLS-1$
-				getStringOption(KEY_PACKAGE_NAME) + ".samplePropertyPage"); //$NON-NLS-1$
-		pageElement.setAttribute("name", getStringOption(KEY_PAGE_NAME)); //$NON-NLS-1$
-		pageElement.setAttribute("objectClass", getStringOption(KEY_TARGET_CLASS)); //$NON-NLS-1$
-		pageElement.setAttribute("class", //$NON-NLS-1$
-				getStringOption(KEY_PACKAGE_NAME) + "." + getStringOption(KEY_CLASSNAME)); //$NON-NLS-1$
-		pageElement.setAttribute("nameFilter", getStringOption(KEY_NAME_FILTER)); //$NON-NLS-1$
-
-		extension.add(pageElement);
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	/**
-	 * @see ITemplateSection#getUsedExtensionPoint()
-	 */
-	public String getUsedExtensionPoint() {
-		return "org.eclipse.ui.propertyPages"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getDependencies(java.lang.String)
-	 */
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		ArrayList result = new ArrayList();
-		result.add(new PluginReference("org.eclipse.core.resources", null, 0)); //$NON-NLS-1$
-		if (schemaVersion != null)
-			result.add(new PluginReference("org.eclipse.core.runtime", null, 0)); //$NON-NLS-1$
-		result.add(new PluginReference("org.eclipse.ui", null, 0)); //$NON-NLS-1$
-
-		return (IPluginReference[]) result.toArray(new IPluginReference[result.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#formatPackageName(java.lang.String)
-	 */
-	protected String getFormattedPackageName(String id) {
-		String packageName = super.getFormattedPackageName(id);
-		if (packageName.length() != 0)
-			return packageName + ".properties"; //$NON-NLS-1$
-		return "properties"; //$NON-NLS-1$
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/SplashHandlersTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/SplashHandlersTemplate.java
deleted file mode 100644
index ee6f140..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/SplashHandlersTemplate.java
+++ /dev/null
@@ -1,383 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import java.io.File;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.*;
-import org.eclipse.pde.internal.ui.templates.*;
-import org.eclipse.pde.internal.ui.wizards.product.ISplashHandlerConstants;
-import org.eclipse.pde.internal.ui.wizards.product.UpdateSplashHandlerAction;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.*;
-
-/**
- * SplashHandlersTemplate
- *
- */
-public class SplashHandlersTemplate extends PDETemplateSection {
-
-	private final static int F_PAGE_INDEX = 0;
-
-	private final static String F_DEFAULT_PRODUCT = "org.eclipse.sdk.ide"; //$NON-NLS-1$
-
-	private final static String F_FIELD_TEMPLATE = "fieldTemplate"; //$NON-NLS-1$
-
-	private final static String F_FIELD_PRODUCTS = "fieldProducts"; //$NON-NLS-1$
-
-	private final static String F_FIELD_CLASS = "fieldClass"; //$NON-NLS-1$
-
-	private final static String F_FIELD_SPLASH = "fieldSplash"; //$NON-NLS-1$
-
-	private final static String F_SPLASH_SCREEN_FILE = "splash.bmp"; //$NON-NLS-1$
-
-	private WizardPage fPage;
-
-	private TemplateOption fFieldTemplate;
-
-	private ComboChoiceOption fFieldProducts;
-
-	private TemplateOption fFieldPackage;
-
-	private StringOption fFieldClass;
-
-	private TemplateOption fFieldSplash;
-
-	/**
-	 * 
-	 */
-	public SplashHandlersTemplate() {
-		initialize();
-	}
-
-	/**
-	 * 
-	 */
-	private void initialize() {
-		// Default field values
-		fFieldTemplate = null;
-		fFieldProducts = null;
-		fFieldPackage = null;
-		fFieldClass = null;
-		fFieldSplash = null;
-		// One wizard page
-		setPageCount(1);
-		// GUI
-		createUI();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#addPages(org.eclipse.jface.wizard.Wizard)
-	 */
-	public void addPages(Wizard wizard) {
-		// Create the page
-		fPage = createPage(0, IHelpContextIds.TEMPLATE_SPLASH_HANDLERS);
-		fPage.setTitle(PDETemplateMessages.SplashHandlersTemplate_titleSplashHandlerOptions);
-		fPage.setDescription(PDETemplateMessages.SplashHandlersTemplate_descSplashHandlerOptions);
-		// Add the page
-		wizard.addPage(fPage);
-		// Mark as added
-		markPagesAdded();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.templates.PDETemplateSection#getFormattedPackageName(java.lang.String)
-	 */
-	protected String getFormattedPackageName(String id) {
-		// Package name addition to create a location for containing
-		// any classes required by the splash handlers. 
-		String packageName = super.getFormattedPackageName(id);
-		// Unqualifed
-		if (packageName.length() == 0) {
-			return ISplashHandlerConstants.F_UNQUALIFIED_EXTENSION_ID;
-		}
-		// Qualified
-		return packageName + '.' + ISplashHandlerConstants.F_UNQUALIFIED_EXTENSION_ID;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.templates.PDETemplateSection#getNewFiles()
-	 */
-	public String[] getNewFiles() {
-		// Note:  This does not even get called for non-project templates
-		// As a result, listed files are not added to the binary build 
-		// section
-		if (isSplashFieldSelected()) {
-			return new String[] {F_SPLASH_SCREEN_FILE};
-		}
-		// TODO: MP: SPLASH: Investigate if this is necessary, does not get called for non-project templates
-		return super.getNewFiles();
-	}
-
-	private boolean isSplashFieldSelected() {
-		if ((Boolean) fFieldSplash.getValue() == Boolean.TRUE) {
-			return true;
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getNumberOfWorkUnits()
-	 */
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#initializeFields(org.eclipse.pde.ui.IFieldData)
-	 */
-	protected void initializeFields(IFieldData data) {
-		String id = data.getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(id));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#initializeFields(org.eclipse.pde.core.plugin.IPluginModelBase)
-	 */
-	public void initializeFields(IPluginModelBase model) {
-		String pluginId = model.getPluginBase().getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(pluginId));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#isDependentOnParentWizard()
-	 */
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.OptionTemplateSection#validateOptions(org.eclipse.pde.ui.templates.TemplateOption)
-	 */
-	public void validateOptions(TemplateOption source) {
-		// Update class name
-		if (source == fFieldTemplate) {
-			updateUIFieldClass();
-		}
-		super.validateOptions(source);
-	}
-
-	/**
-	 * 
-	 */
-	private void updateUIFieldClass() {
-		// Update the class name depending on the splash screen type
-		for (int i = 0; i < ISplashHandlerConstants.F_SPLASH_SCREEN_TYPE_CHOICES.length; i++) {
-			String choice = ISplashHandlerConstants.F_SPLASH_SCREEN_TYPE_CHOICES[i][0];
-			if (fFieldTemplate.getValue().equals(choice)) {
-				fFieldClass.setValue(ISplashHandlerConstants.F_SPLASH_SCREEN_CLASSES[i]);
-				break;
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private void createUI() {
-		// Field:  template
-		createUIFieldTemplate();
-		// Field:  product ID
-		createUIFieldProductID();
-		// Field:  package
-		createUIFieldPackage();
-		// Field:  class
-		createUIFieldClass();
-		// Field:  splash
-		createUIFieldSplash();
-	}
-
-	/**
-	 * 
-	 */
-	private void createUIFieldSplash() {
-		fFieldSplash = addOption(F_FIELD_SPLASH, PDETemplateMessages.SplashHandlersTemplate_fieldAddSplash, false, F_PAGE_INDEX);
-	}
-
-	/**
-	 * 
-	 */
-	private void createUIFieldClass() {
-		fFieldClass = (StringOption) addOption(F_FIELD_CLASS, PDETemplateMessages.SplashHandlersTemplate_fieldClassName, ISplashHandlerConstants.F_SPLASH_SCREEN_CLASSES[0], F_PAGE_INDEX);
-		fFieldClass.setReadOnly(true);
-	}
-
-	/**
-	 * 
-	 */
-	private void createUIFieldPackage() {
-		fFieldPackage = addOption(KEY_PACKAGE_NAME, PDETemplateMessages.SplashHandlersTemplate_fieldJavaPackage, null, F_PAGE_INDEX);
-	}
-
-	/**
-	 * 
-	 */
-	private void createUIFieldTemplate() {
-		fFieldTemplate = addOption(F_FIELD_TEMPLATE, PDETemplateMessages.SplashHandlersTemplate_fieldSplashScreenType, ISplashHandlerConstants.F_SPLASH_SCREEN_TYPE_CHOICES, ISplashHandlerConstants.F_SPLASH_SCREEN_TYPE_CHOICES[0][0], F_PAGE_INDEX);
-	}
-
-	/**
-	 * 
-	 */
-	private void createUIFieldProductID() {
-
-		String[] products = TargetPlatform.getProducts();
-		String[][] choices = new String[products.length][2];
-		String initialChoice = null;
-		boolean foundInitialChoice = false;
-		// Populate choices with products
-		for (int i = 0; i < products.length; i++) {
-			// ID
-			choices[i][0] = products[i];
-			// Name
-			choices[i][1] = products[i];
-			// Determine whether default product is present
-			if ((foundInitialChoice == false) && (products[i].equals(F_DEFAULT_PRODUCT))) {
-				foundInitialChoice = true;
-			}
-		}
-		// Use default product as the initial product choice if found;
-		// otherwise, use the first item found
-		if (foundInitialChoice) {
-			initialChoice = F_DEFAULT_PRODUCT;
-		} else {
-			initialChoice = choices[0][0];
-		}
-		// Create the field
-		fFieldProducts = addComboChoiceOption(F_FIELD_PRODUCTS, PDETemplateMessages.SplashHandlersTemplate_fieldProductID, choices, initialChoice, F_PAGE_INDEX);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getDependencies(java.lang.String)
-	 */
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		// Ensure schema version was defined
-		if (schemaVersion == null) {
-			return super.getDependencies(schemaVersion);
-		}
-		// Create the dependencies for the splash handler extension template addition
-		IPluginReference[] dependencies = new IPluginReference[4];
-		dependencies[0] = new PluginReference("org.eclipse.core.runtime", null, 0); //$NON-NLS-1$
-		dependencies[1] = new PluginReference("org.eclipse.swt", null, 0); //$NON-NLS-1$
-		dependencies[2] = new PluginReference("org.eclipse.jface", null, 0); //$NON-NLS-1$
-		dependencies[3] = new PluginReference("org.eclipse.ui.workbench", null, 0); //$NON-NLS-1$
-
-		return dependencies;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.OptionTemplateSection#getSectionId()
-	 */
-	public String getSectionId() {
-		return ISplashHandlerConstants.F_UNQUALIFIED_EXTENSION_ID;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#updateModel(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-		// Create the action to update the model with the associated 
-		// splash handler extensions, extension points, elements and attributes
-		UpdateSplashHandlerAction action = new UpdateSplashHandlerAction();
-		// Configure the acation
-		String id = createAttributeValueID();
-		action.setFieldID(id);
-		action.setFieldClass(createAttributeValueClass());
-		action.setFieldSplashID(id);
-		action.setFieldProductID((String) fFieldProducts.getValue());
-		action.setFieldTemplate((String) fFieldTemplate.getValue());
-		action.setFieldPluginID(model.getPluginBase().getId());
-		action.setModel(model);
-		action.setMonitor(monitor);
-		// Execute the action
-		action.run();
-		// If an exception was caught, release it
-		action.hasException();
-	}
-
-	private String createAttributeValueID() {
-		// Create the ID based on the splash screen type
-		return fFieldPackage.getValue() + "." + //$NON-NLS-1$
-				fFieldTemplate.getValue();
-	}
-
-	private String createAttributeValueClass() {
-		// Create the class based on the splash screen type
-		return fFieldPackage.getValue() + "." + //$NON-NLS-1$
-				fFieldClass.getValue();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.ITemplateSection#getUsedExtensionPoint()
-	 */
-	public String getUsedExtensionPoint() {
-		return ISplashHandlerConstants.F_SPLASH_HANDLERS_EXTENSION;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#isOkToCreateFile(java.io.File)
-	 */
-	protected boolean isOkToCreateFile(File sourceFile) {
-		// TODO: MP: SPLASH:  Sync this with org.eclipse.pde.internal.ui.util.TemplateFileGenerator
-		String javaSuffix = ".java"; //$NON-NLS-1$
-		String targetFile = fFieldClass.getValue() + javaSuffix;
-		String copyFile = sourceFile.toString();
-
-		if (copyFile.endsWith(javaSuffix) && (copyFile.endsWith(targetFile) == false)) {
-			return false;
-		}
-
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.templates.PDETemplateSection#copyBrandingDirectory()
-	 */
-	protected boolean copyBrandingDirectory() {
-		return isSplashFieldSelected();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#isOkToCreateFolder(java.io.File)
-	 */
-	protected boolean isOkToCreateFolder(File sourceFolder) {
-		// TODO: MP: SPLASH:  Sync this with org.eclipse.pde.internal.ui.util.TemplateFileGenerator
-		boolean extensibleTemplateSelected = UpdateSplashHandlerAction.isExtensibleTemplateSelected((String) fFieldTemplate.getValue());
-		String sourceFolderString = sourceFolder.toString();
-
-		if ((extensibleTemplateSelected == false) && sourceFolderString.endsWith("icons")) { //$NON-NLS-1$
-			return false;
-		} else if ((extensibleTemplateSelected == false) && sourceFolderString.endsWith("schema")) { //$NON-NLS-1$
-			return false;
-		}
-
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.OptionTemplateSection#getLabel()
-	 */
-	public String getLabel() {
-		return getPluginResourceString("wizard.name.splash.handler"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.OptionTemplateSection#getDescription()
-	 */
-	public String getDescription() {
-		return getPluginResourceString("wizard.description.splash.handler"); //$NON-NLS-1$
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/UniversalWelcomeTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/UniversalWelcomeTemplate.java
deleted file mode 100644
index 7cdecae..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/UniversalWelcomeTemplate.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import java.io.File;
-import java.util.ArrayList;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.*;
-import org.eclipse.pde.internal.ui.templates.*;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.AbstractTemplateSection;
-import org.eclipse.pde.ui.templates.PluginReference;
-
-/**
- * Creates a template for contributing to the Universal Welcome
- * intro. Requires Eclipse version 3.2.
- * 
- *  @since 3.2
- */
-
-public class UniversalWelcomeTemplate extends PDETemplateSection {
-	private static final String KEY_LINK_ID = "linkId"; //$NON-NLS-1$
-
-	private static final String KEY_EXTENSION_ID = "extensionId"; //$NON-NLS-1$
-
-	private static final String KEY_INTRO_DIR = "introDir"; //$NON-NLS-1$
-
-	private static final String KEY_PATH = "path"; //$NON-NLS-1$
-
-	private static final String KEY_LINK_URL = "linkUrl"; //$NON-NLS-1$
-
-	private String pluginId;
-
-	public UniversalWelcomeTemplate() {
-		setPageCount(1);
-		createOptions();
-	}
-
-	private void createOptions() {
-		// options
-		addOption(KEY_INTRO_DIR, PDETemplateMessages.UniversalWelcomeTemplate_key_directoryName, "intro", 0); //$NON-NLS-1$
-		addOption(KEY_PATH, PDETemplateMessages.UniversalWelcomeTemplate_key_targetPage, new String[][] { {"overview/@", PDETemplateMessages.UniversalWelcomeTemplate_page_Overview}, {"tutorials/@", PDETemplateMessages.UniversalWelcomeTemplate_page_Tutorials}, //$NON-NLS-1$ //$NON-NLS-2$
-				{"firststeps/@", PDETemplateMessages.UniversalWelcomeTemplate_page_FirstSteps}, {"samples/@", PDETemplateMessages.UniversalWelcomeTemplate_page_Samples}, //$NON-NLS-1$ //$NON-NLS-2$
-				{"whatsnew/@", PDETemplateMessages.UniversalWelcomeTemplate_page_Whatsnew}, {"migrate/@", PDETemplateMessages.UniversalWelcomeTemplate_page_Migrate}, //$NON-NLS-1$ //$NON-NLS-2$
-				{"webresources/@", PDETemplateMessages.UniversalWelcomeTemplate_page_WebResources}}, "overview/@", 0); //$NON-NLS-1$ //$NON-NLS-2$
-		addOption(KEY_LINK_URL, PDETemplateMessages.UniversalWelcomeTemplate_linkUrl, "http://www.eclipse.org", 0); //$NON-NLS-1$
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0, IHelpContextIds.TEMPLATE_UNIVERSAL_WELCOME);
-		page.setTitle(PDETemplateMessages.IntroTemplate_title);
-		page.setDescription(PDETemplateMessages.IntroTemplate_desc);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	public String getSectionId() {
-		return "universalWelcome"; //$NON-NLS-1$
-	}
-
-	protected void initializeFields(IFieldData data) {
-		// In a new project wizard, we don't know this yet - the
-		// model has not been created
-		pluginId = data.getId();
-	}
-
-	public void initializeFields(IPluginModelBase model) {
-		pluginId = model.getPluginBase().getId();
-	}
-
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-
-		IPluginExtension extension = createExtension("org.eclipse.ui.intro.configExtension", false); //$NON-NLS-1$
-
-		IPluginElement element = model.getPluginFactory().createElement(extension);
-		element.setName("configExtension"); //$NON-NLS-1$
-		element.setAttribute("configId", //$NON-NLS-1$
-				"org.eclipse.ui.intro.universalConfig"); //$NON-NLS-1$
-		element.setAttribute("content", getStringOption(KEY_INTRO_DIR) //$NON-NLS-1$
-				+ "/sample.xml"); //$NON-NLS-1$
-		extension.add(element);
-
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	protected boolean isOkToCreateFolder(File sourceFolder) {
-		return true;
-	}
-
-	/**
-	 * @see AbstractTemplateSection#isOkToCreateFile(File)
-	 */
-	protected boolean isOkToCreateFile(File sourceFile) {
-		return true;
-	}
-
-	public String getUsedExtensionPoint() {
-		return "org.eclipse.ui.intro.configExtension"; //$NON-NLS-1$
-	}
-
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		ArrayList result = new ArrayList();
-
-		// We really need Eclipse 3.2 or higher but since Universal
-		// appears in 3.2 for the first time, just depending on
-		// its presence has the same effect.
-		result.add(new PluginReference("org.eclipse.ui.intro", null, 0)); //$NON-NLS-1$
-		result.add(new PluginReference("org.eclipse.ui.intro.universal", null, 0)); //$NON-NLS-1$
-		result.add(new PluginReference("org.eclipse.ui", null, 0)); //$NON-NLS-1$
-
-		return (IPluginReference[]) result.toArray(new IPluginReference[result.size()]);
-	}
-
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	/*
-	 * We are going to compute some values even though we are
-	 * not exposing them as options.
-	 */
-	public String getStringOption(String name) {
-		if (name.equals(KEY_EXTENSION_ID)) {
-			return stripNonAlphanumeric(pluginId) + "-introExtension"; //$NON-NLS-1$
-		}
-		if (name.equals(KEY_LINK_ID)) {
-			return stripNonAlphanumeric(pluginId) + "-introLink"; //$NON-NLS-1$
-		}
-		return super.getStringOption(name);
-	}
-
-	/*
-	 * Strips any non alphanumeric characters from the string so as not to break the css
-	 */
-	private String stripNonAlphanumeric(String id) {
-		StringBuffer result = new StringBuffer();
-		for (int i = 0; i < id.length(); i++) {
-			char next = id.charAt(i);
-			if (Character.isLetterOrDigit(next)) {
-				result.append(next);
-			}
-		}
-		return result.toString();
-	}
-
-	public String[] getNewFiles() {
-		return new String[] {getStringOption(KEY_INTRO_DIR) + "/"}; //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/ViewNewWizard.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/ViewNewWizard.java
deleted file mode 100644
index c7bb0d7..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/ViewNewWizard.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;
-
-public class ViewNewWizard extends NewPluginTemplateWizard {
-	/**
-	 * Constructor for ViewNewWizard.
-	 */
-	public ViewNewWizard() {
-		super();
-	}
-
-	public void init(IFieldData data) {
-		super.init(data);
-		setWindowTitle(PDETemplateMessages.ViewNewWizard_wtitle);
-	}
-
-	/*
-	 * @see NewExtensionTemplateWizard#createTemplateSections()
-	 */
-	public ITemplateSection[] createTemplateSections() {
-		return new ITemplateSection[] {new ViewTemplate()};
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/ViewTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/ViewTemplate.java
deleted file mode 100644
index e763813..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/ide/ViewTemplate.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.pde.internal.ui.templates.ide;
-
-import java.io.File;
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginAttribute;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.IPluginModelFactory;
-import org.eclipse.pde.core.plugin.IPluginObject;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.IHelpContextIds;
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.internal.ui.templates.PDETemplateSection;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.AbstractTemplateSection;
-import org.eclipse.pde.ui.templates.BooleanOption;
-import org.eclipse.pde.ui.templates.PluginReference;
-
-public class ViewTemplate extends PDETemplateSection {
-	private BooleanOption addToPerspective;
-	private BooleanOption contextHelp;
-
-	/**
-	 * Constructor for HelloWorldTemplate.
-	 */
-	public ViewTemplate() {
-		setPageCount(1);
-		createOptions();
-	}
-
-	public String getSectionId() {
-		return "view"; //$NON-NLS-1$
-	}
-
-	/*
-	 * @see ITemplateSection#getNumberOfWorkUnits()
-	 */
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	private void createOptions() {
-		// first page	
-		addOption(KEY_PACKAGE_NAME, PDETemplateMessages.ViewTemplate_packageName, (String) null, 0);
-		addOption("className", PDETemplateMessages.ViewTemplate_className, "SampleView", 0); //$NON-NLS-1$ //$NON-NLS-2$
-		addOption("viewName", PDETemplateMessages.ViewTemplate_name, PDETemplateMessages.ViewTemplate_defaultName, 0); //$NON-NLS-1$
-		addOption("viewCategoryId", PDETemplateMessages.ViewTemplate_categoryId, (String) null, 0); //$NON-NLS-1$
-		addOption("viewCategoryName", PDETemplateMessages.ViewTemplate_categoryName, PDETemplateMessages.ViewTemplate_defaultCategoryName, 0); //$NON-NLS-1$
-		addOption("viewType", PDETemplateMessages.ViewTemplate_select, //$NON-NLS-1$
-				new String[][] { {"tableViewer", PDETemplateMessages.ViewTemplate_table}, //$NON-NLS-1$
-						{"treeViewer", PDETemplateMessages.ViewTemplate_tree}}, //$NON-NLS-1$
-				"tableViewer", 0); //$NON-NLS-1$
-		addToPerspective = (BooleanOption) addOption("addToPerspective", PDETemplateMessages.ViewTemplate_addToPerspective, true, 0); //$NON-NLS-1$
-		contextHelp = (BooleanOption) addOption("contextHelp", PDETemplateMessages.ViewTemplate_contextHelp, true, 0); //$NON-NLS-1$
-	}
-
-	protected void initializeFields(IFieldData data) {
-		// In a new project wizard, we don't know this yet - the
-		// model has not been created
-		initializeFields(data.getId());
-
-	}
-
-	public void initializeFields(IPluginModelBase model) {
-		// In the new extension wizard, the model exists so 
-		// we can initialize directly from it
-		initializeFields(model.getPluginBase().getId());
-	}
-
-	public void initializeFields(String id) {
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(id));
-		initializeOption("viewCategoryId", id); //$NON-NLS-1$
-	}
-
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page0 = createPage(0, IHelpContextIds.TEMPLATE_VIEW);
-		page0.setTitle(PDETemplateMessages.ViewTemplate_title0);
-		page0.setDescription(PDETemplateMessages.ViewTemplate_desc0);
-		wizard.addPage(page0);
-
-		markPagesAdded();
-	}
-
-	/**
-	 * @see AbstractTemplateSection#isOkToCreateFile(File)
-	 */
-	protected boolean isOkToCreateFile(File sourceFile) {
-		boolean isOk = true;
-		String fileName = sourceFile.getName();
-		if (fileName.equals("contexts.xml")) { //$NON-NLS-1$
-			isOk = contextHelp.isSelected();
-		}
-		return isOk;
-	}
-
-	public String getUsedExtensionPoint() {
-		return "org.eclipse.ui.views"; //$NON-NLS-1$
-	}
-
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-		IPluginExtension extension = createExtension("org.eclipse.ui.views", true); //$NON-NLS-1$
-		IPluginModelFactory factory = model.getPluginFactory();
-
-		String cid = getStringOption("viewCategoryId"); //$NON-NLS-1$
-
-		createCategory(extension, cid);
-		String fullClassName = getStringOption(KEY_PACKAGE_NAME) + "." + getStringOption("className"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		IPluginElement viewElement = factory.createElement(extension);
-		viewElement.setName("view"); //$NON-NLS-1$
-		viewElement.setAttribute("id", fullClassName); //$NON-NLS-1$
-		viewElement.setAttribute("name", getStringOption("viewName")); //$NON-NLS-1$ //$NON-NLS-2$
-		viewElement.setAttribute("icon", "icons/sample.gif"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		viewElement.setAttribute("class", fullClassName); //$NON-NLS-1$
-		viewElement.setAttribute("category", cid); //$NON-NLS-1$
-		extension.add(viewElement);
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-
-		if (addToPerspective.isSelected()) {
-			IPluginExtension perspectiveExtension = createExtension("org.eclipse.ui.perspectiveExtensions", true); //$NON-NLS-1$
-
-			IPluginElement perspectiveElement = factory.createElement(perspectiveExtension);
-			perspectiveElement.setName("perspectiveExtension"); //$NON-NLS-1$
-			perspectiveElement.setAttribute("targetID", //$NON-NLS-1$
-					"org.eclipse.jdt.ui.JavaPerspective"); //$NON-NLS-1$
-
-			IPluginElement view = factory.createElement(perspectiveElement);
-			view.setName("view"); //$NON-NLS-1$
-			view.setAttribute("id", fullClassName); //$NON-NLS-1$
-			view.setAttribute("relative", "org.eclipse.ui.views.TaskList"); //$NON-NLS-1$ //$NON-NLS-2$
-			view.setAttribute("relationship", "right"); //$NON-NLS-1$ //$NON-NLS-2$
-			view.setAttribute("ratio", "0.5"); //$NON-NLS-1$ //$NON-NLS-2$
-			perspectiveElement.add(view);
-
-			perspectiveExtension.add(perspectiveElement);
-			if (!perspectiveExtension.isInTheModel())
-				plugin.add(perspectiveExtension);
-		}
-
-		if (contextHelp.isSelected()) {
-			IPluginExtension contextExtension = createExtension("org.eclipse.help.contexts", true); //$NON-NLS-1$
-
-			IPluginElement contextsElement = factory.createElement(contextExtension);
-			contextsElement.setName("contexts"); //$NON-NLS-1$
-			contextsElement.setAttribute("file", "contexts.xml"); //$NON-NLS-1$ //$NON-NLS-2$
-			contextExtension.add(contextsElement);
-			if (!contextExtension.isInTheModel())
-				plugin.add(contextExtension);
-		}
-	}
-
-	private void createCategory(IPluginExtension extension, String id) throws CoreException {
-		IPluginObject[] elements = extension.getChildren();
-		for (int i = 0; i < elements.length; i++) {
-			IPluginElement element = (IPluginElement) elements[i];
-			if (element.getName().equalsIgnoreCase("category")) { //$NON-NLS-1$
-				IPluginAttribute att = element.getAttribute("id"); //$NON-NLS-1$
-				if (att != null) {
-					String cid = att.getValue();
-					if (cid != null && cid.equals(id))
-						return;
-				}
-			}
-		}
-		IPluginElement categoryElement = model.getFactory().createElement(extension);
-		categoryElement.setName("category"); //$NON-NLS-1$
-		categoryElement.setAttribute("name", getStringOption("viewCategoryName")); //$NON-NLS-1$ //$NON-NLS-2$
-		categoryElement.setAttribute("id", id); //$NON-NLS-1$
-		extension.add(categoryElement);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#getFoldersToInclude()
-	 */
-	public String[] getNewFiles() {
-		if (contextHelp.isSelected())
-			return new String[] {"icons/", "contexts.xml"}; //$NON-NLS-1$ //$NON-NLS-2$
-		return new String[] {"icons/"}; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getDependencies(java.lang.String)
-	 */
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		ArrayList result = new ArrayList();
-		if (schemaVersion != null)
-			result.add(new PluginReference("org.eclipse.core.runtime", null, 0)); //$NON-NLS-1$
-		result.add(new PluginReference("org.eclipse.ui", null, 0)); //$NON-NLS-1$
-		return (IPluginReference[]) result.toArray(new IPluginReference[result.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#formatPackageName(java.lang.String)
-	 */
-	protected String getFormattedPackageName(String id) {
-		String packageName = super.getFormattedPackageName(id);
-		if (packageName.length() != 0)
-			return packageName + ".views"; //$NON-NLS-1$
-		return "views"; //$NON-NLS-1$
-	}
-
-	public Object getValue(String name) {
-		if (name.equals("useEnablement")) //$NON-NLS-1$
-			return new Boolean(getTargetVersion() >= 3.3);
-		return super.getValue(name);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/HelloOSGiNewWizard.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/HelloOSGiNewWizard.java
deleted file mode 100644
index 78d4dc1..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/HelloOSGiNewWizard.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.osgi;
-
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;
-
-public class HelloOSGiNewWizard extends NewPluginTemplateWizard {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractNewPluginTemplateWizard#init(org.eclipse.pde.ui.IFieldData)
-	 */
-	public void init(IFieldData data) {
-		super.init(data);
-		setWindowTitle(PDETemplateMessages.HelloOSGiNewWizard_title);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.NewPluginTemplateWizard#createTemplateSections()
-	 */
-	public ITemplateSection[] createTemplateSections() {
-		return new ITemplateSection[] {new HelloOSGiTemplate()};
-	}
-
-	public String[] getImportPackages() {
-		return new String[] {"org.osgi.framework;version=\"1.3.0\""}; //$NON-NLS-1$
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/HelloOSGiServiceNewWizard.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/HelloOSGiServiceNewWizard.java
deleted file mode 100644
index 15ac496..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/HelloOSGiServiceNewWizard.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.osgi;
-
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;
-
-public class HelloOSGiServiceNewWizard extends NewPluginTemplateWizard {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractNewPluginTemplateWizard#init(org.eclipse.pde.ui.IFieldData)
-	 */
-	public void init(IFieldData data) {
-		super.init(data);
-		setWindowTitle(PDETemplateMessages.HelloOSGiServiceNewWizard_title);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.NewPluginTemplateWizard#createTemplateSections()
-	 */
-	public ITemplateSection[] createTemplateSections() {
-		return new ITemplateSection[] {new HelloOSGiServiceTemplate()};
-	}
-
-	public String[] getImportPackages() {
-		return new String[] {"org.osgi.framework;version=\"1.3.0\"", "org.osgi.util.tracker;version=\"1.3.1\""}; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/HelloOSGiServiceTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/HelloOSGiServiceTemplate.java
deleted file mode 100644
index 5633ad6..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/HelloOSGiServiceTemplate.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.osgi;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.*;
-
-public class HelloOSGiServiceTemplate extends PDETemplateSection {
-
-	public static final String GREETING = "greeting"; //$NON-NLS-1$
-	public static final String KEY_APPLICATION_CLASS = "applicationClass"; //$NON-NLS-1$
-
-	public HelloOSGiServiceTemplate() {
-		setPageCount(1);
-		addOption(GREETING, PDETemplateMessages.HelloOSGiServiceTemplate_greeting, PDETemplateMessages.HelloOSGiServiceTemplate_howdy, 0);
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0, IHelpContextIds.TEMPLATE_RCP_MAIL);
-		page.setTitle(PDETemplateMessages.HelloOSGiServiceTemplate_pageTitle);
-		page.setDescription(PDETemplateMessages.HelloOSGiServiceTemplate_pageDescription);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.pde.ui.templates.OptionTemplateSection#getSectionId()
-	 */
-	public String getSectionId() {
-		return "helloOSGiService"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#updateModel(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void updateModel(IProgressMonitor monitor) { // do nothing
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.ITemplateSection#getUsedExtensionPoint()
-	 */
-	public String getUsedExtensionPoint() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#isDependentOnParentWizard()
-	 */
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getNumberOfWorkUnits()
-	 */
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		return new IPluginReference[0];
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/HelloOSGiTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/HelloOSGiTemplate.java
deleted file mode 100644
index 6275abf..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/HelloOSGiTemplate.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.osgi;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.*;
-
-public class HelloOSGiTemplate extends PDETemplateSection {
-
-	public static final String KEY_START_MESSAGE = "startMessage"; //$NON-NLS-1$
-	public static final String KEY_STOP_MESSAGE = "stopMessage"; //$NON-NLS-1$
-	public static final String KEY_APPLICATION_CLASS = "applicationClass"; //$NON-NLS-1$
-
-	public HelloOSGiTemplate() {
-		setPageCount(1);
-		addOption(KEY_START_MESSAGE, PDETemplateMessages.HelloOSGiTemplate_startMessage, PDETemplateMessages.HelloOSGiTemplate_hello, 0);
-		addOption(KEY_STOP_MESSAGE, PDETemplateMessages.HelloOSGiTemplate_stopMessage, PDETemplateMessages.HelloOSGiTemplate_goodbye, 0);
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0, IHelpContextIds.TEMPLATE_RCP_MAIL);
-		page.setTitle(PDETemplateMessages.HelloOSGiTemplate_pageTitle);
-		page.setDescription(PDETemplateMessages.HelloOSGiTemplate_pageDescription);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.pde.ui.templates.OptionTemplateSection#getSectionId()
-	 */
-	public String getSectionId() {
-		return "helloOSGi"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#updateModel(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void updateModel(IProgressMonitor monitor) { // do nothing
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.ITemplateSection#getUsedExtensionPoint()
-	 */
-	public String getUsedExtensionPoint() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#isDependentOnParentWizard()
-	 */
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getNumberOfWorkUnits()
-	 */
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		return new IPluginReference[0];
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/OSGiPreferencesServiceNewWizard.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/OSGiPreferencesServiceNewWizard.java
deleted file mode 100644
index 8154c53..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/OSGiPreferencesServiceNewWizard.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.osgi;
-
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;
-
-public class OSGiPreferencesServiceNewWizard extends NewPluginTemplateWizard {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractNewPluginTemplateWizard#init(org.eclipse.pde.ui.IFieldData)
-	 */
-	public void init(IFieldData data) {
-		super.init(data);
-		setWindowTitle(PDETemplateMessages.OSGiPreferencesServiceNewWizard_title);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.NewPluginTemplateWizard#createTemplateSections()
-	 */
-	public ITemplateSection[] createTemplateSections() {
-		return new ITemplateSection[] {new OSGiPreferencesServiceTemplate()};
-	}
-
-	public String[] getImportPackages() {
-		return new String[] {"org.osgi.service.prefs;version=\"1.1\"", //$NON-NLS-1$
-				"org.osgi.util.tracker;version=\"1.3.1\""}; //$NON-NLS-1$
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/OSGiPreferencesServiceTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/OSGiPreferencesServiceTemplate.java
deleted file mode 100644
index ba91423..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/OSGiPreferencesServiceTemplate.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.osgi;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.*;
-
-public class OSGiPreferencesServiceTemplate extends PDETemplateSection {
-
-	public static final String COLOR = "color"; //$NON-NLS-1$
-
-	public OSGiPreferencesServiceTemplate() {
-		setPageCount(1);
-		addOption(COLOR, PDETemplateMessages.OSGiPreferencesServiceTemplate_label, PDETemplateMessages.OSGiPreferencesServiceTemplate_value, 0);
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0, IHelpContextIds.TEMPLATE_RCP_MAIL);
-		page.setTitle(PDETemplateMessages.OSGiPreferencesServiceTemplate_pageTitle);
-		page.setDescription(PDETemplateMessages.OSGiPreferencesServiceTemplate_pageDescription);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.pde.ui.templates.OptionTemplateSection#getSectionId()
-	 */
-	public String getSectionId() {
-		return "OSGiPreferencesService"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#updateModel(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void updateModel(IProgressMonitor monitor) {
-		// do nothing
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.ITemplateSection#getUsedExtensionPoint()
-	 */
-	public String getUsedExtensionPoint() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#isDependentOnParentWizard()
-	 */
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getNumberOfWorkUnits()
-	 */
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		return new IPluginReference[0];
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/OSGiSimpleLogServiceNewWizard.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/OSGiSimpleLogServiceNewWizard.java
deleted file mode 100644
index 893275c..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/OSGiSimpleLogServiceNewWizard.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.osgi;
-
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;
-
-public class OSGiSimpleLogServiceNewWizard extends NewPluginTemplateWizard {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractNewPluginTemplateWizard#init(org.eclipse.pde.ui.IFieldData)
-	 */
-	public void init(IFieldData data) {
-		super.init(data);
-		setWindowTitle(PDETemplateMessages.OSGiSimpleLogServiceNewWizard_title);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.NewPluginTemplateWizard#createTemplateSections()
-	 */
-	public ITemplateSection[] createTemplateSections() {
-		return new ITemplateSection[] {new OSGiSimpleLogServiceTemplate()};
-	}
-
-	public String[] getImportPackages() {
-		return new String[] {"org.osgi.framework;version=\"1.3.0\"", //$NON-NLS-1$
-				"org.osgi.util.tracker;version=\"1.3.1\"", //$NON-NLS-1$
-				"org.osgi.service.log; version=\"1.3\""}; //$NON-NLS-1$
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/OSGiSimpleLogServiceTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/OSGiSimpleLogServiceTemplate.java
deleted file mode 100644
index 9ca3cbe..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/osgi/OSGiSimpleLogServiceTemplate.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.osgi;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.*;
-
-public class OSGiSimpleLogServiceTemplate extends PDETemplateSection {
-
-	public static final String START_LOG_MESSAGE = "startLogMessage"; //$NON-NLS-1$
-	public static final String STOP_LOG_MESSAGE = "stopLogMessage"; //$NON-NLS-1$
-
-	public OSGiSimpleLogServiceTemplate() {
-		setPageCount(1);
-		addOption(START_LOG_MESSAGE, PDETemplateMessages.OSGiSimpleLogServiceTemplate_startLogMessage, PDETemplateMessages.OSGiSimpleLogServiceTemplate_logMessage, 0);
-		addOption(STOP_LOG_MESSAGE, PDETemplateMessages.OSGiSimpleLogServiceTemplate_stopLogMessage, PDETemplateMessages.OSGiSimpleLogServiceTemplate_logMessage, 0);
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0, IHelpContextIds.TEMPLATE_RCP_MAIL);
-		page.setTitle(PDETemplateMessages.OSGiSimpleLogServiceTemplate_pageTitle);
-		page.setDescription(PDETemplateMessages.OSGiSimpleLogServiceTemplate_pageDescription);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.pde.ui.templates.OptionTemplateSection#getSectionId()
-	 */
-	public String getSectionId() {
-		return "OSGiSimpleLogService"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#updateModel(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void updateModel(IProgressMonitor monitor) {
-		// do nothing
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.ITemplateSection#getUsedExtensionPoint()
-	 */
-	public String getUsedExtensionPoint() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#isDependentOnParentWizard()
-	 */
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getNumberOfWorkUnits()
-	 */
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		return new IPluginReference[0];
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/pderesources.properties b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/pderesources.properties
deleted file mode 100644
index 925b6de..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/pderesources.properties
+++ /dev/null
@@ -1,268 +0,0 @@
-###############################################################################
-# Copyright (c) 2006, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-### Supplied templates
-EditorNewWizard_wtitle = New plug-in project with a sample XML editor
-EditorTemplate_title = Sample XML Editor
-EditorTemplate_desc = Choose the options that will be used to generate the XML editor.
-EditorTemplate_packageName = &Java Package Name:
-EditorTemplate_editorClass = &Editor Class Name:
-EditorTemplate_editorName = Editor &Name:
-EditorTemplate_fileExtension = F&ile Extension:
-EditorTemplate_defaultEditorName = Sample XML Editor
-
-HelloWorldNewWizard_wtitle = New Hello World plug-in project
-HelloWorldTemplate_title = Sample Action Set
-HelloOSGiNewWizard_title=Pure OSGi Bundle Wizard
-HelloOSGiTemplate_pageTitle=Basic OSGi Bundle
-HelloOSGiTemplate_hello=Hello World\!\!
-HelloOSGiTemplate_goodbye=Goodbye World\!\!
-HelloWorldTemplate_desc= This template will generate a sample action set extension with a menu, a \
-menu item and a tool bar button.
-HelloRCPNewWizard_title=New Hello RCP Project
-HelloRCPTemplate_title=Basic RCP application
-HelloRCPTemplate_desc=This template creates a minimal standalone RCP application that consists of an application window with a title.
-HelloRCPTemplate_appClass=App&lication class:
-HelloNonUIRCPNewWizard_title=New Hello Command Line RCP Project
-HelloNonUIRCPTemplate_title=Basic Non UI RCP application
-HelloNonUIRCPTemplate_desc=This template creates a minimal standalone headless RCP application that prints text and exits.
-HelloNonUIRCPTemplate_appClass=App&lication class:
-HelloNonUIRCPTemplate_messageText=&Message text:
-HelloNonUIRCPTemplate_defaultMessage=Hello RCP World!
-HelloWorldTemplate_packageName = &Java Package Name:
-HelloWorldTemplate_className = &Action Class Name:
-HelloRCPTemplate_windowTitle=Application window &title:
-HelloRCPTemplate_productBranding=A&dd branding
-HelloWorldTemplate_messageText = &Message Box Text:
-HelloOSGiTemplate_startMessage=Start Message:
-HelloWorldTemplate_defaultMessage = Hello, Eclipse world
-HelloOSGiTemplate_pageDescription=This template creates a basic OSGi bundle that prints text to the console when it starts and stops.
-HelloWorldTemplate_sampleActionSet = Sample Action Set
-HelloWorldTemplate_sampleMenu = Sample &Menu
-HelloOSGiTemplate_stopMessage=Stop Message:
-HelloWorldTemplate_sampleAction = &Sample Action
-
-HelloOSGiServiceTemplate_greeting=&Greeting: 
-HelloOSGiServiceTemplate_howdy=Howdy y'all
-HelloOSGiServiceTemplate_pageDescription=This template creates a basic OSGi service that prints a user desired greeting to the console when invoked.
-HelloOSGiServiceTemplate_pageTitle=Basic OSGi Service
-HelloOSGiServiceNewWizard_title=Pure OSGi Service Wizard
-
-IntroNewWizard_wtitle = New RCP Project with an intro
-IntroTemplate_title = Sample Intro
-IntroTemplate_desc = This template creates a standalone RCP application with an intro.
-IntroTemplate_generate = Generate:
-IntroTemplate_generateStaticContent = static content
-IntroTemplate_generateDynamicContent = dynamic content
-IntroTemplate_productName = Product Name:
-
-ViewRCPNewWizard_title=New RCP Project with a view
-ViewRCPTemplate_title=Single View RCP application
-ViewRCPTemplate_desc=This template creates a standalone RCP application that consists of an application window with a single view.
-ViewRCPTemplate_appClass=App&lication class:
-ViewRCPTemplate_packageName = &Java package name:
-ViewRCPTemplate_windowTitle=Application window &title:
-
-MultiPageEditorNewWizard_wtitle = New plug-in project with a multi-page editor
-MultiPageEditorTemplate_title = Sample Multi-Page Editor
-MultiPageEditorTemplate_desc = Choose the options that will be used to generate the multi-page editor.
-MultiPageEditorTemplate_packageName = &Java Package Name:
-MultiPageEditorTemplate_className =	&Editor Class Name:
-MultiPageEditorTemplate_contributor = Editor &Contributor Class Name:
-MultiPageEditorTemplate_editorName = E&ditor Name:
-MultiPageEditorTemplate_defaultEditorName = Sample Multi-page Editor
-MultiPageEditorTemplate_extensions = F&ile Extension:
-
-NewWizardTemplate_title =New Wizard Options
-NewWizardTemplate_desc =The provided options control the new wizard that will be created.
-NewWizardTemplate_packageName = &Java Package Name:
-NewWizardTemplate_categoryId = &Wizard Category ID:
-NewWizardTemplate_categoryName = Wi&zard Category Name:
-NewWizardTemplate_className = Wizard &Class Name:
-NewWizardTemplate_pageClassName = Wizard &Page Class Name:
-NewWizardTemplate_wizardName = Wizard &Name:
-NewWizardTemplate_defaultName = Multi-page Editor file
-NewWizardTemplate_extension = Fi&le Extension:
-NewWizardTemplate_fileName = &Initial File Name:
-
-PopupMenuNewWizard_wtitle = New plug-in project with popup menus
-PopupMenuTemplate_title = Sample Popup Menu
-PopupMenuTemplate_desc = This template creates a submenu and adds a new action to a selected object's popup menu.
-PopupMenuTemplate_targetClass = &Target Object's Class:
-PopupMenuTemplate_newAction=NewAction
-PopupMenuTemplate_submenuName =	&Submenu Name:
-PopupMenuTemplate_defaultSubmenuName = New Submenu
-PopupMenuTemplate_actionLabel =	Action &Label:
-PopupMenuTemplate_defaultActionName = New Action
-PopupMenuTemplate_packageName =	&Java Package Name:
-PopupMenuTemplate_actionClass =	Action &Class:
-PopupMenuTemplate_singleSelection = S&ingle selection
-PopupMenuTemplate_multipleSelection = &Multiple selection
-PopupMenuTemplate_enabledFor =	Action is enabled for:
-
-PreferencePageTemplate_title = Sample Preference Page
-PreferencePageTemplate_desc = The provided options allow you to control the preference page that will be created.
-PreferencePageTemplate_packageName = &Java Package Name:
-PreferencePageTemplate_className = &Page Class Name:
-PreferencePageTemplate_pageName = Page &Name:
-PreferencePageTemplate_defaultPageName =Sample Preferences
-PropertyPageNewWizard_wtitle = New plug-in project with a property page
-PropertyPageTemplate_title = Sample Property Page
-PropertyPageTemplate_desc = This template adds a property page to a resource and will appear in \
-the Properties Dialog for that resource.
-PropertyPageTemplate_packageName = &Java Package Name:
-PropertyPageTemplate_pageClass = &Property Page Class:
-PropertyPageTemplate_pageName = P&roperty Page Name:
-PropertyPageTemplate_defaultPageName = Sample Page
-PropertyPageTemplate_targetClass = &Target Class:
-PropertyPageTemplate_nameFilter = &Name Filter:
-
-ViewNewWizard_wtitle = New plug-in project with a sample view
-ViewTemplate_title0 = Main View Settings
-ViewTemplate_desc0 = Choose the way the new view will be added to the plug-in.
-ViewTemplate_packageName = &Java Package Name:
-ViewTemplate_className = &View Class Name:
-ViewTemplate_name = View Na&me:
-ViewTemplate_defaultName = Sample View
-ViewTemplate_categoryId = View &Category ID:
-ViewTemplate_categoryName = V&iew Category Name:
-ViewTemplate_defaultCategoryName = Sample Category
-ViewTemplate_select = Select the viewer type that should be hosted in the view:
-ViewTemplate_table = &Table viewer (can also be used for lists)
-ViewTemplate_tree = T&ree viewer
-ViewTemplate_contextHelp=Add conte&xt help to the view
-ViewTemplate_addToPerspective = A&dd the view to the java perspective
-
-HelpTemplate_title = Sample Help Table of Contents
-HelpTemplate_desc = Create a standalone or integrated table of contents.
-HelpNewWizard_wiz=New plug-in project with sample help content
-HelpTemplate_tocLabel = &Label for table of contents:
-HelpTemplate_isPrimary = Pri&mary
-HelpTemplate_generateTest = Generate a &primary table of contents for testing
-HelpTemplate_gettingStarted = Generate a '&Getting Started' category
-HelpTemplate_concepts = Generate a '&Concepts' category
-HelpTemplate_tasks = Generate a '&Tasks' category
-HelpTemplate_reference = Generate a '&Reference' category
-HelpTemplate_samples = Generate a '&Samples' category
-HelpTemplate_sampleText=Sample Table of Contents
-
-BuilderNewWizard_wtitle = New plug-in project with a sample project builder and nature
-BuilderTemplate_title = Sample Project Builder and Nature
-BuilderTemplate_desc = Creates an incremental project builder and project nature.
-BuilderTemplate_builderClass = Project Builder &Class Name:
-BuilderTemplate_builderId = Project Builder &ID:
-BuilderTemplate_builderName = Project Builder &Name:
-BuilderTemplate_natureClass = Project Nature C&lass Name:
-BuilderTemplate_natureId = Project Nature I&D:
-BuilderTemplate_natureName = &Project Nature Name:
-BuilderTemplate_packageLabel = &Java Package Name:
-BuilderTemplate_actionLabel = Add/Remove Sample Nature
-BuilderTemplate_defaultBuilderName = Sample Project Builder
-BuilderTemplate_defaultNatureName = Sample Project Nature
-BuilderTemplate_markerName = XML Problem
-BuilderTemplate_generateAction = Generate a popup menu &action to toggle project nature
-
-DecoratorTemplate_title = Decorator Options
-DecoratorTemplate_desc = Choose the options to control which decorator should be created and where it should be displayed.
-DecoratorTemplate_packageName = &Java Package:
-DecoratorTemplate_decoratorClass = Decorator &Class Name:
-DecoratorTemplate_placement = Decorator Icon &Placement:
-DecoratorTemplate_decorateProject = &Decorate Project Folders
-DecoratorTemplate_decorateReadOnly = Only Decorate '&Read-only' files
-DecoratorTemplate_resourceLabel = Resource Decorator
-DecoratorTemplate_readOnlyLabel = Read-only Decorator
-DecoratorTemplate_placementChoices = BOTTOM_RIGHT,Bottom Right,BOTTOM_LEFT,Bottom Left,TOP_RIGHT,Top Right,TOP_LEFT,Top Left,UNDERLAY,Underlay, ,Blank
-
-ImportWizardTemplate_title = Import Wizard Options
-ImportWizardTemplate_desc = Choose the options for the file import wizard.
-ImportWizardTemplate_packageName = &Java Package:
-ImportWizardTemplate_wizardClass = Wizard &Class Name:
-ImportWizardTemplate_wizardClassName = ImportWizard
-ImportWizardTemplate_importWizardCategory = Wizard Category Name:
-ImportWizardTemplate_importWizardCategoryName = Sample File Import
-ImportWizardTemplate_pageClass = Wizard Page Class Name:
-ImportWizardTemplate_pageClassName = ImportWizardPage
-ImportWizardTemplate_wizardName = Wizard Name:
-ImportWizardTemplate_wizardDefaultName = Import File
-ImportWizardTemplate_filters = Select File Type Filter:
-ImportWizardTemplate_filterChoices = All,Show All File Types (*.*),Images,Show Image File Types (*.jpg;*.gif;*.bmp),Docs,Show Document File Types (*.doc;*.txt;*.pdf),Archives,Show Archive File Types (*.zip;*.tar;*.jar)
-ImportWizardTemplate_wizardDescription = Import a file from the local file system into the workspace.
- 
-
-MailTemplate_title=RCP Mail Template
-MailNewWizard_title=New plug-in project with an RCP mail template
-MailTemplate_desc=This template generates a standalone RCP application, complete with views, menu and toolbar actions, keybindings and a product definition
-
-MailTemplate_productName=&Product name:
-MailTemplate_appClass=&Application class:
-MailTemplate_packageName=Pa&ckage name:
-
-UniversalWelcomeTemplate_key_directoryName=&Directory Name:
-UniversalWelcomeTemplate_key_targetPage=&Target Page:
-UniversalWelcomeTemplate_linkUrl=&Link URL:
-UniversalWelcomeTemplate_page_Overview=Overview
-UniversalWelcomeTemplate_page_Tutorials=Tutorials
-UniversalWelcomeTemplate_page_FirstSteps=First Steps
-UniversalWelcomeTemplate_page_Samples=Samples
-UniversalWelcomeTemplate_page_Whatsnew=What's New
-UniversalWelcomeTemplate_page_Migrate=Migrate
-UniversalWelcomeTemplate_page_WebResources=Web Resources
-
-#Perspective Template
-PerspectiveTemplate_title = Perspective Options
-PerspectiveTemplate_desc = Choose the options for the release engineering perspective.
-PerspectiveTemplate_packageName = &Java Package:
-PerspectiveTemplate_perspectiveClass = Perspective &Class Name:
-PerspectiveTemplate_perspectiveClassName = RelEngPerspective
-PerspectiveTemplate_perspective = &Perspective Name:
-PerspectiveTemplate_perspectiveName = Release Engineering
-PerspectiveTemplate_perspectiveShortcuts = Add &Related Perspective Shortcuts
-PerspectiveTemplate_showViewShortcuts = Add Show View &Shortcuts
-PerspectiveTemplate_newWizardShortcuts = Add New &Wizard Shortcuts
-PerspectiveTemplate_actionSets = Add &Menu and Toolbar Contributions (Action Sets) 
-
-#Preferences Service Example
-OSGiPreferencesServiceNewWizard_title = OSGi Preferences Service Example Wizard
-OSGiPreferencesServiceTemplate_label = Fa&vourite color:
-OSGiPreferencesServiceTemplate_pageTitle = OSGi Preferences Service Example
-OSGiPreferencesServiceTemplate_pageDescription = Store your favourite color in the OSGi Preferences service.
-OSGiPreferencesServiceTemplate_value = lavender
-
-#Log Service Example
-OSGiSimpleLogServiceTemplate_startLogMessage=&Start Log Message:
-OSGiSimpleLogServiceTemplate_stopLogMessage=S&top Log Message:
-OSGiSimpleLogServiceTemplate_logMessage=Yee ha, I'm logging!
-OSGiSimpleLogServiceTemplate_pageDescription=This template creates and registers a simple OSGi service that logs some messages.
-OSGiSimpleLogServiceTemplate_pageTitle=OSGi Simple LogService Example
-OSGiSimpleLogServiceNewWizard_title=OSGi Simple LogService Example Wizard
-SplashHandlersTemplate_titleSplashHandlerOptions=Splash Handler Options
-SplashHandlersTemplate_descSplashHandlerOptions=This template will create a splash handler that contributes custom behavior to the splash screen.
-SplashHandlersTemplate_fieldAddSplash=&Add a default splash screen to this plug-in
-SplashHandlersTemplate_fieldClassName=&Class Name:
-SplashHandlersTemplate_fieldJavaPackage=Java &Package:
-SplashHandlersTemplate_fieldSplashScreenType=&Splash Screen Type:
-SplashHandlersTemplate_fieldProductID=Product &ID:
-
-HelloWorldCmdNewWizard_wtitle = New Hello World Command plug-in project
-HelloWorldCmdTemplate_title = Sample Command Contribution
-HelloWorldCmdTemplate_desc= This template will generate a sample command contribution\
- with a menu, a menu item and a tool bar button.
-HelloWorldCmdTemplate_packageName = &Java Package Name:
-HelloWorldCmdTemplate_className = &Handler Class Name:
-HelloWorldCmdTemplate_messageText = &Message Box Text:
-HelloWorldCmdTemplate_defaultMessage = Hello, Eclipse world
-HelloWorldCmdTemplate_sampleCategory = Sample Category
-HelloWorldCmdTemplate_sampleMenu_name = Sample Menu
-HelloWorldCmdTemplate_sampleMenu_mnemonic = M
-HelloWorldCmdTemplate_sampleAction_name = Sample Command
-HelloWorldCmdTemplate_sampleAction_mnemonic = S
-HelloWorldCmdTemplate_sampleAction_tooltip = Say hello world
-
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/HelloNonUIRCPNewWizard.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/HelloNonUIRCPNewWizard.java
deleted file mode 100644
index c3c4d5b..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/HelloNonUIRCPNewWizard.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.rcp;
-
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;
-
-public class HelloNonUIRCPNewWizard extends NewPluginTemplateWizard {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractNewPluginTemplateWizard#init(org.eclipse.pde.ui.IFieldData)
-	 */
-	public void init(IFieldData data) {
-		super.init(data);
-		setWindowTitle(PDETemplateMessages.HelloNonUIRCPNewWizard_title);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.NewPluginTemplateWizard#createTemplateSections()
-	 */
-	public ITemplateSection[] createTemplateSections() {
-		return new ITemplateSection[] {new HelloNonUIRCPTemplate()};
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/HelloNonUIRCPTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/HelloNonUIRCPTemplate.java
deleted file mode 100644
index 0bf7039..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/HelloNonUIRCPTemplate.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.rcp;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.IHelpContextIds;
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.internal.ui.templates.PDETemplateSection;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.PluginReference;
-
-public class HelloNonUIRCPTemplate extends PDETemplateSection {
-
-	public static final String KEY_APPLICATION_CLASS = "applicationClass"; //$NON-NLS-1$
-	public static final String KEY_APPLICATION_MESSAGE = "message"; //$NON-NLS-1$
-
-	public HelloNonUIRCPTemplate() {
-		setPageCount(1);
-		createOptions();
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0, IHelpContextIds.TEMPLATE_RCP_MAIL);
-		page.setTitle(PDETemplateMessages.HelloNonUIRCPTemplate_title);
-		page.setDescription(PDETemplateMessages.HelloNonUIRCPTemplate_desc);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	private void createOptions() {
-		addOption(KEY_PACKAGE_NAME, PDETemplateMessages.MailTemplate_packageName, (String) null, 0);
-
-		addOption(KEY_APPLICATION_CLASS, PDETemplateMessages.HelloNonUIRCPTemplate_appClass, "Application", 0); //$NON-NLS-1$
-
-		addOption(KEY_APPLICATION_MESSAGE, PDETemplateMessages.HelloNonUIRCPTemplate_messageText, PDETemplateMessages.HelloNonUIRCPTemplate_defaultMessage, 0);
-	}
-
-	protected void initializeFields(IFieldData data) {
-		// In a new project wizard, we don't know this yet - the
-		// model has not been created
-		String packageName = getFormattedPackageName(data.getId());
-		initializeOption(KEY_PACKAGE_NAME, packageName);
-	}
-
-	public void initializeFields(IPluginModelBase model) {
-		String packageName = getFormattedPackageName(model.getPluginBase().getId());
-		initializeOption(KEY_PACKAGE_NAME, packageName);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.pde.ui.templates.OptionTemplateSection#getSectionId()
-	 */
-	public String getSectionId() {
-		return "helloNonUIRCP"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#updateModel(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-		createApplicationExtension();
-	}
-
-	private void createApplicationExtension() throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-
-		IPluginExtension extension = createExtension("org.eclipse.core.runtime.applications", true); //$NON-NLS-1$
-		extension.setId("application"); //$NON-NLS-1$
-
-		IPluginElement element = model.getPluginFactory().createElement(extension);
-		element.setName("application"); //$NON-NLS-1$
-		extension.add(element);
-
-		IPluginElement run = model.getPluginFactory().createElement(element);
-		run.setName("run"); //$NON-NLS-1$
-		run.setAttribute("class", getStringOption(KEY_PACKAGE_NAME) + "." + getStringOption(KEY_APPLICATION_CLASS)); //$NON-NLS-1$ //$NON-NLS-2$
-		element.add(run);
-
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.ITemplateSection#getUsedExtensionPoint()
-	 */
-	public String getUsedExtensionPoint() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#isDependentOnParentWizard()
-	 */
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getNumberOfWorkUnits()
-	 */
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getDependencies(java.lang.String)
-	 */
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		IPluginReference[] dep = new IPluginReference[1];
-		dep[0] = new PluginReference("org.eclipse.core.runtime", null, 0); //$NON-NLS-1$
-		return dep;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/HelloRCPNewWizard.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/HelloRCPNewWizard.java
deleted file mode 100644
index a40658e..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/HelloRCPNewWizard.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.rcp;
-
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;
-
-public class HelloRCPNewWizard extends NewPluginTemplateWizard {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractNewPluginTemplateWizard#init(org.eclipse.pde.ui.IFieldData)
-	 */
-	public void init(IFieldData data) {
-		super.init(data);
-		setWindowTitle(PDETemplateMessages.HelloRCPNewWizard_title);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.NewPluginTemplateWizard#createTemplateSections()
-	 */
-	public ITemplateSection[] createTemplateSections() {
-		return new ITemplateSection[] {new HelloRCPTemplate()};
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/HelloRCPTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/HelloRCPTemplate.java
deleted file mode 100644
index e0e6e39..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/HelloRCPTemplate.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.rcp;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.IHelpContextIds;
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.internal.ui.templates.PDETemplateSection;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.PluginReference;
-
-public class HelloRCPTemplate extends PDETemplateSection {
-
-	public static final String KEY_APPLICATION_CLASS = "applicationClass"; //$NON-NLS-1$
-	public static final String KEY_WINDOW_TITLE = "windowTitle"; //$NON-NLS-1$
-
-	public HelloRCPTemplate() {
-		setPageCount(1);
-		createOptions();
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0, IHelpContextIds.TEMPLATE_RCP_MAIL);
-		page.setTitle(PDETemplateMessages.HelloRCPTemplate_title);
-		page.setDescription(PDETemplateMessages.HelloRCPTemplate_desc);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	private void createOptions() {
-		addOption(KEY_WINDOW_TITLE, PDETemplateMessages.HelloRCPTemplate_windowTitle, "Hello RCP", 0); //$NON-NLS-1$ 
-
-		addOption(KEY_PACKAGE_NAME, PDETemplateMessages.MailTemplate_packageName, (String) null, 0);
-
-		addOption(KEY_APPLICATION_CLASS, PDETemplateMessages.HelloRCPTemplate_appClass, "Application", 0); //$NON-NLS-1$ 
-
-		createBrandingOptions();
-	}
-
-	protected void initializeFields(IFieldData data) {
-		// In a new project wizard, we don't know this yet - the
-		// model has not been created
-		String packageName = getFormattedPackageName(data.getId());
-		initializeOption(KEY_PACKAGE_NAME, packageName);
-	}
-
-	public void initializeFields(IPluginModelBase model) {
-		String packageName = getFormattedPackageName(model.getPluginBase().getId());
-		initializeOption(KEY_PACKAGE_NAME, packageName);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.pde.ui.templates.OptionTemplateSection#getSectionId()
-	 */
-	public String getSectionId() {
-		return "helloRCP"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#updateModel(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-		createApplicationExtension();
-		createPerspectiveExtension();
-		if (getBooleanOption(KEY_PRODUCT_BRANDING))
-			createProductExtension();
-	}
-
-	private void createApplicationExtension() throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-
-		IPluginExtension extension = createExtension("org.eclipse.core.runtime.applications", true); //$NON-NLS-1$
-		extension.setId(VALUE_APPLICATION_ID);
-
-		IPluginElement element = model.getPluginFactory().createElement(extension);
-		element.setName("application"); //$NON-NLS-1$
-		extension.add(element);
-
-		IPluginElement run = model.getPluginFactory().createElement(element);
-		run.setName("run"); //$NON-NLS-1$
-		run.setAttribute("class", getStringOption(KEY_PACKAGE_NAME) + "." + getStringOption(KEY_APPLICATION_CLASS)); //$NON-NLS-1$ //$NON-NLS-2$
-		element.add(run);
-
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	private void createPerspectiveExtension() throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-
-		IPluginExtension extension = createExtension("org.eclipse.ui.perspectives", true); //$NON-NLS-1$
-		IPluginElement element = model.getPluginFactory().createElement(extension);
-		element.setName("perspective"); //$NON-NLS-1$
-		element.setAttribute("class", getStringOption(KEY_PACKAGE_NAME) + ".Perspective"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.setAttribute("name", VALUE_PERSPECTIVE_NAME); //$NON-NLS-1$
-		element.setAttribute("id", plugin.getId() + ".perspective"); //$NON-NLS-1$ //$NON-NLS-2$
-		extension.add(element);
-
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	private void createProductExtension() throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-		IPluginExtension extension = createExtension("org.eclipse.core.runtime.products", true); //$NON-NLS-1$
-		extension.setId(VALUE_PRODUCT_ID);
-
-		IPluginElement element = model.getFactory().createElement(extension);
-		element.setName("product"); //$NON-NLS-1$
-		element.setAttribute("name", getStringOption(KEY_WINDOW_TITLE)); //$NON-NLS-1$  
-		element.setAttribute("application", plugin.getId() + "." + VALUE_APPLICATION_ID); //$NON-NLS-1$ //$NON-NLS-2$
-
-		IPluginElement property = model.getFactory().createElement(element);
-
-		property = model.getFactory().createElement(element);
-		property.setName("property"); //$NON-NLS-1$
-		property.setAttribute("name", "windowImages"); //$NON-NLS-1$ //$NON-NLS-2$
-		property.setAttribute("value", "icons/alt_window_16.gif,icons/alt_window_32.gif"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.add(property);
-
-		extension.add(element);
-
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.ITemplateSection#getUsedExtensionPoint()
-	 */
-	public String getUsedExtensionPoint() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#isDependentOnParentWizard()
-	 */
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getNumberOfWorkUnits()
-	 */
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getDependencies(java.lang.String)
-	 */
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		IPluginReference[] dep = new IPluginReference[2];
-		dep[0] = new PluginReference("org.eclipse.core.runtime", null, 0); //$NON-NLS-1$
-		dep[1] = new PluginReference("org.eclipse.ui", null, 0); //$NON-NLS-1$
-		return dep;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.templates.PDETemplateSection#getNewFiles()
-	 */
-	public String[] getNewFiles() {
-		if (copyBrandingDirectory())
-			return new String[] {"icons/", "splash.bmp"}; //$NON-NLS-1$ //$NON-NLS-2$
-		return super.getNewFiles();
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/IntroNewWizard.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/IntroNewWizard.java
deleted file mode 100644
index 4226e5b..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/IntroNewWizard.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.pde.internal.ui.templates.rcp;
-
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;
-
-public class IntroNewWizard extends NewPluginTemplateWizard {
-
-	public void init(IFieldData data) {
-		super.init(data);
-		setWindowTitle(PDETemplateMessages.IntroNewWizard_wtitle);
-	}
-
-	public ITemplateSection[] createTemplateSections() {
-		return new ITemplateSection[] {new IntroTemplate()};
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/IntroTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/IntroTemplate.java
deleted file mode 100644
index 8ee34a0..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/IntroTemplate.java
+++ /dev/null
@@ -1,288 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.pde.internal.ui.templates.rcp;
-
-import java.io.File;
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.IPluginModelFactory;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.IHelpContextIds;
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.internal.ui.templates.PDETemplateSection;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.AbstractTemplateSection;
-import org.eclipse.pde.ui.templates.PluginReference;
-
-public class IntroTemplate extends PDETemplateSection {
-
-	private static final String DYNAMIC_SELECTED = "dynamic"; //$NON-NLS-1$
-
-	private static final String STATIC_SELECTED = "static"; //$NON-NLS-1$
-
-	private static final String KEY_GENERATE_DYNAMIC_CONTENT = "IntroTemplate.generateDynamicContent"; //$NON-NLS-1$
-
-	private String packageName;
-	private String introID;
-	private static final String APPLICATION_CLASS = "Application"; //$NON-NLS-1$
-
-	public IntroTemplate() {
-		super();
-		setPageCount(1);
-		createOptions();
-	}
-
-	private void createOptions() {
-
-		addOption(KEY_PRODUCT_NAME, PDETemplateMessages.IntroTemplate_productName, VALUE_PRODUCT_NAME, 0);
-
-		addOption(KEY_GENERATE_DYNAMIC_CONTENT, PDETemplateMessages.IntroTemplate_generate, new String[][] { {STATIC_SELECTED, PDETemplateMessages.IntroTemplate_generateStaticContent}, {DYNAMIC_SELECTED, PDETemplateMessages.IntroTemplate_generateDynamicContent}}, STATIC_SELECTED, 0);
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0, IHelpContextIds.TEMPLATE_INTRO);
-		page.setTitle(PDETemplateMessages.IntroTemplate_title);
-		page.setDescription(PDETemplateMessages.IntroTemplate_desc);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	public String getSectionId() {
-		return "intro"; //$NON-NLS-1$
-	}
-
-	protected void initializeFields(IFieldData data) {
-		// In a new project wizard, we don't know this yet - the
-		// model has not been created
-		String pluginId = data.getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(pluginId) + ".intro"); //$NON-NLS-1$
-		packageName = getFormattedPackageName(pluginId) + ".intro"; //$NON-NLS-1$
-		introID = getFormattedPackageName(pluginId) + ".intro"; //$NON-NLS-1$
-	}
-
-	public void initializeFields(IPluginModelBase model) {
-		// In the new extension wizard, the model exists so 
-		// we can initialize directly from it
-		String pluginId = model.getPluginBase().getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(pluginId) + ".intro"); //$NON-NLS-1$
-		packageName = getFormattedPackageName(pluginId) + ".intro"; //$NON-NLS-1$
-		introID = getFormattedPackageName(pluginId) + ".intro"; //$NON-NLS-1$
-	}
-
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-
-		IPluginBase plugin = model.getPluginBase();
-		IPluginModelFactory factory = model.getPluginFactory();
-
-		// org.eclipse.core.runtime.applications
-		IPluginExtension extension = createExtension("org.eclipse.core.runtime.applications", true); //$NON-NLS-1$
-		extension.setId(VALUE_APPLICATION_ID);
-
-		IPluginElement element = model.getPluginFactory().createElement(extension);
-		element.setName("application"); //$NON-NLS-1$
-		extension.add(element);
-
-		IPluginElement run = model.getPluginFactory().createElement(element);
-		run.setName("run"); //$NON-NLS-1$
-		run.setAttribute("class", getStringOption(KEY_PACKAGE_NAME) + "." + APPLICATION_CLASS); //$NON-NLS-1$ //$NON-NLS-2$
-		element.add(run);
-
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-
-		// org.eclipse.ui.perspectives
-		IPluginExtension perspectivesExtension = createExtension("org.eclipse.ui.perspectives", true); //$NON-NLS-1$
-		IPluginElement perspectiveElement = model.getPluginFactory().createElement(perspectivesExtension);
-		perspectiveElement.setName("perspective"); //$NON-NLS-1$
-		perspectiveElement.setAttribute("class", getStringOption(KEY_PACKAGE_NAME) + ".Perspective"); //$NON-NLS-1$ //$NON-NLS-2$
-		perspectiveElement.setAttribute("name", VALUE_PERSPECTIVE_NAME); //$NON-NLS-1$
-		perspectiveElement.setAttribute("id", plugin.getId() + ".perspective"); //$NON-NLS-1$ //$NON-NLS-2$
-		perspectivesExtension.add(perspectiveElement);
-
-		if (!perspectivesExtension.isInTheModel())
-			plugin.add(perspectivesExtension);
-
-		createProductExtension();
-
-		// org.eclipse.ui.intro
-		IPluginExtension extension2 = createExtension("org.eclipse.ui.intro", true); //$NON-NLS-1$
-
-		IPluginElement introElement = factory.createElement(extension2);
-		introElement.setName("intro"); //$NON-NLS-1$
-		introElement.setAttribute("id", introID); //$NON-NLS-1$
-		introElement.setAttribute("class", //$NON-NLS-1$
-				"org.eclipse.ui.intro.config.CustomizableIntroPart"); //$NON-NLS-1$
-		extension2.add(introElement);
-
-		IPluginElement introProductBindingElement = factory.createElement(extension2);
-		introProductBindingElement.setName("introProductBinding"); //$NON-NLS-1$
-		introProductBindingElement.setAttribute("introId", introID);//$NON-NLS-1$
-
-		introProductBindingElement.setAttribute("productId", plugin.getId() //$NON-NLS-1$
-				+ '.' + VALUE_PRODUCT_ID);
-		extension2.add(introProductBindingElement);
-
-		if (!extension2.isInTheModel())
-			plugin.add(extension2);
-
-		// org.eclipse.ui.intro.config
-		IPluginExtension extension3 = createExtension("org.eclipse.ui.intro.config", true); //$NON-NLS-1$
-
-		IPluginElement configurationElement = factory.createElement(extension3);
-		configurationElement.setName("config"); //$NON-NLS-1$
-		configurationElement.setAttribute("id", plugin.getId() + '.' //$NON-NLS-1$
-				+ "configId"); //$NON-NLS-1$
-		configurationElement.setAttribute("introId", introID);//$NON-NLS-1$            
-		configurationElement.setAttribute("content", "introContent.xml"); //$NON-NLS-1$ //$NON-NLS-2$
-		IPluginElement presentationElement = factory.createElement(configurationElement);
-		presentationElement.setName("presentation"); //$NON-NLS-1$
-		presentationElement.setAttribute("home-page-id", "root"); //$NON-NLS-1$ //$NON-NLS-2$
-		IPluginElement implementationElement = factory.createElement(presentationElement);
-		implementationElement.setName("implementation"); //$NON-NLS-1$
-		implementationElement.setAttribute("os", "win32,linux,macosx"); //$NON-NLS-1$ //$NON-NLS-2$
-		if (getTargetVersion() == 3.0)
-			implementationElement.setAttribute("style", "content/shared.css"); //$NON-NLS-1$//$NON-NLS-2$
-
-		implementationElement.setAttribute("kind", "html"); //$NON-NLS-1$ //$NON-NLS-2$
-		presentationElement.add(implementationElement);
-		configurationElement.add(presentationElement);
-		extension3.add(configurationElement);
-
-		if (!extension3.isInTheModel())
-			plugin.add(extension3);
-
-		// org.eclipse.ui.intro.configExtension
-		if (getValue(KEY_GENERATE_DYNAMIC_CONTENT).toString().equals(DYNAMIC_SELECTED)) {
-			IPluginExtension extension4 = createExtension("org.eclipse.ui.intro.configExtension", true); //$NON-NLS-1$
-
-			IPluginElement configExtensionElement = factory.createElement(extension4);
-			configExtensionElement.setName("configExtension"); //$NON-NLS-1$
-			configExtensionElement.setAttribute("configId", plugin.getId() + '.' + "configId"); //$NON-NLS-1$ //$NON-NLS-2$
-			configExtensionElement.setAttribute("content", "ext.xml"); //$NON-NLS-1$ //$NON-NLS-2$
-			extension4.add(configExtensionElement);
-
-			if (!extension4.isInTheModel())
-				plugin.add(extension4);
-		}
-
-	}
-
-	private void createProductExtension() throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-		IPluginExtension extension = createExtension("org.eclipse.core.runtime.products", true); //$NON-NLS-1$
-		extension.setId(VALUE_PRODUCT_ID);
-
-		IPluginElement element = model.getFactory().createElement(extension);
-		element.setName("product"); //$NON-NLS-1$
-		element.setAttribute("name", getStringOption(KEY_PRODUCT_NAME)); //$NON-NLS-1$		
-		element.setAttribute("application", plugin.getId() + "." + VALUE_APPLICATION_ID); //$NON-NLS-1$ //$NON-NLS-2$
-
-		IPluginElement property = model.getFactory().createElement(element);
-
-		property = model.getFactory().createElement(element);
-		property.setName("property"); //$NON-NLS-1$
-		property.setAttribute("name", "windowImages"); //$NON-NLS-1$ //$NON-NLS-2$
-		property.setAttribute("value", "icons/alt_window_16.gif,icons/alt_window_32.gif"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.add(property);
-
-		extension.add(element);
-
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	protected boolean isOkToCreateFolder(File sourceFolder) {
-		return true;
-	}
-
-	/**
-	 * @see AbstractTemplateSection#isOkToCreateFile(File)
-	 */
-	protected boolean isOkToCreateFile(File sourceFile) {
-
-		if (getValue(KEY_GENERATE_DYNAMIC_CONTENT).toString().equals(STATIC_SELECTED) && (sourceFile.getName().equals("DynamicContentProvider.java") || //$NON-NLS-1$
-				sourceFile.getName().equals("concept3.xhtml") || //$NON-NLS-1$
-				sourceFile.getName().equals("extContent.xhtml") || //$NON-NLS-1$
-				sourceFile.getName().equals("ext.xml"))) { //$NON-NLS-1$
-			return false;
-		}
-
-		return true;
-	}
-
-	public String getUsedExtensionPoint() {
-		return "org.eclipse.ui.intro"; // need more then one extension point //$NON-NLS-1$
-	}
-
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		ArrayList result = new ArrayList();
-
-		result.add(new PluginReference("org.eclipse.ui.intro", null, 0)); //$NON-NLS-1$
-		result.add(new PluginReference("org.eclipse.core.runtime", null, 0)); //$NON-NLS-1$
-		result.add(new PluginReference("org.eclipse.ui", null, 0)); //$NON-NLS-1$
-
-		if (getValue(KEY_GENERATE_DYNAMIC_CONTENT).toString().equals(DYNAMIC_SELECTED)) {
-			result.add(new PluginReference("org.eclipse.ui.forms", null, 0)); //$NON-NLS-1$
-			result.add(new PluginReference("org.eclipse.swt", null, 0)); //$NON-NLS-1$
-		}
-
-		return (IPluginReference[]) result.toArray(new IPluginReference[result.size()]);
-	}
-
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	public Object getValue(String valueName) {
-
-		if (valueName.equals(KEY_PACKAGE_NAME)) {
-			return packageName;
-		}
-
-		return super.getValue(valueName);
-	}
-
-	public String getStringOption(String name) {
-
-		if (name.equals(KEY_PACKAGE_NAME)) {
-			return packageName;
-		}
-
-		return super.getStringOption(name);
-	}
-
-	public String[] getNewFiles() {
-		if (getValue(KEY_GENERATE_DYNAMIC_CONTENT).toString().equals(STATIC_SELECTED)) {
-			return new String[] {"icons/", "content/", "splash.bmp", "introContent.xml"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		}
-		return new String[] {"icons/", "content/", "splash.bmp", "introContent.xml", "ext.xml"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.templates.PDETemplateSection#copyBrandingDirectory()
-	 */
-	protected boolean copyBrandingDirectory() {
-		return true;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/MailNewWizard.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/MailNewWizard.java
deleted file mode 100644
index 5376cd8..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/MailNewWizard.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.rcp;
-
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;
-
-public class MailNewWizard extends NewPluginTemplateWizard {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractNewPluginTemplateWizard#init(org.eclipse.pde.ui.IFieldData)
-	 */
-	public void init(IFieldData data) {
-		super.init(data);
-		setWindowTitle(PDETemplateMessages.MailNewWizard_title);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.NewPluginTemplateWizard#createTemplateSections()
-	 */
-	public ITemplateSection[] createTemplateSections() {
-		return new ITemplateSection[] {new MailTemplate()};
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/MailTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/MailTemplate.java
deleted file mode 100644
index 1cb0b39..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/MailTemplate.java
+++ /dev/null
@@ -1,324 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.rcp;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.IHelpContextIds;
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.internal.ui.templates.PDETemplateSection;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.PluginReference;
-
-public class MailTemplate extends PDETemplateSection {
-
-	public static final String KEY_WORKBENCH_ADVISOR = "advisor"; //$NON-NLS-1$
-	public static final String KEY_APPLICATION_CLASS = "applicationClass"; //$NON-NLS-1$
-
-	public MailTemplate() {
-		setPageCount(1);
-		createOptions();
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0, IHelpContextIds.TEMPLATE_RCP_MAIL);
-		page.setTitle(PDETemplateMessages.MailTemplate_title);
-		page.setDescription(PDETemplateMessages.MailTemplate_desc);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	private void createOptions() {
-		addOption(KEY_PRODUCT_NAME, PDETemplateMessages.MailTemplate_productName, VALUE_PRODUCT_NAME, 0);
-
-		addOption(KEY_PACKAGE_NAME, PDETemplateMessages.MailTemplate_packageName, (String) null, 0); //		
-
-		addOption(KEY_APPLICATION_CLASS, PDETemplateMessages.MailTemplate_appClass, "Application", 0); //$NON-NLS-1$ 
-	}
-
-	protected void initializeFields(IFieldData data) {
-		// In a new project wizard, we don't know this yet - the
-		// model has not been created
-		String packageName = getFormattedPackageName(data.getId());
-		initializeOption(KEY_PACKAGE_NAME, packageName);
-	}
-
-	public void initializeFields(IPluginModelBase model) {
-		String packageName = getFormattedPackageName(model.getPluginBase().getId());
-		initializeOption(KEY_PACKAGE_NAME, packageName);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.pde.ui.templates.OptionTemplateSection#getSectionId()
-	 */
-	public String getSectionId() {
-		return "mail"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#updateModel(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-		createApplicationExtension();
-		createPerspectiveExtension();
-		createViewExtension();
-		if (getTargetVersion() >= 3.1) {
-			createCommandExtension(false);
-			createBindingsExtension();
-		} else {
-			createCommandExtension(true);
-		}
-		createProductExtension();
-	}
-
-	private void createApplicationExtension() throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-
-		IPluginExtension extension = createExtension("org.eclipse.core.runtime.applications", true); //$NON-NLS-1$
-		extension.setId(VALUE_APPLICATION_ID);
-
-		IPluginElement element = model.getPluginFactory().createElement(extension);
-		element.setName("application"); //$NON-NLS-1$
-		extension.add(element);
-
-		IPluginElement run = model.getPluginFactory().createElement(element);
-		run.setName("run"); //$NON-NLS-1$
-		run.setAttribute("class", getStringOption(KEY_PACKAGE_NAME) + "." + getStringOption(KEY_APPLICATION_CLASS)); //$NON-NLS-1$ //$NON-NLS-2$
-		element.add(run);
-
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	private void createPerspectiveExtension() throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-
-		IPluginExtension extension = createExtension("org.eclipse.ui.perspectives", true); //$NON-NLS-1$
-		IPluginElement element = model.getPluginFactory().createElement(extension);
-		element.setName("perspective"); //$NON-NLS-1$
-		element.setAttribute("class", getStringOption(KEY_PACKAGE_NAME) + ".Perspective"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.setAttribute("name", VALUE_PERSPECTIVE_NAME); //$NON-NLS-1$
-		element.setAttribute("id", plugin.getId() + ".perspective"); //$NON-NLS-1$ //$NON-NLS-2$
-		extension.add(element);
-
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	private void createViewExtension() throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-		String id = plugin.getId();
-		IPluginExtension extension = createExtension("org.eclipse.ui.views", true); //$NON-NLS-1$
-
-		IPluginElement view = model.getPluginFactory().createElement(extension);
-		view.setName("view"); //$NON-NLS-1$
-		view.setAttribute("allowMultiple", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		view.setAttribute("icon", "icons/sample2.gif"); //$NON-NLS-1$ //$NON-NLS-2$
-		view.setAttribute("class", getStringOption(KEY_PACKAGE_NAME) + ".View"); //$NON-NLS-1$ //$NON-NLS-2$
-		view.setAttribute("name", "Message"); //$NON-NLS-1$ //$NON-NLS-2$
-		view.setAttribute("id", id + ".view"); //$NON-NLS-1$ //$NON-NLS-2$
-		extension.add(view);
-
-		view = model.getPluginFactory().createElement(extension);
-		view.setName("view"); //$NON-NLS-1$
-		view.setAttribute("allowMultiple", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-		view.setAttribute("icon", "icons/sample3.gif"); //$NON-NLS-1$ //$NON-NLS-2$
-		view.setAttribute("class", getStringOption(KEY_PACKAGE_NAME) + ".NavigationView"); //$NON-NLS-1$ //$NON-NLS-2$
-		view.setAttribute("name", "Mailboxes"); //$NON-NLS-1$ //$NON-NLS-2$
-		view.setAttribute("id", id + ".navigationView"); //$NON-NLS-1$ //$NON-NLS-2$
-		extension.add(view);
-
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	private void createCommandExtension(boolean generateKeyBindings) throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-		String id = plugin.getId();
-		IPluginExtension extension = createExtension("org.eclipse.ui.commands", true); //$NON-NLS-1$
-
-		IPluginElement element = model.getPluginFactory().createElement(extension);
-		element.setName("category"); //$NON-NLS-1$
-		element.setAttribute("id", id + ".category"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.setAttribute("name", "Mail"); //$NON-NLS-1$ //$NON-NLS-2$
-		extension.add(element);
-
-		element = model.getPluginFactory().createElement(extension);
-		element.setName("command"); //$NON-NLS-1$
-		element.setAttribute("description", "Opens a mailbox"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.setAttribute("name", "Open Mailbox"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.setAttribute("id", id + ".open"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.setAttribute("categoryId", id + ".category"); //$NON-NLS-1$ //$NON-NLS-2$
-		extension.add(element);
-
-		element = model.getPluginFactory().createElement(extension);
-		element.setName("command"); //$NON-NLS-1$
-		element.setAttribute("description", "Open a message dialog"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.setAttribute("name", "Open Message Dialog"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.setAttribute("id", id + ".openMessage"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.setAttribute("categoryId", id + ".category"); //$NON-NLS-1$ //$NON-NLS-2$
-		extension.add(element);
-
-		if (generateKeyBindings) {
-			element = model.getPluginFactory().createElement(extension);
-			element.setName("keyConfiguration"); //$NON-NLS-1$
-			element.setAttribute("description", "The key configuration for this sample"); //$NON-NLS-1$ //$NON-NLS-2$
-			element.setAttribute("name", id + ".keyConfiguration"); //$NON-NLS-1$ //$NON-NLS-2$
-			element.setAttribute("id", id + ".keyConfiguration"); //$NON-NLS-1$ //$NON-NLS-2$
-			extension.add(element);
-
-			element = model.getPluginFactory().createElement(extension);
-			element.setName("keyBinding"); //$NON-NLS-1$
-			element.setAttribute("commandId", id + ".open"); //$NON-NLS-1$ //$NON-NLS-2$
-			element.setAttribute("keySequence", "CTRL+2"); //$NON-NLS-1$ //$NON-NLS-2$
-			element.setAttribute("keyConfigurationId", "org.eclipse.ui.defaultAcceleratorConfiguration"); //$NON-NLS-1$ //$NON-NLS-2$
-			extension.add(element);
-
-			element = model.getPluginFactory().createElement(extension);
-			element.setName("keyBinding"); //$NON-NLS-1$
-			element.setAttribute("commandId", id + ".openMessage"); //$NON-NLS-1$ //$NON-NLS-2$
-			element.setAttribute("keySequence", "CTRL+3"); //$NON-NLS-1$ //$NON-NLS-2$
-			element.setAttribute("keyConfigurationId", "org.eclipse.ui.defaultAcceleratorConfiguration"); //$NON-NLS-1$ //$NON-NLS-2$
-			extension.add(element);
-
-			element = model.getPluginFactory().createElement(extension);
-			element.setName("keyBinding"); //$NON-NLS-1$
-			element.setAttribute("commandId", "org.eclipse.ui.file.exit"); //$NON-NLS-1$ //$NON-NLS-2$
-			element.setAttribute("keySequence", "CTRL+Q"); //$NON-NLS-1$ //$NON-NLS-2$
-			element.setAttribute("keyConfigurationId", "org.eclipse.ui.defaultAcceleratorConfiguration"); //$NON-NLS-1$ //$NON-NLS-2$
-			extension.add(element);
-		}
-
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	private void createBindingsExtension() throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-		String id = plugin.getId();
-		IPluginExtension extension = createExtension("org.eclipse.ui.bindings", true); //$NON-NLS-1$
-
-		IPluginElement element = model.getPluginFactory().createElement(extension);
-		element.setName("key"); //$NON-NLS-1$
-		element.setAttribute("commandId", id + ".open"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.setAttribute("sequence", "CTRL+2"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.setAttribute("schemeId", "org.eclipse.ui.defaultAcceleratorConfiguration"); //$NON-NLS-1$ //$NON-NLS-2$
-		extension.add(element);
-
-		element = model.getPluginFactory().createElement(extension);
-		element.setName("key"); //$NON-NLS-1$
-		element.setAttribute("commandId", id + ".openMessage"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.setAttribute("sequence", "CTRL+3"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.setAttribute("schemeId", "org.eclipse.ui.defaultAcceleratorConfiguration"); //$NON-NLS-1$ //$NON-NLS-2$
-		extension.add(element);
-
-		element = model.getPluginFactory().createElement(extension);
-		element.setName("key"); //$NON-NLS-1$
-		element.setAttribute("commandId", "org.eclipse.ui.file.exit"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.setAttribute("sequence", "CTRL+X"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.setAttribute("schemeId", "org.eclipse.ui.defaultAcceleratorConfiguration"); //$NON-NLS-1$ //$NON-NLS-2$
-		extension.add(element);
-
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	private void createProductExtension() throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-		IPluginExtension extension = createExtension("org.eclipse.core.runtime.products", true); //$NON-NLS-1$
-		extension.setId(VALUE_PRODUCT_ID);
-
-		IPluginElement element = model.getFactory().createElement(extension);
-		element.setName("product"); //$NON-NLS-1$
-		element.setAttribute("name", getStringOption(KEY_PRODUCT_NAME)); //$NON-NLS-1$		
-		element.setAttribute("application", plugin.getId() + "." + VALUE_APPLICATION_ID); //$NON-NLS-1$ //$NON-NLS-2$
-
-		IPluginElement property = model.getFactory().createElement(element);
-		property.setName("property"); //$NON-NLS-1$
-		property.setAttribute("name", "aboutText"); //$NON-NLS-1$ //$NON-NLS-2$
-		property.setAttribute("value", "RCP Mail template created by PDE"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.add(property);
-
-		property = model.getFactory().createElement(element);
-		property.setName("property"); //$NON-NLS-1$
-		property.setAttribute("name", "windowImages"); //$NON-NLS-1$ //$NON-NLS-2$
-		property.setAttribute("value", "icons/sample2.gif"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.add(property);
-
-		property = model.getFactory().createElement(element);
-		property.setName("property"); //$NON-NLS-1$
-		property.setAttribute("name", "aboutImage"); //$NON-NLS-1$ //$NON-NLS-2$
-		property.setAttribute("value", "product_lg.gif"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.add(property);
-
-		extension.add(element);
-
-		if (!extension.isInTheModel()) {
-			plugin.add(extension);
-		}
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.ITemplateSection#getUsedExtensionPoint()
-	 */
-	public String getUsedExtensionPoint() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#isDependentOnParentWizard()
-	 */
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getNumberOfWorkUnits()
-	 */
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getDependencies(java.lang.String)
-	 */
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		IPluginReference[] dep = new IPluginReference[2];
-		dep[0] = new PluginReference("org.eclipse.core.runtime", null, 0); //$NON-NLS-1$
-		dep[1] = new PluginReference("org.eclipse.ui", null, 0); //$NON-NLS-1$
-		return dep;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.wizards.templates.PDETemplateSection#getNewFiles()
-	 */
-	public String[] getNewFiles() {
-		return new String[] {"icons/", "product_lg.gif", "splash.bmp"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.templates.PDETemplateSection#copyBrandingDirectory()
-	 */
-	protected boolean copyBrandingDirectory() {
-		return true;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/ViewRCPNewWizard.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/ViewRCPNewWizard.java
deleted file mode 100644
index b9c885e..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/ViewRCPNewWizard.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.rcp;
-
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.ITemplateSection;
-import org.eclipse.pde.ui.templates.NewPluginTemplateWizard;
-
-public class ViewRCPNewWizard extends NewPluginTemplateWizard {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractNewPluginTemplateWizard#init(org.eclipse.pde.ui.IFieldData)
-	 */
-	public void init(IFieldData data) {
-		super.init(data);
-		setWindowTitle(PDETemplateMessages.ViewRCPNewWizard_title);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.NewPluginTemplateWizard#createTemplateSections()
-	 */
-	public ITemplateSection[] createTemplateSections() {
-		return new ITemplateSection[] {new ViewRCPTemplate()};
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/ViewRCPTemplate.java b/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/ViewRCPTemplate.java
deleted file mode 100644
index 881cb7e..0000000
--- a/ui/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/ViewRCPTemplate.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.templates.rcp;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.IPluginReference;
-import org.eclipse.pde.internal.ui.templates.IHelpContextIds;
-import org.eclipse.pde.internal.ui.templates.PDETemplateMessages;
-import org.eclipse.pde.internal.ui.templates.PDETemplateSection;
-import org.eclipse.pde.ui.IFieldData;
-import org.eclipse.pde.ui.templates.PluginReference;
-
-public class ViewRCPTemplate extends PDETemplateSection {
-
-	public static final String KEY_APPLICATION_CLASS = "applicationClass"; //$NON-NLS-1$
-	public static final String KEY_WINDOW_TITLE = "windowTitle"; //$NON-NLS-1$
-
-	public ViewRCPTemplate() {
-		setPageCount(1);
-		createOptions();
-	}
-
-	public void addPages(Wizard wizard) {
-		WizardPage page = createPage(0, IHelpContextIds.TEMPLATE_RCP_MAIL);
-		page.setTitle(PDETemplateMessages.ViewRCPTemplate_title);
-		page.setDescription(PDETemplateMessages.ViewRCPTemplate_desc);
-		wizard.addPage(page);
-		markPagesAdded();
-	}
-
-	private void createOptions() {
-		addOption(KEY_WINDOW_TITLE, PDETemplateMessages.ViewRCPTemplate_windowTitle, "RCP Application", 0); //$NON-NLS-1$ 
-
-		addOption(KEY_PACKAGE_NAME, PDETemplateMessages.ViewRCPTemplate_packageName, (String) null, 0);
-
-		addOption(KEY_APPLICATION_CLASS, PDETemplateMessages.ViewRCPTemplate_appClass, "Application", 0); //$NON-NLS-1$
-
-		createBrandingOptions();
-	}
-
-	protected void initializeFields(IFieldData data) {
-		// In a new project wizard, we don't know this yet - the
-		// model has not been created
-		String id = data.getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(id));
-	}
-
-	public void initializeFields(IPluginModelBase model) {
-		// In the new extension wizard, the model exists so 
-		// we can initialize directly from it
-		String pluginId = model.getPluginBase().getId();
-		initializeOption(KEY_PACKAGE_NAME, getFormattedPackageName(pluginId));
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.pde.ui.templates.OptionTemplateSection#getSectionId()
-	 */
-	public String getSectionId() {
-		return "viewRCP"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#updateModel(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void updateModel(IProgressMonitor monitor) throws CoreException {
-		createApplicationExtension();
-		createPerspectiveExtension();
-		createViewExtension();
-		if (getBooleanOption(KEY_PRODUCT_BRANDING))
-			createProductExtension();
-	}
-
-	private void createApplicationExtension() throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-
-		IPluginExtension extension = createExtension("org.eclipse.core.runtime.applications", true); //$NON-NLS-1$
-		extension.setId(VALUE_APPLICATION_ID);
-
-		IPluginElement element = model.getPluginFactory().createElement(extension);
-		element.setName("application"); //$NON-NLS-1$
-		extension.add(element);
-
-		IPluginElement run = model.getPluginFactory().createElement(element);
-		run.setName("run"); //$NON-NLS-1$
-		run.setAttribute("class", getStringOption(KEY_PACKAGE_NAME) + "." + getStringOption(KEY_APPLICATION_CLASS)); //$NON-NLS-1$ //$NON-NLS-2$
-		element.add(run);
-
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	private void createPerspectiveExtension() throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-
-		IPluginExtension extension = createExtension("org.eclipse.ui.perspectives", true); //$NON-NLS-1$
-		IPluginElement element = model.getPluginFactory().createElement(extension);
-		element.setName("perspective"); //$NON-NLS-1$
-		element.setAttribute("class", getStringOption(KEY_PACKAGE_NAME) + ".Perspective"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.setAttribute("name", "Perspective"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.setAttribute("id", plugin.getId() + ".perspective"); //$NON-NLS-1$ //$NON-NLS-2$
-		extension.add(element);
-
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	private void createViewExtension() throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-		String id = plugin.getId();
-		IPluginExtension extension = createExtension("org.eclipse.ui.views", true); //$NON-NLS-1$
-
-		IPluginElement view = model.getPluginFactory().createElement(extension);
-		view.setName("view"); //$NON-NLS-1$
-		view.setAttribute("class", getStringOption(KEY_PACKAGE_NAME) + ".View"); //$NON-NLS-1$ //$NON-NLS-2$
-		view.setAttribute("name", "View"); //$NON-NLS-1$ //$NON-NLS-2$
-		view.setAttribute("id", id + ".view"); //$NON-NLS-1$ //$NON-NLS-2$
-		extension.add(view);
-
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	private void createProductExtension() throws CoreException {
-		IPluginBase plugin = model.getPluginBase();
-		IPluginExtension extension = createExtension("org.eclipse.core.runtime.products", true); //$NON-NLS-1$
-		extension.setId(VALUE_PRODUCT_ID);
-
-		IPluginElement element = model.getFactory().createElement(extension);
-		element.setName("product"); //$NON-NLS-1$
-		element.setAttribute("name", getStringOption(KEY_WINDOW_TITLE)); //$NON-NLS-1$
-		element.setAttribute("application", plugin.getId() + "." + VALUE_APPLICATION_ID); //$NON-NLS-1$ //$NON-NLS-2$
-
-		IPluginElement property = model.getFactory().createElement(element);
-
-		property = model.getFactory().createElement(element);
-		property.setName("property"); //$NON-NLS-1$
-		property.setAttribute("name", "windowImages"); //$NON-NLS-1$ //$NON-NLS-2$
-		property.setAttribute("value", "icons/alt_window_16.gif,icons/alt_window_32.gif"); //$NON-NLS-1$ //$NON-NLS-2$
-		element.add(property);
-
-		extension.add(element);
-
-		if (!extension.isInTheModel())
-			plugin.add(extension);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.pde.ui.templates.ITemplateSection#getUsedExtensionPoint()
-	 */
-	public String getUsedExtensionPoint() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.BaseOptionTemplateSection#isDependentOnParentWizard()
-	 */
-	public boolean isDependentOnParentWizard() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getNumberOfWorkUnits()
-	 */
-	public int getNumberOfWorkUnits() {
-		return super.getNumberOfWorkUnits() + 1;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.templates.AbstractTemplateSection#getDependencies(java.lang.String)
-	 */
-	public IPluginReference[] getDependencies(String schemaVersion) {
-		IPluginReference[] dep = new IPluginReference[2];
-		dep[0] = new PluginReference("org.eclipse.core.runtime", null, 0); //$NON-NLS-1$
-		dep[1] = new PluginReference("org.eclipse.ui", null, 0); //$NON-NLS-1$
-		return dep;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.internal.ui.templates.PDETemplateSection#getNewFiles()
-	 */
-	public String[] getNewFiles() {
-		if (copyBrandingDirectory())
-			return new String[] {"icons/", "splash.bmp"}; //$NON-NLS-1$ //$NON-NLS-2$
-		return super.getNewFiles();
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/OSGiPreferencesService/java/$activator$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/OSGiPreferencesService/java/$activator$.java
deleted file mode 100644
index d4f2816..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/OSGiPreferencesService/java/$activator$.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package $packageName$;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.service.prefs.PreferencesService;
-import org.osgi.service.prefs.Preferences;
-
-public class $activator$ implements BundleActivator {
-
-	private ServiceTracker tracker;
-	private PreferencesService service;
-	private static final String COLOR = "color"; //$NON-NLS-1$
-	
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		tracker = new ServiceTracker(context, PreferencesService.class.getName(), null);
-		tracker.open();
-		
-		// grab the service
-		service = (PreferencesService) tracker.getService();
-		Preferences preferences = service.getSystemPreferences();
-		
-		preferences.put(COLOR, "$color$");
-		
-		System.out.println("My favourite color is: " + preferences.get(COLOR, "")); 
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		// clean up
-		tracker.close();
-		tracker = null;
-		
-		service = null;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/OSGiSimpleLogService/java/$activator$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/OSGiSimpleLogService/java/$activator$.java
deleted file mode 100644
index 94be5a7..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/OSGiSimpleLogService/java/$activator$.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package $packageName$;
-
-import java.util.Hashtable;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class $activator$ implements BundleActivator {
-
-	private ServiceTracker simpleLogServiceTracker;
-	private SimpleLogService simpleLogService;
-	
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		// register the service
-		context.registerService(
-				SimpleLogService.class.getName(), 
-				new SimpleLogServiceImpl(), 
-				new Hashtable());
-		
-		// create a tracker and track the log service
-		simpleLogServiceTracker = 
-			new ServiceTracker(context, SimpleLogService.class.getName(), null);
-		simpleLogServiceTracker.open();
-		
-		// grab the service
-		simpleLogService = (SimpleLogService) simpleLogServiceTracker.getService();
-
-		if(simpleLogService != null)
-			simpleLogService.log("$startLogMessage$");
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		if(simpleLogService != null)
-			simpleLogService.log("$stopLogMessage$");
-		
-		// close the service tracker
-		simpleLogServiceTracker.close();
-		simpleLogServiceTracker = null;
-		
-		simpleLogService = null;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/OSGiSimpleLogService/java/SimpleLogService.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/OSGiSimpleLogService/java/SimpleLogService.java
deleted file mode 100644
index ca69508..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/OSGiSimpleLogService/java/SimpleLogService.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package $packageName$;
-
-public interface SimpleLogService {
-
-	public void log(String message);
-	
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/OSGiSimpleLogService/java/SimpleLogServiceImpl.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/OSGiSimpleLogService/java/SimpleLogServiceImpl.java
deleted file mode 100644
index 5a3ffd9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/OSGiSimpleLogService/java/SimpleLogServiceImpl.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package $packageName$;
-
-public class SimpleLogServiceImpl implements SimpleLogService {
-
-	public void log(String message) {
-		System.out.println(message);
-	}
-	
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/builder/java/$builderClassName$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/builder/java/$builderClassName$.java
deleted file mode 100644
index 5c3aee9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/builder/java/$builderClassName$.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package $packageName$;
-
-import java.util.Map;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.helpers.DefaultHandler;
-
-public class $builderClassName$ extends IncrementalProjectBuilder {
-
-	class SampleDeltaVisitor implements IResourceDeltaVisitor {
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.core.resources.IResourceDeltaVisitor#visit(org.eclipse.core.resources.IResourceDelta)
-		 */
-		public boolean visit(IResourceDelta delta) throws CoreException {
-			IResource resource = delta.getResource();
-			switch (delta.getKind()) {
-			case IResourceDelta.ADDED:
-				// handle added resource
-				checkXML(resource);
-				break;
-			case IResourceDelta.REMOVED:
-				// handle removed resource
-				break;
-			case IResourceDelta.CHANGED:
-				// handle changed resource
-				checkXML(resource);
-				break;
-			}
-			//return true to continue visiting children.
-			return true;
-		}
-	}
-
-	class SampleResourceVisitor implements IResourceVisitor {
-		public boolean visit(IResource resource) {
-			checkXML(resource);
-			//return true to continue visiting children.
-			return true;
-		}
-	}
-
-	class XMLErrorHandler extends DefaultHandler {
-		
-		private IFile file;
-
-		public XMLErrorHandler(IFile file) {
-			this.file = file;
-		}
-
-		private void addMarker(SAXParseException e, int severity) {
-			$builderClassName$.this.addMarker(file, e.getMessage(), e
-					.getLineNumber(), severity);
-		}
-
-		public void error(SAXParseException exception) throws SAXException {
-			addMarker(exception, IMarker.SEVERITY_ERROR);
-		}
-
-		public void fatalError(SAXParseException exception) throws SAXException {
-			addMarker(exception, IMarker.SEVERITY_ERROR);
-		}
-
-		public void warning(SAXParseException exception) throws SAXException {
-			addMarker(exception, IMarker.SEVERITY_WARNING);
-		}
-	}
-
-	public static final String BUILDER_ID = "$pluginId$.$builderId$";
-
-	private static final String MARKER_TYPE = "$pluginId$.xmlProblem";
-
-	private SAXParserFactory parserFactory;
-
-	private void addMarker(IFile file, String message, int lineNumber,
-			int severity) {
-		try {
-			IMarker marker = file.createMarker(MARKER_TYPE);
-			marker.setAttribute(IMarker.MESSAGE, message);
-			marker.setAttribute(IMarker.SEVERITY, severity);
-			if (lineNumber == -1) {
-				lineNumber = 1;
-			}
-			marker.setAttribute(IMarker.LINE_NUMBER, lineNumber);
-		} catch (CoreException e) {
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.internal.events.InternalBuilder#build(int,
-	 *      java.util.Map, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IProject[] build(int kind, Map args, IProgressMonitor monitor)
-			throws CoreException {
-		if (kind == FULL_BUILD) {
-			fullBuild(monitor);
-		} else {
-			IResourceDelta delta = getDelta(getProject());
-			if (delta == null) {
-				fullBuild(monitor);
-			} else {
-				incrementalBuild(delta, monitor);
-			}
-		}
-		return null;
-	}
-
-	void checkXML(IResource resource) {
-		if (resource instanceof IFile && resource.getName().endsWith(".xml")) {
-			IFile file = (IFile) resource;
-			deleteMarkers(file);
-			XMLErrorHandler reporter = new XMLErrorHandler(file);
-			try {
-				getParser().parse(file.getContents(), reporter);
-			} catch (Exception e1) {
-			}
-		}
-	}
-
-	private void deleteMarkers(IFile file) {
-		try {
-			file.deleteMarkers(MARKER_TYPE, false, IResource.DEPTH_ZERO);
-		} catch (CoreException ce) {
-		}
-	}
-
-	protected void fullBuild(final IProgressMonitor monitor)
-			throws CoreException {
-		try {
-			getProject().accept(new SampleResourceVisitor());
-		} catch (CoreException e) {
-		}
-	}
-
-	private SAXParser getParser() throws ParserConfigurationException,
-			SAXException {
-		if (parserFactory == null) {
-			parserFactory = SAXParserFactory.newInstance();
-		}
-		return parserFactory.newSAXParser();
-	}
-
-	protected void incrementalBuild(IResourceDelta delta,
-			IProgressMonitor monitor) throws CoreException {
-		// the visitor does the work.
-		delta.accept(new SampleDeltaVisitor());
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/builder/java/$natureClassName$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/builder/java/$natureClassName$.java
deleted file mode 100644
index c2a8458..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/builder/java/$natureClassName$.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package $packageName$;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IProjectNature;
-import org.eclipse.core.runtime.CoreException;
-
-public class $natureClassName$ implements IProjectNature {
-
-	/**
-	 * ID of this project nature
-	 */
-	public static final String NATURE_ID = "$pluginId$.$natureId$";
-
-	private IProject project;
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.resources.IProjectNature#configure()
-	 */
-	public void configure() throws CoreException {
-		IProjectDescription desc = project.getDescription();
-		ICommand[] commands = desc.getBuildSpec();
-
-		for (int i = 0; i < commands.length; ++i) {
-			if (commands[i].getBuilderName().equals($builderClassName$.BUILDER_ID)) {
-				return;
-			}
-		}
-
-		ICommand[] newCommands = new ICommand[commands.length + 1];
-		System.arraycopy(commands, 0, newCommands, 0, commands.length);
-		ICommand command = desc.newCommand();
-		command.setBuilderName($builderClassName$.BUILDER_ID);
-		newCommands[newCommands.length - 1] = command;
-		desc.setBuildSpec(newCommands);
-		project.setDescription(desc, null);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.resources.IProjectNature#deconfigure()
-	 */
-	public void deconfigure() throws CoreException {
-		IProjectDescription description = getProject().getDescription();
-		ICommand[] commands = description.getBuildSpec();
-		for (int i = 0; i < commands.length; ++i) {
-			if (commands[i].getBuilderName().equals($builderClassName$.BUILDER_ID)) {
-				ICommand[] newCommands = new ICommand[commands.length - 1];
-				System.arraycopy(commands, 0, newCommands, 0, i);
-				System.arraycopy(commands, i + 1, newCommands, i,
-						commands.length - i - 1);
-				description.setBuildSpec(newCommands);
-				return;
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.resources.IProjectNature#getProject()
-	 */
-	public IProject getProject() {
-		return project;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.resources.IProjectNature#setProject(org.eclipse.core.resources.IProject)
-	 */
-	public void setProject(IProject project) {
-		this.project = project;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/builder/java/ToggleNatureAction.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/builder/java/ToggleNatureAction.java
deleted file mode 100644
index eaf0744..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/builder/java/ToggleNatureAction.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package $packageName$;
-
-import java.util.Iterator;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class ToggleNatureAction implements IObjectActionDelegate {
-
-	private ISelection selection;
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		if (selection instanceof IStructuredSelection) {
-			for (Iterator it = ((IStructuredSelection) selection).iterator(); it
-					.hasNext();) {
-				Object element = it.next();
-				IProject project = null;
-				if (element instanceof IProject) {
-					project = (IProject) element;
-				} else if (element instanceof IAdaptable) {
-					project = (IProject) ((IAdaptable) element)
-							.getAdapter(IProject.class);
-				}
-				if (project != null) {
-					toggleNature(project);
-				}
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction,
-	 *      org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		this.selection = selection;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction,
-	 *      org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
-
-	/**
-	 * Toggles sample nature on a project
-	 * 
-	 * @param project
-	 *            to have sample nature added or removed
-	 */
-	private void toggleNature(IProject project) {
-		try {
-			IProjectDescription description = project.getDescription();
-			String[] natures = description.getNatureIds();
-
-			for (int i = 0; i < natures.length; ++i) {
-				if ($natureClassName$.NATURE_ID.equals(natures[i])) {
-					// Remove the nature
-					String[] newNatures = new String[natures.length - 1];
-					System.arraycopy(natures, 0, newNatures, 0, i);
-					System.arraycopy(natures, i + 1, newNatures, i,
-							natures.length - i - 1);
-					description.setNatureIds(newNatures);
-					project.setDescription(description, null);
-					return;
-				}
-			}
-
-			// Add the nature
-			String[] newNatures = new String[natures.length + 1];
-			System.arraycopy(natures, 0, newNatures, 0, natures.length);
-			newNatures[natures.length] = $natureClassName$.NATURE_ID;
-			description.setNatureIds(newNatures);
-			project.setDescription(description, null);
-		} catch (CoreException e) {
-		}
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/decorator/bin/icons/read_only.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/decorator/bin/icons/read_only.gif
deleted file mode 100644
index dde3cbd..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/decorator/bin/icons/read_only.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/decorator/bin/icons/sample_decorator.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/decorator/bin/icons/sample_decorator.gif
deleted file mode 100644
index b51281b..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/decorator/bin/icons/sample_decorator.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/decorator/java/$decoratorClassName$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/decorator/java/$decoratorClassName$.java
deleted file mode 100644
index 8a6a0bf..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/decorator/java/$decoratorClassName$.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package $packageName$;
-
-import java.net.URL;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourceAttributes;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IDecoration;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ILightweightLabelDecorator;
-
-/**
- * An example showing how to control when an element is decorated. This example
- * decorates only elements that are instances of IResource and whose attribute
- * is 'Read-only'.
- * 
- * @see ILightweightLabelDecorator
- */
-public class $decoratorClassName$ implements ILightweightLabelDecorator {
-	/**
-	 * String constants for the various icon placement options from the template
-	 * wizard.
-	 */
-	public static final String TOP_RIGHT = "TOP_RIGHT";
-
-	public static final String TOP_LEFT = "TOP_LEFT";
-
-	public static final String BOTTOM_RIGHT = "BOTTOM_RIGHT";
-
-	public static final String BOTTOM_LEFT = "BOTTOM_LEFT";
-
-	public static final String UNDERLAY = "UNDERLAY";
-
-	/** The integer value representing the placement options */
-	private int quadrant;
-
-	/** The icon image location in the project folder */
-	private String iconPath = "icons/read_only.gif"; //$NON-NLS-1$
-
-	/**
-	 * The image description used in
-	 * <code>addOverlay(ImageDescriptor, int)</code>
-	 */
-	private ImageDescriptor descriptor;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILightweightLabelDecorator#decorate(java.lang.Object, org.eclipse.jface.viewers.IDecoration)
-	 */
-	public void decorate(Object element, IDecoration decoration) {
-		/**
-		 * Checks that the element is an IResource with the 'Read-only' attribute
-		 * and adds the decorator based on the specified image description and the
-		 * integer representation of the placement option.
-		 */
-		IResource resource = (IResource) element;
-		ResourceAttributes attrs = resource.getResourceAttributes();
-		if (attrs.isReadOnly()){
-			URL url = Platform.find(
-					Platform.getBundle("$pluginId$"), new Path(iconPath)); //$NON-NLS-1$
-
-			if (url == null)
-				return;
-			descriptor = ImageDescriptor.createFromURL(url);			
-%if decoratorPlacement == "BOTTOM_RIGHT"
-			quadrant = IDecoration.BOTTOM_RIGHT;
-%else
-%	if decoratorPlacement == "BOTTOM_LEFT"
-			quadrant = IDecoration.BOTTOM_LEFT;
-%	else
-%		if decoratorPlacement == "TOP_RIGHT"
-			quadrant = IDecoration.TOP_RIGHT;
-%		else
-%			if decoratorPlacement == "TOP_LEFT"
-			quadrant = IDecoration.TOP_LEFT;
-%			else
-%				if decoratorPlacement == "UNDERLAY"
-			quadrant = IDecoration.UNDERLAY;
-%				endif
-%			endif	
-%		endif	
-%	endif
-%endif
-			decoration.addOverlay(descriptor,quadrant);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/bin/icons/sample.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/bin/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/bin/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/$editorClass$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/$editorClass$.java
deleted file mode 100644
index d248dae..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/$editorClass$.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.editors.text.TextEditor;
-
-public class $editorClass$ extends TextEditor {
-
-	private ColorManager colorManager;
-
-	public $editorClass$() {
-		super();
-		colorManager = new ColorManager();
-		setSourceViewerConfiguration(new XMLConfiguration(colorManager));
-		setDocumentProvider(new XMLDocumentProvider());
-	}
-	public void dispose() {
-		colorManager.dispose();
-		super.dispose();
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/ColorManager.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/ColorManager.java
deleted file mode 100644
index f98c700..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/ColorManager.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package $packageName$;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-public class ColorManager {
-
-	protected Map fColorTable = new HashMap(10);
-
-	public void dispose() {
-		Iterator e = fColorTable.values().iterator();
-		while (e.hasNext())
-			 ((Color) e.next()).dispose();
-	}
-	public Color getColor(RGB rgb) {
-		Color color = (Color) fColorTable.get(rgb);
-		if (color == null) {
-			color = new Color(Display.getCurrent(), rgb);
-			fColorTable.put(rgb, color);
-		}
-		return color;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/IXMLColorConstants.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/IXMLColorConstants.java
deleted file mode 100644
index 8425b44..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/IXMLColorConstants.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package $packageName$;
-
-import org.eclipse.swt.graphics.RGB;
-
-public interface IXMLColorConstants {
-	RGB XML_COMMENT = new RGB(128, 0, 0);
-	RGB PROC_INSTR = new RGB(128, 128, 128);
-	RGB STRING = new RGB(0, 128, 0);
-	RGB DEFAULT = new RGB(0, 0, 0);
-	RGB TAG = new RGB(0, 0, 128);
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/NonRuleBasedDamagerRepairer.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/NonRuleBasedDamagerRepairer.java
deleted file mode 100644
index 2a90346..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/NonRuleBasedDamagerRepairer.java
+++ /dev/null
@@ -1,138 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.TextPresentation;
-import org.eclipse.jface.text.presentation.IPresentationDamager;
-import org.eclipse.jface.text.presentation.IPresentationRepairer;
-import org.eclipse.jface.util.Assert;
-import org.eclipse.swt.custom.StyleRange;
-
-public class NonRuleBasedDamagerRepairer
-	implements IPresentationDamager, IPresentationRepairer {
-
-	/** The document this object works on */
-	protected IDocument fDocument;
-	/** The default text attribute if non is returned as data by the current token */
-	protected TextAttribute fDefaultTextAttribute;
-	
-	/**
-	 * Constructor for NonRuleBasedDamagerRepairer.
-	 */
-	public NonRuleBasedDamagerRepairer(TextAttribute defaultTextAttribute) {
-		Assert.isNotNull(defaultTextAttribute);
-
-		fDefaultTextAttribute = defaultTextAttribute;
-	}
-
-	/**
-	 * @see IPresentationRepairer#setDocument(IDocument)
-	 */
-	public void setDocument(IDocument document) {
-		fDocument = document;
-	}
-
-	/**
-	 * Returns the end offset of the line that contains the specified offset or
-	 * if the offset is inside a line delimiter, the end offset of the next line.
-	 *
-	 * @param offset the offset whose line end offset must be computed
-	 * @return the line end offset for the given offset
-	 * @exception BadLocationException if offset is invalid in the current document
-	 */
-	protected int endOfLineOf(int offset) throws BadLocationException {
-
-		IRegion info = fDocument.getLineInformationOfOffset(offset);
-		if (offset <= info.getOffset() + info.getLength())
-			return info.getOffset() + info.getLength();
-
-		int line = fDocument.getLineOfOffset(offset);
-		try {
-			info = fDocument.getLineInformation(line + 1);
-			return info.getOffset() + info.getLength();
-		} catch (BadLocationException x) {
-			return fDocument.getLength();
-		}
-	}
-
-	/**
-	 * @see IPresentationDamager#getDamageRegion(ITypedRegion, DocumentEvent, boolean)
-	 */
-	public IRegion getDamageRegion(
-		ITypedRegion partition,
-		DocumentEvent event,
-		boolean documentPartitioningChanged) {
-		if (!documentPartitioningChanged) {
-			try {
-
-				IRegion info =
-					fDocument.getLineInformationOfOffset(event.getOffset());
-				int start = Math.max(partition.getOffset(), info.getOffset());
-
-				int end =
-					event.getOffset()
-						+ (event.getText() == null
-							? event.getLength()
-							: event.getText().length());
-
-				if (info.getOffset() <= end
-					&& end <= info.getOffset() + info.getLength()) {
-					// optimize the case of the same line
-					end = info.getOffset() + info.getLength();
-				} else
-					end = endOfLineOf(end);
-
-				end =
-					Math.min(
-						partition.getOffset() + partition.getLength(),
-						end);
-				return new Region(start, end - start);
-
-			} catch (BadLocationException x) {
-			}
-		}
-
-		return partition;
-	}
-
-	/**
-	 * @see IPresentationRepairer#createPresentation(TextPresentation, ITypedRegion)
-	 */
-	public void createPresentation(
-		TextPresentation presentation,
-		ITypedRegion region) {
-		addRange(
-			presentation,
-			region.getOffset(),
-			region.getLength(),
-			fDefaultTextAttribute);
-	}
-
-	/**
-	 * Adds style information to the given text presentation.
-	 *
-	 * @param presentation the text presentation to be extended
-	 * @param offset the offset of the range to be styled
-	 * @param length the length of the range to be styled
-	 * @param attr the attribute describing the style of the range to be styled
-	 */
-	protected void addRange(
-		TextPresentation presentation,
-		int offset,
-		int length,
-		TextAttribute attr) {
-		if (attr != null)
-			presentation.addStyleRange(
-				new StyleRange(
-					offset,
-					length,
-					attr.getForeground(),
-					attr.getBackground(),
-					attr.getStyle()));
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/TagRule.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/TagRule.java
deleted file mode 100644
index a9efd22..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/TagRule.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.text.rules.*;
-
-public class TagRule extends MultiLineRule {
-
-	public TagRule(IToken token) {
-		super("<", ">", token);
-	}
-	protected boolean sequenceDetected(
-		ICharacterScanner scanner,
-		char[] sequence,
-		boolean eofAllowed) {
-		int c = scanner.read();
-		if (sequence[0] == '<') {
-			if (c == '?') {
-				// processing instruction - abort
-				scanner.unread();
-				return false;
-			}
-			if (c == '!') {
-				scanner.unread();
-				// comment - abort
-				return false;
-			}
-		} else if (sequence[0] == '>') {
-			scanner.unread();
-		}
-		return super.sequenceDetected(scanner, sequence, eofAllowed);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLConfiguration.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLConfiguration.java
deleted file mode 100644
index 31d0c0c..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLConfiguration.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextDoubleClickStrategy;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.presentation.IPresentationReconciler;
-import org.eclipse.jface.text.presentation.PresentationReconciler;
-import org.eclipse.jface.text.rules.DefaultDamagerRepairer;
-import org.eclipse.jface.text.rules.Token;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-
-public class XMLConfiguration extends SourceViewerConfiguration {
-	private XMLDoubleClickStrategy doubleClickStrategy;
-	private XMLTagScanner tagScanner;
-	private XMLScanner scanner;
-	private ColorManager colorManager;
-
-	public XMLConfiguration(ColorManager colorManager) {
-		this.colorManager = colorManager;
-	}
-	public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) {
-		return new String[] {
-			IDocument.DEFAULT_CONTENT_TYPE,
-			XMLPartitionScanner.XML_COMMENT,
-			XMLPartitionScanner.XML_TAG };
-	}
-	public ITextDoubleClickStrategy getDoubleClickStrategy(
-		ISourceViewer sourceViewer,
-		String contentType) {
-		if (doubleClickStrategy == null)
-			doubleClickStrategy = new XMLDoubleClickStrategy();
-		return doubleClickStrategy;
-	}
-
-	protected XMLScanner getXMLScanner() {
-		if (scanner == null) {
-			scanner = new XMLScanner(colorManager);
-			scanner.setDefaultReturnToken(
-				new Token(
-					new TextAttribute(
-						colorManager.getColor(IXMLColorConstants.DEFAULT))));
-		}
-		return scanner;
-	}
-	protected XMLTagScanner getXMLTagScanner() {
-		if (tagScanner == null) {
-			tagScanner = new XMLTagScanner(colorManager);
-			tagScanner.setDefaultReturnToken(
-				new Token(
-					new TextAttribute(
-						colorManager.getColor(IXMLColorConstants.TAG))));
-		}
-		return tagScanner;
-	}
-
-	public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) {
-		PresentationReconciler reconciler = new PresentationReconciler();
-
-		DefaultDamagerRepairer dr =
-			new DefaultDamagerRepairer(getXMLTagScanner());
-		reconciler.setDamager(dr, XMLPartitionScanner.XML_TAG);
-		reconciler.setRepairer(dr, XMLPartitionScanner.XML_TAG);
-
-		dr = new DefaultDamagerRepairer(getXMLScanner());
-		reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);
-		reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);
-
-		NonRuleBasedDamagerRepairer ndr =
-			new NonRuleBasedDamagerRepairer(
-				new TextAttribute(
-					colorManager.getColor(IXMLColorConstants.XML_COMMENT)));
-		reconciler.setDamager(ndr, XMLPartitionScanner.XML_COMMENT);
-		reconciler.setRepairer(ndr, XMLPartitionScanner.XML_COMMENT);
-
-		return reconciler;
-	}
-
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLDocumentProvider.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLDocumentProvider.java
deleted file mode 100644
index 023b5aa..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLDocumentProvider.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package $packageName$;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.rules.DefaultPartitioner;
-import org.eclipse.ui.editors.text.FileDocumentProvider;
-
-public class XMLDocumentProvider extends FileDocumentProvider {
-
-	protected IDocument createDocument(Object element) throws CoreException {
-		IDocument document = super.createDocument(element);
-		if (document != null) {
-			IDocumentPartitioner partitioner =
-				new DefaultPartitioner(
-					new XMLPartitionScanner(),
-					new String[] {
-						XMLPartitionScanner.XML_TAG,
-						XMLPartitionScanner.XML_COMMENT });
-			partitioner.connect(document);
-			document.setDocumentPartitioner(partitioner);
-		}
-		return document;
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLDoubleClickStrategy.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLDoubleClickStrategy.java
deleted file mode 100644
index bc901f7..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLDoubleClickStrategy.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.text.*;
-
-public class XMLDoubleClickStrategy implements ITextDoubleClickStrategy {
-	protected ITextViewer fText;
-
-	public void doubleClicked(ITextViewer part) {
-		int pos = part.getSelectedRange().x;
-
-		if (pos < 0)
-			return;
-
-		fText = part;
-
-		if (!selectComment(pos)) {
-			selectWord(pos);
-		}
-	}
-	protected boolean selectComment(int caretPos) {
-		IDocument doc = fText.getDocument();
-		int startPos, endPos;
-
-		try {
-			int pos = caretPos;
-			char c = ' ';
-
-			while (pos >= 0) {
-				c = doc.getChar(pos);
-				if (c == '\\') {
-					pos -= 2;
-					continue;
-				}
-				if (c == Character.LINE_SEPARATOR || c == '\"')
-					break;
-				--pos;
-			}
-
-			if (c != '\"')
-				return false;
-
-			startPos = pos;
-
-			pos = caretPos;
-			int length = doc.getLength();
-			c = ' ';
-
-			while (pos < length) {
-				c = doc.getChar(pos);
-				if (c == Character.LINE_SEPARATOR || c == '\"')
-					break;
-				++pos;
-			}
-			if (c != '\"')
-				return false;
-
-			endPos = pos;
-
-			int offset = startPos + 1;
-			int len = endPos - offset;
-			fText.setSelectedRange(offset, len);
-			return true;
-		} catch (BadLocationException x) {
-		}
-
-		return false;
-	}
-	protected boolean selectWord(int caretPos) {
-
-		IDocument doc = fText.getDocument();
-		int startPos, endPos;
-
-		try {
-
-			int pos = caretPos;
-			char c;
-
-			while (pos >= 0) {
-				c = doc.getChar(pos);
-				if (!Character.isJavaIdentifierPart(c))
-					break;
-				--pos;
-			}
-
-			startPos = pos;
-
-			pos = caretPos;
-			int length = doc.getLength();
-
-			while (pos < length) {
-				c = doc.getChar(pos);
-				if (!Character.isJavaIdentifierPart(c))
-					break;
-				++pos;
-			}
-
-			endPos = pos;
-			selectRange(startPos, endPos);
-			return true;
-
-		} catch (BadLocationException x) {
-		}
-
-		return false;
-	}
-
-	private void selectRange(int startPos, int stopPos) {
-		int offset = startPos + 1;
-		int length = stopPos - offset;
-		fText.setSelectedRange(offset, length);
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLPartitionScanner.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLPartitionScanner.java
deleted file mode 100644
index fd6e2e9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLPartitionScanner.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.text.rules.*;
-
-public class XMLPartitionScanner extends RuleBasedPartitionScanner {
-	public final static String XML_COMMENT = "__xml_comment";
-	public final static String XML_TAG = "__xml_tag";
-
-	public XMLPartitionScanner() {
-
-		IToken xmlComment = new Token(XML_COMMENT);
-		IToken tag = new Token(XML_TAG);
-
-		IPredicateRule[] rules = new IPredicateRule[2];
-
-		rules[0] = new MultiLineRule("<!--", "-->", xmlComment);
-		rules[1] = new TagRule(tag);
-
-		setPredicateRules(rules);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLScanner.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLScanner.java
deleted file mode 100644
index c0a2bc2..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLScanner.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.text.rules.*;
-import org.eclipse.jface.text.*;
-
-public class XMLScanner extends RuleBasedScanner {
-
-	public XMLScanner(ColorManager manager) {
-		IToken procInstr =
-			new Token(
-				new TextAttribute(
-					manager.getColor(IXMLColorConstants.PROC_INSTR)));
-
-		IRule[] rules = new IRule[2];
-		//Add rule for processing instructions
-		rules[0] = new SingleLineRule("<?", "?>", procInstr);
-		// Add generic whitespace rule.
-		rules[1] = new WhitespaceRule(new XMLWhitespaceDetector());
-
-		setRules(rules);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLTagScanner.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLTagScanner.java
deleted file mode 100644
index 109a6ee..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLTagScanner.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.text.*;
-import org.eclipse.jface.text.rules.*;
-
-public class XMLTagScanner extends RuleBasedScanner {
-
-	public XMLTagScanner(ColorManager manager) {
-		IToken string =
-			new Token(
-				new TextAttribute(manager.getColor(IXMLColorConstants.STRING)));
-
-		IRule[] rules = new IRule[3];
-
-		// Add rule for double quotes
-		rules[0] = new SingleLineRule("\"", "\"", string, '\\');
-		// Add a rule for single quotes
-		rules[1] = new SingleLineRule("'", "'", string, '\\');
-		// Add generic whitespace rule.
-		rules[2] = new WhitespaceRule(new XMLWhitespaceDetector());
-
-		setRules(rules);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLWhitespaceDetector.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLWhitespaceDetector.java
deleted file mode 100644
index 3faa92a..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/editor/java/XMLWhitespaceDetector.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.text.rules.IWhitespaceDetector;
-
-public class XMLWhitespaceDetector implements IWhitespaceDetector {
-
-	public boolean isWhitespace(char c) {
-		return (c == ' ' || c == '\t' || c == '\n' || c == '\r');
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloNonUIRCP/java/$applicationClass$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/helloNonUIRCP/java/$applicationClass$.java
deleted file mode 100644
index 573c4b9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloNonUIRCP/java/$applicationClass$.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package $packageName$;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class $applicationClass$ implements IPlatformRunnable {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.IPlatformRunnable#run(java.lang.Object)
-	 */
-	public Object run(Object args) throws Exception {
-		System.out.println("$message$");
-		return IPlatformRunnable.EXIT_OK;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloOSGi/java/$activator$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/helloOSGi/java/$activator$.java
deleted file mode 100644
index 8cae3c6..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloOSGi/java/$activator$.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package $packageName$;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class $activator$ implements BundleActivator {
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		System.out.println("$startMessage$");
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		System.out.println("$stopMessage$");
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloOSGiService/java/$activator$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/helloOSGiService/java/$activator$.java
deleted file mode 100644
index 2321874..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloOSGiService/java/$activator$.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package $packageName$;
-
-import java.util.Hashtable;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class $activator$ implements BundleActivator {
-
-	private HelloService service;
-	private ServiceTracker helloServiceTracker;
-	
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		service = new HelloServiceImpl();
-		
-		// register the service
-		context.registerService(HelloService.class.getName(), service, new Hashtable());
-		
-		// create a tracker and track the service
-		helloServiceTracker = new ServiceTracker(context, HelloService.class.getName(), null);
-		helloServiceTracker.open();
-		
-		// grab the service
-		service = (HelloService) helloServiceTracker.getService();
-		service.speak();
-		service.yell();
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		// close the service tracker
-		helloServiceTracker.close();
-		helloServiceTracker = null;
-		
-		service = null;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloOSGiService/java/HelloService.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/helloOSGiService/java/HelloService.java
deleted file mode 100644
index c3e3aab..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloOSGiService/java/HelloService.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package $packageName$;
-
-public interface HelloService {
-	
-	public void speak();
-	
-	public void yell();
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloOSGiService/java/HelloServiceImpl.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/helloOSGiService/java/HelloServiceImpl.java
deleted file mode 100644
index 5c606b5..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloOSGiService/java/HelloServiceImpl.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package $packageName$;
-
-public class HelloServiceImpl implements HelloService {
-	
-	public void speak() {
-		System.out.println("$greeting$");
-	}
-	
-	public void yell() {
-		System.out.println("$greeting$".toUpperCase().concat("!!!")); //$NON-NLS-1$
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloRCP/bin/icons/alt_window_16.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/helloRCP/bin/icons/alt_window_16.gif
deleted file mode 100644
index 05626b1..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloRCP/bin/icons/alt_window_16.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloRCP/bin/icons/alt_window_32.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/helloRCP/bin/icons/alt_window_32.gif
deleted file mode 100644
index b432f88..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloRCP/bin/icons/alt_window_32.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloRCP/java/$applicationClass$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/helloRCP/java/$applicationClass$.java
deleted file mode 100644
index d926eaa..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloRCP/java/$applicationClass$.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package $packageName$;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class $applicationClass$ implements IPlatformRunnable {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IPlatformRunnable#run(java.lang.Object)
-	 */
-	public Object run(Object args) throws Exception {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART) {
-				return IPlatformRunnable.EXIT_RESTART;
-			}
-			return IPlatformRunnable.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloRCP/java/ApplicationWorkbenchAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/helloRCP/java/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index 5263954..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloRCP/java/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package $packageName$;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-	
-	private static final String PERSPECTIVE_ID = "$pluginId$.perspective";
-
-	public String getInitialWindowPerspectiveId() {
-		return PERSPECTIVE_ID;
-	}
-
-	public void preWindowOpen(IWorkbenchWindowConfigurer configurer) {
-		configurer.setInitialSize(new Point(400, 300));
-		configurer.setShowCoolBar(false);
-		configurer.setShowStatusLine(false);
-%if productBranding == false
-		configurer.setTitle("$windowTitle$");
-%endif
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloRCP/java/Perspective.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/helloRCP/java/Perspective.java
deleted file mode 100644
index b38d535..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloRCP/java/Perspective.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-	public void createInitialLayout(IPageLayout layout) {
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloWorld/bin/icons/sample.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/helloWorld/bin/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloWorld/bin/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloWorld/java/$className$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/helloWorld/java/$className$.java
deleted file mode 100644
index 632fc8a..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/helloWorld/java/$className$.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.jface.dialogs.MessageDialog;
-
-/**
- * Our sample action implements workbench action delegate.
- * The action proxy will be created by the workbench and
- * shown in the UI. When the user tries to use the action,
- * this delegate will be created and execution will be 
- * delegated to it.
- * @see IWorkbenchWindowActionDelegate
- */
-public class $className$ implements IWorkbenchWindowActionDelegate {
-	private IWorkbenchWindow window;
-	/**
-	 * The constructor.
-	 */
-	public $className$() {
-	}
-
-	/**
-	 * The action has been activated. The argument of the
-	 * method represents the 'real' action sitting
-	 * in the workbench UI.
-	 * @see IWorkbenchWindowActionDelegate#run
-	 */
-	public void run(IAction action) {
-		MessageDialog.openInformation(
-			window.getShell(),
-			"$pluginName$",
-			"$message$");
-	}
-
-	/**
-	 * Selection in the workbench has been changed. We 
-	 * can change the state of the 'real' action here
-	 * if we want, but this can only happen after 
-	 * the delegate has been created.
-	 * @see IWorkbenchWindowActionDelegate#selectionChanged
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-
-	/**
-	 * We can use this method to dispose of any system
-	 * resources we previously allocated.
-	 * @see IWorkbenchWindowActionDelegate#dispose
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * We will cache window object in order to
-	 * be able to provide parent shell for the message dialog.
-	 * @see IWorkbenchWindowActionDelegate#init
-	 */
-	public void init(IWorkbenchWindow window) {
-		this.window = window;
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/concepts/maintopic.html b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/concepts/maintopic.html
deleted file mode 100644
index a476078..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/concepts/maintopic.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Main Topic</title>
-</head>
-
-<body>
-<h1>Main Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/concepts/subtopic.html b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/concepts/subtopic.html
deleted file mode 100644
index 8a61c50..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/concepts/subtopic.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Sub Topic</title>
-</head>
-
-<body>
-<h1>Sub Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/concepts/subtopic2.html b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/concepts/subtopic2.html
deleted file mode 100644
index 86bcbf9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/concepts/subtopic2.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Sub Topic 2</title>
-</head>
-
-<body>
-<h1>Sub Topic 2</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/gettingstarted/maintopic.html b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/gettingstarted/maintopic.html
deleted file mode 100644
index a476078..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/gettingstarted/maintopic.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Main Topic</title>
-</head>
-
-<body>
-<h1>Main Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/gettingstarted/subtopic.html b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/gettingstarted/subtopic.html
deleted file mode 100644
index 8a61c50..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/gettingstarted/subtopic.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Sub Topic</title>
-</head>
-
-<body>
-<h1>Sub Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/gettingstarted/subtopic2.html b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/gettingstarted/subtopic2.html
deleted file mode 100644
index 86bcbf9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/gettingstarted/subtopic2.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Sub Topic 2</title>
-</head>
-
-<body>
-<h1>Sub Topic 2</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/maintopic.html b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/maintopic.html
deleted file mode 100644
index a476078..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/maintopic.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Main Topic</title>
-</head>
-
-<body>
-<h1>Main Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/reference/maintopic.html b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/reference/maintopic.html
deleted file mode 100644
index a476078..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/reference/maintopic.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Main Topic</title>
-</head>
-
-<body>
-<h1>Main Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/reference/subtopic.html b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/reference/subtopic.html
deleted file mode 100644
index 8a61c50..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/reference/subtopic.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Sub Topic</title>
-</head>
-
-<body>
-<h1>Sub Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/reference/subtopic2.html b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/reference/subtopic2.html
deleted file mode 100644
index 86bcbf9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/reference/subtopic2.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Sub Topic 2</title>
-</head>
-
-<body>
-<h1>Sub Topic 2</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/samples/maintopic.html b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/samples/maintopic.html
deleted file mode 100644
index a476078..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/samples/maintopic.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Main Topic</title>
-</head>
-
-<body>
-<h1>Main Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/samples/subtopic.html b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/samples/subtopic.html
deleted file mode 100644
index 8a61c50..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/samples/subtopic.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Sub Topic</title>
-</head>
-
-<body>
-<h1>Sub Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/samples/subtopic2.html b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/samples/subtopic2.html
deleted file mode 100644
index 86bcbf9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/samples/subtopic2.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Sub Topic 2</title>
-</head>
-
-<body>
-<h1>Sub Topic 2</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/subtopic.html b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/subtopic.html
deleted file mode 100644
index 8a61c50..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/subtopic.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Sub Topic</title>
-</head>
-
-<body>
-<h1>Sub Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/tasks/maintopic.html b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/tasks/maintopic.html
deleted file mode 100644
index a476078..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/tasks/maintopic.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Main Topic</title>
-</head>
-
-<body>
-<h1>Main Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/tasks/subtopic.html b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/tasks/subtopic.html
deleted file mode 100644
index 8a61c50..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/tasks/subtopic.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Sub Topic</title>
-</head>
-
-<body>
-<h1>Sub Topic</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/tasks/subtopic2.html b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/tasks/subtopic2.html
deleted file mode 100644
index 86bcbf9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/tasks/subtopic2.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Sub Topic 2</title>
-</head>
-
-<body>
-<h1>Sub Topic 2</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/toc.html b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/toc.html
deleted file mode 100644
index 326f0a9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/html/toc.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<title>Table of Contents</title>
-</head>
-
-<body>
-<h1>Table of Contents</h1>
-Please enter your text here.
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/tocconcepts.xml b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/tocconcepts.xml
deleted file mode 100644
index d01f925..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/tocconcepts.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Concepts" link_to="toc.xml#concepts"> 
-	<topic label="Main Topic"  href="html/concepts/maintopic.html"> 
-		<topic label="Sub Topic" href="html/concepts/subtopic.html" /> 
-	</topic>
-	<topic label="Main Topic 2">
-		<topic label="Sub Topic 2" href="html/concepts/subtopic2.html" /> 
-	</topic> 
-</toc>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/tocgettingstarted.xml b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/tocgettingstarted.xml
deleted file mode 100644
index 38f27e0..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/tocgettingstarted.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Getting Started" link_to="toc.xml#gettingstarted"> 
-	<topic label="Main Topic"  href="html/gettingstarted/maintopic.html"> 
-		<topic label="Sub Topic" href="html/gettingstarted/subtopic.html" /> 
-	</topic>
-	<topic label="Main Topic 2">
-		<topic label="Sub Topic 2" href="html/gettingstarted/subtopic2.html" />
-	</topic> 
-</toc>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/tocreference.xml b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/tocreference.xml
deleted file mode 100644
index 660cdec..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/tocreference.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Reference" link_to="toc.xml#reference"> 
-	<topic label="Main Topic"  href="html/reference/maintopic.html"> 
-		<topic label="Sub Topic" href="html/reference/subtopic.html" /> 
-	</topic>
-	<topic label="Main Topic 2">
-		<topic label="Sub Topic 2" href="html/reference/subtopic2.html" /> 
-	</topic> 
-</toc>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/tocsamples.xml b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/tocsamples.xml
deleted file mode 100644
index ddfa61e..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/tocsamples.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Samples" link_to="toc.xml#samples"> 
-	<topic label="Main Topic"  href="html/samples/maintopic.html"> 
-		<topic label="Sub Topic" href="html/samples/subtopic.html" /> 
-	</topic>
-	<topic label="Main Topic 2">
-		<topic label="Sub Topic 2" href="html/samples/subtopic2.html" /> 
-	</topic> 
-</toc>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/toctasks.xml b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/toctasks.xml
deleted file mode 100644
index c96b94b..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/bin/toctasks.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Tasks" link_to="toc.xml#tasks"> 
-	<topic label="Main Topic"  href="html/tasks/maintopic.html"> 
-		<topic label="Sub Topic" href="html/tasks/subtopic.html" /> 
-	</topic>
-	<topic label="Main Topic 2">
-		<topic label="Sub Topic 2" href="html/tasks/subtopic2.html" /> 
-	</topic> 
-</toc>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/testToc.xml b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/testToc.xml
deleted file mode 100644
index bf1e67a..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/testToc.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Test TOC" topic="html/toc.html">
-	<link toc="toc.xml" />
-</toc>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/toc.xml b/ui/org.eclipse.pde.ui.templates/templates_3.0/help/toc.xml
deleted file mode 100644
index a07728d..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/help/toc.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-%if isPrimary
-<toc label="$tocLabel$" topic="html/toc.html">
-%else
-<toc label="$tocLabel$">
-%endif
-%if isPrimary && gettingStarted
-   <topic label="Getting Started">
-      <anchor id="gettingstarted"/>
-   </topic>
-%endif
-%if isPrimary && concepts
-   <topic label="Concepts">
-      <anchor id="concepts"/>
-   </topic>
-%endif
-%if isPrimary && tasks
-   <topic label="Tasks">
-      <anchor id="tasks"/>
-   </topic>
-%endif
-%if isPrimary && reference
-   <topic label="Reference">
-      <anchor id="reference"/>
-   </topic>
-%endif
-%if isPrimary && samples
-   <topic label="Samples">
-      <anchor id="samples"/>
-   </topic>
-%endif
-%if isPrimary && (gettingStarted || concepts || tasks || reference || samples) 
-%else
-	<topic label="Main Topic"  href="html/maintopic.html"> 
-		<topic label="Sub Topic" href="html/subtopic.html"/> 
-	</topic>
-	<topic label="Main Topic 2"/>
-%endif
-</toc>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/importWizard/bin/icons/sample.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/importWizard/bin/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/importWizard/bin/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/importWizard/java/$wizardClassName$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/importWizard/java/$wizardClassName$.java
deleted file mode 100644
index 6ba0ce1..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/importWizard/java/$wizardClassName$.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package $packageName$;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.IImportWizard;
-import org.eclipse.ui.IWorkbench;
-
-public class $wizardClassName$ extends Wizard implements IImportWizard {
-	
-	$wizardPageClassName$ mainPage;
-
-	public $wizardClassName$() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.Wizard#performFinish()
-	 */
-	public boolean performFinish() {
-		IFile file = mainPage.createNewFile();
-        if (file == null)
-            return false;
-        return true;
-	}
-	 
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void init(IWorkbench workbench, IStructuredSelection selection) {
-		setWindowTitle("File Import Wizard"); //$NON-NLS-1$
-		setNeedsProgressMonitor(true);
-		mainPage = new $wizardPageClassName$("$wizardImportName$",selection); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-     * @see org.eclipse.jface.wizard.IWizard#addPages()
-     */
-    public void addPages() {
-        super.addPages(); 
-        addPage(mainPage);        
-    }
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/importWizard/java/$wizardPageClassName$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/importWizard/java/$wizardPageClassName$.java
deleted file mode 100644
index db8788f..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/importWizard/java/$wizardPageClassName$.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package $packageName$;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.preference.FileFieldEditor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-
-
-public class $wizardPageClassName$ extends WizardNewFileCreationPage {
-	
-	protected FileFieldEditor editor;
-
-	public $wizardPageClassName$(String pageName, IStructuredSelection selection) {
-		super(pageName, selection);
-		setTitle(pageName); //$NON-NLS-1$
-		setDescription("Import a file from the local file system into the workspace"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.dialogs.WizardNewFileCreationPage#createAdvancedControls(org.eclipse.swt.widgets.Composite)
-	 */	
-	protected void createAdvancedControls(Composite parent) {
-		Composite fileSelectionArea = new Composite(parent, SWT.NONE);
-		GridData fileSelectionData = new GridData(GridData.GRAB_HORIZONTAL
-				| GridData.FILL_HORIZONTAL);
-		fileSelectionArea.setLayoutData(fileSelectionData);
-
-		GridLayout fileSelectionLayout = new GridLayout();
-		fileSelectionLayout.numColumns = 3;
-		fileSelectionLayout.makeColumnsEqualWidth = false;
-		fileSelectionLayout.marginWidth = 0;
-		fileSelectionLayout.marginHeight = 0;
-		fileSelectionArea.setLayout(fileSelectionLayout);
-		
-		editor = new FileFieldEditor("fileSelect","Select File: ",fileSelectionArea); //$NON-NLS-1$ //$NON-NLS-2$
-		editor.getTextControl(fileSelectionArea).addModifyListener(new ModifyListener(){
-			public void modifyText(ModifyEvent e) {
-				IPath path = new Path($wizardPageClassName$.this.editor.getStringValue());
-				setFileName(path.lastSegment());
-			}
-		});
-%if wizardFileFilters == "All"
-		String[] extensions = new String[] { "*.*" }; //$NON-NLS-1$
-%else
-%	if wizardFileFilters == "Images"
-		String[] extensions = new String[] { "*.jpg;*.gif;*.bmp" }; //$NON-NLS-1$
-%	else
-%		if wizardFileFilters == "Docs"
-		String[] extensions = new String[] { "*.doc;*.txt;*.pdf" }; //$NON-NLS-1$
-%		else
-%			if wizardFileFilters == "Archives"
-		String[] extensions = new String[] { "*.zip;*.tar;*.jar" }; //$NON-NLS-1$
-%			endif	
-%		endif	
-%	endif
-%endif	
-		editor.setFileExtensions(extensions);
-		fileSelectionArea.moveAbove(null);
-
-	}
-	
-	 /* (non-Javadoc)
-	 * @see org.eclipse.ui.dialogs.WizardNewFileCreationPage#createLinkTarget()
-	 */
-	protected void createLinkTarget() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.dialogs.WizardNewFileCreationPage#getInitialContents()
-	 */
-	protected InputStream getInitialContents() {
-		try {
-			return new FileInputStream(new File(editor.getStringValue()));
-		} catch (FileNotFoundException e) {
-			return null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.dialogs.WizardNewFileCreationPage#getNewFileLabel()
-	 */
-	protected String getNewFileLabel() {
-		return "New File Name:"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.dialogs.WizardNewFileCreationPage#validateLinkedResource()
-	 */
-	protected IStatus validateLinkedResource() {
-		return new Status(IStatus.OK, "$pluginId$", IStatus.OK, "", null); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/bin/content/link_obj.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/bin/content/link_obj.gif
deleted file mode 100644
index a4b0788..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/bin/content/link_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/bin/content/titlebanner.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/bin/content/titlebanner.gif
deleted file mode 100644
index 6737f76..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/bin/content/titlebanner.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/bin/icons/alt_window_16.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/bin/icons/alt_window_16.gif
deleted file mode 100644
index 05626b1..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/bin/icons/alt_window_16.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/bin/icons/alt_window_32.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/bin/icons/alt_window_32.gif
deleted file mode 100644
index b432f88..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/bin/icons/alt_window_32.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/content/root.css b/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/content/root.css
deleted file mode 100644
index 3413844..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/content/root.css
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Give some space for main div.*/

-#page-content {

-	text-align: center;

-	margin-top:100px;

-	}

-

-/* satisfy Mozilla */	

-div > div#page-content {

-	padding-left:30%;

-	}

-

-#links {

-	text-align:left;

-	width:23em;

-	} 

-

-/* Set the background picture and layout the text. */

-a {

-	display:block;

-	margin-bottom:20px;

-	background-repeat: no-repeat;

-	background-image: url("./link_obj.gif");

-	background-position: left;

-	height:48px;

-	}

-

-a span  { 

-	position: relative;

-	left:54px;

-	top:16px;

-	}

-	

-	

-

diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/content/shared.css b/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/content/shared.css
deleted file mode 100644
index 4a3de0a..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/content/shared.css
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Shared style applied to all pages */

-/* trick to get desired scroll bar behavior on all browsers */ 

-html,body {

-	overflow:auto;

-	border:0px;

-	height:100%;

-	} 

-	

-html > body {

-	height: auto;

-	overflow: visible;

-}

-	

-body {	

-	margin-left:14px;

-	margin-top:10px;

-	font-family:Tahoma;

-	font-size: 12px;

-	color:#000000;

-	background-image:url("./titlebanner.gif");

-	background-repeat: repeat-x;

-	} 

-	

-h1 {

-	text-align:left;

-	font-size: 16pt;

-	font-weight:normal;

-	color:#E5E5E5;

-	} 

-

-h4 {

-	color:#787878;

-	}	

-

-#content p {

-	padding-left:14px;

-	}

-	

-a {

-	color:#000000;

-	text-decoration:none;

-	}

-	

-

-

diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/ext.xml b/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/ext.xml
deleted file mode 100644
index 7b09909..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/ext.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?> 
-<introContent>
-  <extensionContent path="root/page-content/links/anchor1"> 
-  	<link label="Learn about Concept Three..." url="http://org.eclipse.ui.intro/showPage?id=concept3"/>
-  </extensionContent>
-  
-  <page id="concept3">
-	<include path="root/title_id" merge-style="false"/>
-	<group id="content" label="Concept Three"> 
-		<text>This is where Concept Three is explained.</text>
-		<text>This is the first topic from the root page of this Welcome:</text>
-		<include path="root/page-content/links/firstLink" />
-		<contentProvider id="contentProviderId" 
-			class="$packageName$.DynamicContentProvider" 
-			pluginId="$pluginId$"> 
-			<text>Content provider failed. Alternate text for content provider</text>
-		</contentProvider>
-	</group>
-   </page>
-		
-</introContent>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/introContent.xml b/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/introContent.xml
deleted file mode 100644
index 6deb232..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/introContent.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?> 
-<introContent>
-	
-	<page style-id="page_style" id="root" style="content/root.css">
-		<title id="title_id">Welcome to $productName$</title>
-		<group id="page-content"> 
-			<group id="links"> 
-				<link label="Learn about Concept One..." url="http://org.eclipse.ui.intro/showPage?id=concept1" id ="firstLink"/>
-				<link label="Learn about Concept Two..." url="http://org.eclipse.ui.intro/showPage?id=concept2" />
-				<anchor id="anchor1" /> 
-			</group> 
-		</group>
-	</page>
-		
-			
-	<page id="concept1">
-		<include path="root/title_id" merge-style="false"/>
-		<group id="content" label="Concept One">
-			<text>This is where Concept One is explained.</text>
-		</group>
-	</page>
-		
-	<page id="concept2">
-		<include path="root/title_id" merge-style="false"/>
-		<group id="content" label="Concept Two">
-			<text>This is where Concept Two is explained.</text>
-		</group>
-	</page>
-		
-
-</introContent>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/java/Application.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/java/Application.java
deleted file mode 100644
index 33a205c..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/java/Application.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package $packageName$;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class Application implements IPlatformRunnable {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IPlatformRunnable#run(java.lang.Object)
-	 */
-	public Object run(Object args) throws Exception {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART) {
-				return IPlatformRunnable.EXIT_RESTART;
-			}
-			return IPlatformRunnable.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/java/ApplicationWorkbenchAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/java/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index accafa3..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/java/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.IWorkbenchWindow;
-
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-
-	private static final String PERSPECTIVE_ID = "$pluginId$.perspective";
-    
-    private ActionFactory.IWorkbenchAction introAction;
-    
-    public void initialize(IWorkbenchConfigurer configurer) {
-        super.initialize(configurer);
-        configurer.setSaveAndRestore(true);
-    }
-
-	public String getInitialWindowPerspectiveId() {
-		return PERSPECTIVE_ID;
-	}
-
-    public void preWindowOpen(IWorkbenchWindowConfigurer configurer) {
-        configurer.setInitialSize(new Point(700, 550));
-        configurer.setShowCoolBar(false);
-        configurer.setShowStatusLine(false);
-        configurer.setTitle("$productName$");
-    }
-
-    public void fillActionBars(IWorkbenchWindow window, IActionBarConfigurer configurer, int flags) {
-        super.fillActionBars(window, configurer, flags);
-        if ((flags & WorkbenchAdvisor.FILL_PROXY) == 0) {
-            introAction = ActionFactory.INTRO.create(window);
-            configurer.registerGlobalAction(introAction);
-        }
-        
-        if ((flags & WorkbenchAdvisor.FILL_MENU_BAR) != 0) {
-            IMenuManager menuManager = configurer.getMenuManager();
-            IMenuManager helpMenu = new MenuManager("&Help", "help");
-            menuManager.add(helpMenu);
-            helpMenu.add(introAction);
-        }
-        
-        introAction = ActionFactory.INTRO.create(window);
-        configurer.registerGlobalAction(introAction);
-
-    }
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/java/DynamicContentProvider.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/java/DynamicContentProvider.java
deleted file mode 100644
index 92af6d4..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/java/DynamicContentProvider.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package $packageName$;
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.widgets.*;
-import org.eclipse.ui.intro.config.*;
-
-
-public class DynamicContentProvider implements IIntroContentProvider {
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.intro.config.IIntroContentProvider#init(org.eclipse.ui.intro.config.IIntroContentProviderSite)
-     */
-    public void init(IIntroContentProviderSite site) {
-
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.intro.config.IIntroContentProvider#createContent(java.lang.String,
-     *      java.io.PrintWriter)
-     */
-    public void createContent(String id, PrintWriter out) {
-        String content = getCurrentTimeString();
-        content = "<p>" + content + "</p>";
-        out.write(content);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.intro.config.IIntroContentProvider#createContent(java.lang.String,
-     *      org.eclipse.swt.widgets.Composite,
-     *      org.eclipse.ui.forms.widgets.FormToolkit)
-     */
-    public void createContent(String id, Composite parent, FormToolkit toolkit) {
-        String content = getCurrentTimeString();
-        Label label1 = toolkit.createLabel(parent, content, SWT.WRAP);
-        Label label2 = toolkit.createLabel(parent,
-                "Some content from SWT presentation", SWT.WRAP);
-
-
-    }
-
-    private String getCurrentTimeString() {
-        StringBuffer content = new StringBuffer(
-                "Dynamic content from Intro ContentProvider: ");
-        content.append("Current time is: ");
-        content.append(new Date(System.currentTimeMillis()));
-        return content.toString();
-    }
-
-
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.intro.config.IIntroContentProvider#dispose()
-     */
-    public void dispose() {
-
-    }
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/java/Perspective.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/java/Perspective.java
deleted file mode 100644
index b38d535..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/intro/java/Perspective.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-	public void createInitialLayout(IPageLayout layout) {
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/icons/mail.ico b/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/icons/mail.ico
deleted file mode 100644
index b000061..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/icons/mail.ico
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/icons/sample.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/icons/sample.icns b/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/icons/sample.icns
deleted file mode 100644
index 1e92ccc..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/icons/sample.icns
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/icons/sample2.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/icons/sample2.gif
deleted file mode 100644
index 252d7eb..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/icons/sample2.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/icons/sample3.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/icons/sample3.gif
deleted file mode 100644
index b949ac9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/icons/sample3.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/product_lg.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/product_lg.gif
deleted file mode 100644
index bd95e28..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/bin/product_lg.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/$applicationClass$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/$applicationClass$.java
deleted file mode 100644
index d926eaa..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/$applicationClass$.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package $packageName$;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class $applicationClass$ implements IPlatformRunnable {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IPlatformRunnable#run(java.lang.Object)
-	 */
-	public Object run(Object args) throws Exception {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART) {
-				return IPlatformRunnable.EXIT_RESTART;
-			}
-			return IPlatformRunnable.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/ApplicationWorkbenchAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index ca80cd0..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,116 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.ICoolBarManager;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.action.ToolBarContributionItem;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-/**
- * This workbench advisor creates the window advisor, and specifies
- * the perspective id for the initial window.
- */
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-	
-	private static final String PERSPECTIVE_ID = "$pluginId$.perspective";
-
-    private IWorkbenchAction exitAction;
-    private IWorkbenchAction aboutAction;
-    private IWorkbenchAction newWindowAction;
-    private OpenViewAction openViewAction;
-    private Action messagePopupAction;
-
-	public String getInitialWindowPerspectiveId() {
-		return PERSPECTIVE_ID;
-	} 
-	
-	public void fillActionBars(IWorkbenchWindow window, IActionBarConfigurer configurer, int flags) {
-		if ((flags & FILL_PROXY) != 0) {
-			// Filling in fake action bars, for example when showing the customize perspective dialog.
-			// At this point, we don't have to create new actions, and instead simply add them to the
-			// provided actions bars.
-			if ((flags & FILL_MENU_BAR) != 0) {
-				fillMenuBar(configurer.getMenuManager());
-			}
-			if ((flags & FILL_COOL_BAR) != 0) {
-				fillCoolBar(configurer.getCoolBarManager());
-			}
-		} else {
-			makeActions(window, configurer);
-			fillMenuBar(configurer.getMenuManager());
-			fillCoolBar(configurer.getCoolBarManager());
-		}
-	}
-	
-	private void fillMenuBar(IMenuManager menuBar) {
-        MenuManager fileMenu = new MenuManager("&File", IWorkbenchActionConstants.M_FILE);
-        MenuManager helpMenu = new MenuManager("&Help", IWorkbenchActionConstants.M_HELP);
-        
-        menuBar.add(fileMenu);
-        // Add a group marker indicating where action set menus will appear.
-        menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-        menuBar.add(helpMenu);
-        
-        // File
-        fileMenu.add(newWindowAction);
-        fileMenu.add(new Separator());
-        fileMenu.add(messagePopupAction);
-        fileMenu.add(openViewAction);
-        fileMenu.add(new Separator());
-        fileMenu.add(exitAction);
-        
-        // Help
-        helpMenu.add(aboutAction);		
-	}
-	
-    private void fillCoolBar(ICoolBarManager coolBar) {
-        IToolBarManager toolbar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
-        coolBar.add(new ToolBarContributionItem(toolbar, "main"));   
-        toolbar.add(openViewAction);
-        toolbar.add(messagePopupAction);
-    }
-
-	
-	private void makeActions(IWorkbenchWindow window, IActionBarConfigurer configurer) {
-        exitAction = ActionFactory.QUIT.create(window);
-        configurer.registerGlobalAction(exitAction);
-        
-        aboutAction = ActionFactory.ABOUT.create(window);
-        configurer.registerGlobalAction(aboutAction);
-        
-        newWindowAction = ActionFactory.OPEN_NEW_WINDOW.create(window);
-        configurer.registerGlobalAction(newWindowAction);
-        
-        openViewAction = new OpenViewAction(window, "Open Another Message View", View.ID);
-        configurer.registerGlobalAction(openViewAction);
-        
-        messagePopupAction = new MessagePopupAction("Open Message", window);
-        configurer.registerGlobalAction(messagePopupAction);
-		
-	}
-	
-	public void preWindowOpen(IWorkbenchWindowConfigurer configurer) {
-		configurer.setInitialSize(new Point(600, 400));
-		configurer.setShowCoolBar(true);
-		configurer.setShowStatusLine(false);
-	}
-	
-	public void postWindowClose(IWorkbenchWindowConfigurer configurer) {
-		aboutAction.dispose();
-		exitAction.dispose();
-		newWindowAction.dispose();
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/ICommandIds.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/ICommandIds.java
deleted file mode 100644
index dd6d40e..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/ICommandIds.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package $packageName$;
-
-/**
- * Interface defining the application's command IDs.
- * Key bindings can be defined for specific commands.
- * To associate an action with a command, use IAction.setActionDefinitionId(commandId).
- *
- * @see org.eclipse.jface.action.IAction#setActionDefinitionId(String)
- */
-public interface ICommandIds {
-
-    public static final String CMD_OPEN = "$pluginId$.open";
-    public static final String CMD_OPEN_MESSAGE = "$pluginId$.openMessage";
-    
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/MessagePopupAction.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/MessagePopupAction.java
deleted file mode 100644
index 8976bb4..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/MessagePopupAction.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-
-
-public class MessagePopupAction extends Action {
-
-    private final IWorkbenchWindow window;
-
-    MessagePopupAction(String text, IWorkbenchWindow window) {
-        super(text);
-        this.window = window;
-        // The id is used to refer to the action in a menu or toolbar
-        setId(ICommandIds.CMD_OPEN_MESSAGE);
-        // Associate the action with a pre-defined command, to allow key bindings.
-        setActionDefinitionId(ICommandIds.CMD_OPEN_MESSAGE);
-        setImageDescriptor($pluginClass$.getImageDescriptor("/icons/sample3.gif"));
-    }
-
-    public void run() {
-        MessageDialog.openInformation(window.getShell(), "Open", "Open Message Dialog!");
-    }
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/NavigationView.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/NavigationView.java
deleted file mode 100644
index aaae601..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/NavigationView.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package $packageName$;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.ViewPart;
-
-public class NavigationView extends ViewPart {
-	public static final String ID = "$pluginId$.navigationView";
-	private TreeViewer viewer;
-	 
-	class TreeObject {
-		private String name;
-		private TreeParent parent;
-		
-		public TreeObject(String name) {
-			this.name = name;
-		}
-		public String getName() {
-			return name;
-		}
-		public void setParent(TreeParent parent) {
-			this.parent = parent;
-		}
-		public TreeParent getParent() {
-			return parent;
-		}
-		public String toString() {
-			return getName();
-		}
-	}
-	
-	class TreeParent extends TreeObject {
-		private ArrayList children;
-		public TreeParent(String name) {
-			super(name);
-			children = new ArrayList();
-		}
-		public void addChild(TreeObject child) {
-			children.add(child);
-			child.setParent(this);
-		}
-		public void removeChild(TreeObject child) {
-			children.remove(child);
-			child.setParent(null);
-		}
-		public TreeObject[] getChildren() {
-			return (TreeObject[]) children.toArray(new TreeObject[children.size()]);
-		}
-		public boolean hasChildren() {
-			return children.size()>0;
-		}
-	}
-
-	class ViewContentProvider implements IStructuredContentProvider, 
-										   ITreeContentProvider {
-
-        public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		}
-        
-		public void dispose() {
-		}
-        
-		public Object[] getElements(Object parent) {
-			return getChildren(parent);
-		}
-        
-		public Object getParent(Object child) {
-			if (child instanceof TreeObject) {
-				return ((TreeObject)child).getParent();
-			}
-			return null;
-		}
-        
-		public Object[] getChildren(Object parent) {
-			if (parent instanceof TreeParent) {
-				return ((TreeParent)parent).getChildren();
-			}
-			return new Object[0];
-		}
-
-        public boolean hasChildren(Object parent) {
-			if (parent instanceof TreeParent)
-				return ((TreeParent)parent).hasChildren();
-			return false;
-		}
-	}
-	
-	class ViewLabelProvider extends LabelProvider {
-
-		public String getText(Object obj) {
-			return obj.toString();
-		}
-		public Image getImage(Object obj) {
-			String imageKey = ISharedImages.IMG_OBJ_ELEMENT;
-			if (obj instanceof TreeParent)
-			   imageKey = ISharedImages.IMG_OBJ_FOLDER;
-			return PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
-		}
-	}
-
-    /**
-     * We will set up a dummy model to initialize tree heararchy. In real
-     * code, you will connect to a real model and expose its hierarchy.
-     */
-    private TreeObject createDummyModel() {
-        TreeObject to1 = new TreeObject("Inbox");
-        TreeObject to2 = new TreeObject("Drafts");
-        TreeObject to3 = new TreeObject("Sent");
-        TreeParent p1 = new TreeParent("me@this.com");
-        p1.addChild(to1);
-        p1.addChild(to2);
-        p1.addChild(to3);
-
-        TreeObject to4 = new TreeObject("Inbox");
-        TreeParent p2 = new TreeParent("other@aol.com");
-        p2.addChild(to4);
-
-        TreeParent root = new TreeParent("");
-        root.addChild(p1);
-        root.addChild(p2);
-        return root;
-    }
-
-	/**
-     * This is a callback that will allow us to create the viewer and initialize
-     * it.
-     */
-	public void createPartControl(Composite parent) {
-		viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		viewer.setContentProvider(new ViewContentProvider());
-		viewer.setLabelProvider(new ViewLabelProvider());
-		viewer.setInput(createDummyModel());
-	}
-
-	/**
-	 * Passing the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/OpenViewAction.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/OpenViewAction.java
deleted file mode 100644
index 7ea8882..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/OpenViewAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-
-
-public class OpenViewAction extends Action {
-	
-	private final IWorkbenchWindow window;
-	private int instanceNum = 0;
-	private final String viewId;
-	
-	public OpenViewAction(IWorkbenchWindow window, String label, String viewId) {
-		this.window = window;
-		this.viewId = viewId;
-        setText(label);
-        // The id is used to refer to the action in a menu or toolbar
-		setId(ICommandIds.CMD_OPEN);
-        // Associate the action with a pre-defined command, to allow key bindings.
-		setActionDefinitionId(ICommandIds.CMD_OPEN);
-		setImageDescriptor($pluginClass$.getImageDescriptor("/icons/sample2.gif"));
-	}
-	
-	public void run() {
-		if(window != null) {	
-			try {
-				window.getActivePage().showView(viewId, Integer.toString(instanceNum++), IWorkbenchPage.VIEW_ACTIVATE);
-			} catch (PartInitException e) {
-				MessageDialog.openError(window.getShell(), "Error", "Error opening view:" + e.getMessage());
-			}
-		}
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/Perspective.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/Perspective.java
deleted file mode 100644
index 86a9dd9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/Perspective.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-	public void createInitialLayout(IPageLayout layout) {
-		String editorArea = layout.getEditorArea();
-		layout.setEditorAreaVisible(false);
-		
-		layout.addStandaloneView(NavigationView.ID,  false, IPageLayout.LEFT, 0.25f, editorArea);
-		IFolderLayout folder = layout.createFolder("messages", IPageLayout.TOP, 0.5f, editorArea);
-		folder.addPlaceholder(View.ID + ":*");
-		folder.addView(View.ID);
-		
-		layout.getViewLayout(NavigationView.ID).setCloseable(false);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/View.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/View.java
deleted file mode 100644
index 2843b23..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/mail/java/View.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.part.ViewPart;
-
-public class View extends ViewPart {
-
-	public static final String ID = "$pluginId$.view";
-	
-	private Font boldFont;
-
-	public void createPartControl(Composite parent) {
-		Composite top = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		top.setLayout(layout);
-		// top banner
-		Composite banner = new Composite(top, SWT.NONE);
-		banner.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL, GridData.VERTICAL_ALIGN_BEGINNING, true, false));
-		layout = new GridLayout();
-		layout.marginHeight = 5;
-		layout.marginWidth = 10;
-		layout.numColumns = 2;
-		banner.setLayout(layout);
-		// setup bold font
-		Font defaultFont = JFaceResources.getDefaultFont();
-		FontData[] data = defaultFont.getFontData();
-		for (int i = 0; i < data.length; i++) {
-			data[i].setStyle(SWT.BOLD);
-		}
-		boldFont = new Font(top.getDisplay(), data);
-		Label l = new Label(banner, SWT.WRAP);
-		l.setText("Subject:");
-		l.setFont(boldFont);
-		l = new Label(banner, SWT.WRAP);
-		l.setText("This is a message about the cool Eclipse RCP!");
-		
-		l = new Label(banner, SWT.WRAP);
-		l.setText("From:");
-		l.setFont(boldFont);
-		final Label link = new Label(banner, SWT.WRAP);
-		link.setText("nicole@mail.org");
-		link.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_BLUE));
-		
-		l = new Label(banner, SWT.WRAP);
-		l.setText("Date:");
-		l.setFont(boldFont);
-		l = new Label(banner, SWT.WRAP);
-		l.setText("10:34 am");
-		// message contents
-		Text text = new Text(top, SWT.MULTI | SWT.WRAP);
-		text.setText("This RCP Application was generated from the PDE Plug-in Project wizard. This sample shows how to:\n"+
-						"- add a top-level menu and toolbar with actions\n"+
-						"- add keybindings to actions\n" +
-						"- create views that can't be closed and\n"+
-						"  multiple instances of the same view\n"+
-						"- perspectives with placeholders for new views\n"+
-						"- use the default about dialog\n"+
-						"- create a product definition\n");
-		text.setLayoutData(new GridData(GridData.FILL_BOTH));
-	}
-
-	public void setFocus() {
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/multiPageEditor/bin/icons/sample.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/multiPageEditor/bin/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/multiPageEditor/bin/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/multiPageEditor/java/$contributorClassName$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/multiPageEditor/java/$contributorClassName$.java
deleted file mode 100644
index 2a1d8b4..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/multiPageEditor/java/$contributorClassName$.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.ide.IDEActionFactory;
-import org.eclipse.ui.part.MultiPageEditorActionBarContributor;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-
-/**
- * Manages the installation/deinstallation of global actions for multi-page editors.
- * Responsible for the redirection of global actions to the active editor.
- * Multi-page contributor replaces the contributors for the individual editors in the multi-page editor.
- */
-public class $contributorClassName$ extends MultiPageEditorActionBarContributor {
-	private IEditorPart activeEditorPart;
-	private Action sampleAction;
-	/**
-	 * Creates a multi-page contributor.
-	 */
-	public $contributorClassName$() {
-		super();
-		createActions();
-	}
-	/**
-	 * Returns the action registed with the given text editor.
-	 * @return IAction or null if editor is null.
-	 */
-	protected IAction getAction(ITextEditor editor, String actionID) {
-		return (editor == null ? null : editor.getAction(actionID));
-	}
-	/* (non-JavaDoc)
-	 * Method declared in AbstractMultiPageEditorActionBarContributor.
-	 */
-
-	public void setActivePage(IEditorPart part) {
-		if (activeEditorPart == part)
-			return;
-
-		activeEditorPart = part;
-
-		IActionBars actionBars = getActionBars();
-		if (actionBars != null) {
-
-			ITextEditor editor = (part instanceof ITextEditor) ? (ITextEditor) part : null;
-
-			actionBars.setGlobalActionHandler(
-				ActionFactory.DELETE.getId(),
-				getAction(editor, ITextEditorActionConstants.DELETE));
-			actionBars.setGlobalActionHandler(
-				ActionFactory.UNDO.getId(),
-				getAction(editor, ITextEditorActionConstants.UNDO));
-			actionBars.setGlobalActionHandler(
-				ActionFactory.REDO.getId(),
-				getAction(editor, ITextEditorActionConstants.REDO));
-			actionBars.setGlobalActionHandler(
-				ActionFactory.CUT.getId(),
-				getAction(editor, ITextEditorActionConstants.CUT));
-			actionBars.setGlobalActionHandler(
-				ActionFactory.COPY.getId(),
-				getAction(editor, ITextEditorActionConstants.COPY));
-			actionBars.setGlobalActionHandler(
-				ActionFactory.PASTE.getId(),
-				getAction(editor, ITextEditorActionConstants.PASTE));
-			actionBars.setGlobalActionHandler(
-				ActionFactory.SELECT_ALL.getId(),
-				getAction(editor, ITextEditorActionConstants.SELECT_ALL));
-			actionBars.setGlobalActionHandler(
-				ActionFactory.FIND.getId(),
-				getAction(editor, ITextEditorActionConstants.FIND));
-			actionBars.setGlobalActionHandler(
-				IDEActionFactory.BOOKMARK.getId(),
-				getAction(editor, IDEActionFactory.BOOKMARK.getId()));
-			actionBars.updateActionBars();
-		}
-	}
-	private void createActions() {
-		sampleAction = new Action() {
-			public void run() {
-				MessageDialog.openInformation(null, "$pluginName$", "Sample Action Executed");
-			}
-		};
-		sampleAction.setText("Sample Action");
-		sampleAction.setToolTipText("Sample Action tool tip");
-		sampleAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().
-				getImageDescriptor(IDE.SharedImages.IMG_OBJS_TASK_TSK));
-	}
-	public void contributeToMenu(IMenuManager manager) {
-		IMenuManager menu = new MenuManager("Editor &Menu");
-		manager.prependToGroup(IWorkbenchActionConstants.MB_ADDITIONS, menu);
-		menu.add(sampleAction);
-	}
-	public void contributeToToolBar(IToolBarManager manager) {
-		manager.add(new Separator());
-		manager.add(sampleAction);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/multiPageEditor/java/$editorClassName$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/multiPageEditor/java/$editorClassName$.java
deleted file mode 100644
index 9e388b0..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/multiPageEditor/java/$editorClassName$.java
+++ /dev/null
@@ -1,239 +0,0 @@
-package $packageName$;
-
-
-import java.io.StringWriter;
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.FontDialog;
-import org.eclipse.ui.*;
-import org.eclipse.ui.editors.text.TextEditor;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.part.MultiPageEditorPart;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * An example showing how to create a multi-page editor.
- * This example has 3 pages:
- * <ul>
- * <li>page 0 contains a nested text editor.
- * <li>page 1 allows you to change the font used in page 2
- * <li>page 2 shows the words in page 0 in sorted order
- * </ul>
- */
-public class $editorClassName$ extends MultiPageEditorPart implements IResourceChangeListener{
-
-	/** The text editor used in page 0. */
-	private TextEditor editor;
-
-	/** The font chosen in page 1. */
-	private Font font;
-
-	/** The text widget used in page 2. */
-	private StyledText text;
-	/**
-	 * Creates a multi-page editor example.
-	 */
-	public $editorClassName$() {
-		super();
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
-	}
-	/**
-	 * Creates page 0 of the multi-page editor,
-	 * which contains a text editor.
-	 */
-	void createPage0() {
-		try {
-			editor = new TextEditor();
-			int index = addPage(editor, getEditorInput());
-			setPageText(index, editor.getTitle());
-		} catch (PartInitException e) {
-			ErrorDialog.openError(
-				getSite().getShell(),
-				"Error creating nested text editor",
-				null,
-				e.getStatus());
-		}
-	}
-	/**
-	 * Creates page 1 of the multi-page editor,
-	 * which allows you to change the font used in page 2.
-	 */
-	void createPage1() {
-
-		Composite composite = new Composite(getContainer(), SWT.NONE);
-		GridLayout layout = new GridLayout();
-		composite.setLayout(layout);
-		layout.numColumns = 2;
-
-		Button fontButton = new Button(composite, SWT.NONE);
-		GridData gd = new GridData(GridData.BEGINNING);
-		gd.horizontalSpan = 2;
-		fontButton.setLayoutData(gd);
-		fontButton.setText("Change Font...");
-		
-		fontButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				setFont();
-			}
-		});
-
-		int index = addPage(composite);
-		setPageText(index, "Properties");
-	}
-	/**
-	 * Creates page 2 of the multi-page editor,
-	 * which shows the sorted text.
-	 */
-	void createPage2() {
-		Composite composite = new Composite(getContainer(), SWT.NONE);
-		FillLayout layout = new FillLayout();
-		composite.setLayout(layout);
-		text = new StyledText(composite, SWT.H_SCROLL | SWT.V_SCROLL);
-		text.setEditable(false);
-
-		int index = addPage(composite);
-		setPageText(index, "Preview");
-	}
-	/**
-	 * Creates the pages of the multi-page editor.
-	 */
-	protected void createPages() {
-		createPage0();
-		createPage1();
-		createPage2();
-	}
-	/**
-	 * The <code>MultiPageEditorPart</code> implementation of this 
-	 * <code>IWorkbenchPart</code> method disposes all nested editors.
-	 * Subclasses may extend.
-	 */
-	public void dispose() {
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-		super.dispose();
-	}
-	/**
-	 * Saves the multi-page editor's document.
-	 */
-	public void doSave(IProgressMonitor monitor) {
-		getEditor(0).doSave(monitor);
-	}
-	/**
-	 * Saves the multi-page editor's document as another file.
-	 * Also updates the text for page 0's tab, and updates this multi-page editor's input
-	 * to correspond to the nested editor's.
-	 */
-	public void doSaveAs() {
-		IEditorPart editor = getEditor(0);
-		editor.doSaveAs();
-		setPageText(0, editor.getTitle());
-		setInput(editor.getEditorInput());
-	}
-	/* (non-Javadoc)
-	 * Method declared on IEditorPart
-	 */
-	public void gotoMarker(IMarker marker) {
-		setActivePage(0);
-		IDE.gotoMarker(getEditor(0), marker);
-	}
-	/**
-	 * The <code>MultiPageEditorExample</code> implementation of this method
-	 * checks that the input is an instance of <code>IFileEditorInput</code>.
-	 */
-	public void init(IEditorSite site, IEditorInput editorInput)
-		throws PartInitException {
-		if (!(editorInput instanceof IFileEditorInput))
-			throw new PartInitException("Invalid Input: Must be IFileEditorInput");
-		super.init(site, editorInput);
-	}
-	/* (non-Javadoc)
-	 * Method declared on IEditorPart.
-	 */
-	public boolean isSaveAsAllowed() {
-		return true;
-	}
-	/**
-	 * Calculates the contents of page 2 when the it is activated.
-	 */
-	protected void pageChange(int newPageIndex) {
-		super.pageChange(newPageIndex);
-		if (newPageIndex == 2) {
-			sortWords();
-		}
-	}
-	/**
-	 * Closes all project files on project close.
-	 */
-	public void resourceChanged(final IResourceChangeEvent event){
-		if(event.getType() == IResourceChangeEvent.PRE_CLOSE){
-			Display.getDefault().asyncExec(new Runnable(){
-				public void run(){
-					IWorkbenchPage[] pages = getSite().getWorkbenchWindow().getPages();
-					for (int i = 0; i<pages.length; i++){
-						if(((FileEditorInput)editor.getEditorInput()).getFile().getProject().equals(event.getResource())){
-							IEditorPart editorPart = pages[i].findEditor(editor.getEditorInput());
-							pages[i].closeEditor(editorPart,true);
-						}
-					}
-				}            
-			});
-		}
-	}
-	/**
-	 * Sets the font related data to be applied to the text in page 2.
-	 */
-	void setFont() {
-		FontDialog fontDialog = new FontDialog(getSite().getShell());
-		fontDialog.setFontList(text.getFont().getFontData());
-		FontData fontData = fontDialog.open();
-		if (fontData != null) {
-			if (font != null)
-				font.dispose();
-			font = new Font(text.getDisplay(), fontData);
-			text.setFont(font);
-		}
-	}
-	/**
-	 * Sorts the words in page 0, and shows them in page 2.
-	 */
-	void sortWords() {
-
-		String editorText =
-			editor.getDocumentProvider().getDocument(editor.getEditorInput()).get();
-
-		StringTokenizer tokenizer =
-			new StringTokenizer(editorText, " \t\n\r\f!@#\u0024%^&*()-_=+`~[]{};:'\",.<>/?|\\");
-		ArrayList editorWords = new ArrayList();
-		while (tokenizer.hasMoreTokens()) {
-			editorWords.add(tokenizer.nextToken());
-		}
-
-		Collections.sort(editorWords, Collator.getInstance());
-		StringWriter displayText = new StringWriter();
-		for (int i = 0; i < editorWords.size(); i++) {
-			displayText.write(((String) editorWords.get(i)));
-			displayText.write(System.getProperty("line.separator"));
-		}
-		text.setText(displayText.toString());
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/newWizard/bin/icons/sample.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/newWizard/bin/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/newWizard/bin/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/newWizard/java/$wizardClassName$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/newWizard/java/$wizardClassName$.java
deleted file mode 100644
index 1449ce0..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/newWizard/java/$wizardClassName$.java
+++ /dev/null
@@ -1,150 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.operation.*;
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import java.io.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * This is a sample new wizard. Its role is to create a new file 
- * resource in the provided container. If the container resource
- * (a folder or a project) is selected in the workspace 
- * when the wizard is opened, it will accept it as the target
- * container. The wizard creates one file with the extension
- * "$extension$". If a sample multi-page editor (also available
- * as a template) is registered for the same extension, it will
- * be able to open it.
- */
-
-public class $wizardClassName$ extends Wizard implements INewWizard {
-	private $wizardPageClassName$ page;
-	private ISelection selection;
-
-	/**
-	 * Constructor for $wizardClassName$.
-	 */
-	public $wizardClassName$() {
-		super();
-		setNeedsProgressMonitor(true);
-	}
-	
-	/**
-	 * Adding the page to the wizard.
-	 */
-
-	public void addPages() {
-		page = new $wizardPageClassName$(selection);
-		addPage(page);
-	}
-
-	/**
-	 * This method is called when 'Finish' button is pressed in
-	 * the wizard. We will create an operation and run it
-	 * using wizard as execution context.
-	 */
-	public boolean performFinish() {
-		final String containerName = page.getContainerName();
-		final String fileName = page.getFileName();
-		IRunnableWithProgress op = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) throws InvocationTargetException {
-				try {
-					doFinish(containerName, fileName, monitor);
-				} catch (CoreException e) {
-					throw new InvocationTargetException(e);
-				} finally {
-					monitor.done();
-				}
-			}
-		};
-		try {
-			getContainer().run(true, false, op);
-		} catch (InterruptedException e) {
-			return false;
-		} catch (InvocationTargetException e) {
-			Throwable realException = e.getTargetException();
-			MessageDialog.openError(getShell(), "Error", realException.getMessage());
-			return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * The worker method. It will find the container, create the
-	 * file if missing or just replace its contents, and open
-	 * the editor on the newly created file.
-	 */
-
-	private void doFinish(
-		String containerName,
-		String fileName,
-		IProgressMonitor monitor)
-		throws CoreException {
-		// create a sample file
-		monitor.beginTask("Creating " + fileName, 2);
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		IResource resource = root.findMember(new Path(containerName));
-		if (!resource.exists() || !(resource instanceof IContainer)) {
-			throwCoreException("Container \"" + containerName + "\" does not exist.");
-		}
-		IContainer container = (IContainer) resource;
-		final IFile file = container.getFile(new Path(fileName));
-		try {
-			InputStream stream = openContentStream();
-			if (file.exists()) {
-				file.setContents(stream, true, true, monitor);
-			} else {
-				file.create(stream, true, monitor);
-			}
-			stream.close();
-		} catch (IOException e) {
-		}
-		monitor.worked(1);
-		monitor.setTaskName("Opening file for editing...");
-		getShell().getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				IWorkbenchPage page =
-					PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-				try {
-					IDE.openEditor(page, file, true);
-				} catch (PartInitException e) {
-				}
-			}
-		});
-		monitor.worked(1);
-	}
-	
-	/**
-	 * We will initialize file contents with a sample text.
-	 */
-
-	private InputStream openContentStream() {
-		String contents =
-			"This is the initial file contents for *.$extension$ file that should be word-sorted in the Preview page of the multi-page editor";
-		return new ByteArrayInputStream(contents.getBytes());
-	}
-
-	private void throwCoreException(String message) throws CoreException {
-		IStatus status =
-			new Status(IStatus.ERROR, "$pluginId$", IStatus.OK, message, null);
-		throw new CoreException(status);
-	}
-
-	/**
-	 * We will accept the selection in the workbench to see if
-	 * we can initialize from it.
-	 * @see IWorkbenchWizard#init(IWorkbench, IStructuredSelection)
-	 */
-	public void init(IWorkbench workbench, IStructuredSelection selection) {
-		this.selection = selection;
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/newWizard/java/$wizardPageClassName$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/newWizard/java/$wizardPageClassName$.java
deleted file mode 100644
index 3b7b1c1..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/newWizard/java/$wizardPageClassName$.java
+++ /dev/null
@@ -1,185 +0,0 @@
-package $packageName$;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.ContainerSelectionDialog;
-
-/**
- * The "New" wizard page allows setting the container for the new file as well
- * as the file name. The page will only accept file name without the extension
- * OR with the extension that matches the expected one ($extension$).
- */
-
-public class $wizardPageClassName$ extends WizardPage {
-	private Text containerText;
-
-	private Text fileText;
-
-	private ISelection selection;
-
-	/**
-	 * Constructor for SampleNewWizardPage.
-	 * 
-	 * @param pageName
-	 */
-	public $wizardPageClassName$(ISelection selection) {
-		super("wizardPage");
-		setTitle("Multi-page Editor File");
-		setDescription("This wizard creates a new file with *.$extension$ extension that can be opened by a multi-page editor.");
-		this.selection = selection;
-	}
-
-	/**
-	 * @see IDialogPage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		Composite container = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		container.setLayout(layout);
-		layout.numColumns = 3;
-		layout.verticalSpacing = 9;
-		Label label = new Label(container, SWT.NULL);
-		label.setText("&Container:");
-
-		containerText = new Text(container, SWT.BORDER | SWT.SINGLE);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		containerText.setLayoutData(gd);
-		containerText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				dialogChanged();
-			}
-		});
-
-		Button button = new Button(container, SWT.PUSH);
-		button.setText("Browse...");
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleBrowse();
-			}
-		});
-		label = new Label(container, SWT.NULL);
-		label.setText("&File name:");
-
-		fileText = new Text(container, SWT.BORDER | SWT.SINGLE);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		fileText.setLayoutData(gd);
-		fileText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				dialogChanged();
-			}
-		});
-		initialize();
-		dialogChanged();
-		setControl(container);
-	}
-
-	/**
-	 * Tests if the current workbench selection is a suitable container to use.
-	 */
-
-	private void initialize() {
-		if (selection != null && selection.isEmpty() == false
-				&& selection instanceof IStructuredSelection) {
-			IStructuredSelection ssel = (IStructuredSelection) selection;
-			if (ssel.size() > 1)
-				return;
-			Object obj = ssel.getFirstElement();
-			if (obj instanceof IResource) {
-				IContainer container;
-				if (obj instanceof IContainer)
-					container = (IContainer) obj;
-				else
-					container = ((IResource) obj).getParent();
-				containerText.setText(container.getFullPath().toString());
-			}
-		}
-		fileText.setText("$initialFileName$");
-	}
-
-	/**
-	 * Uses the standard container selection dialog to choose the new value for
-	 * the container field.
-	 */
-
-	private void handleBrowse() {
-		ContainerSelectionDialog dialog = new ContainerSelectionDialog(
-				getShell(), ResourcesPlugin.getWorkspace().getRoot(), false,
-				"Select new file container");
-		if (dialog.open() == ContainerSelectionDialog.OK) {
-			Object[] result = dialog.getResult();
-			if (result.length == 1) {
-				containerText.setText(((Path) result[0]).toString());
-			}
-		}
-	}
-
-	/**
-	 * Ensures that both text fields are set.
-	 */
-
-	private void dialogChanged() {
-		IResource container = ResourcesPlugin.getWorkspace().getRoot()
-				.findMember(new Path(getContainerName()));
-		String fileName = getFileName();
-
-		if (getContainerName().length() == 0) {
-			updateStatus("File container must be specified");
-			return;
-		}
-		if (container == null
-				|| (container.getType() & (IResource.PROJECT | IResource.FOLDER)) == 0) {
-			updateStatus("File container must exist");
-			return;
-		}
-		if (!container.isAccessible()) {
-			updateStatus("Project must be writable");
-			return;
-		}
-		if (fileName.length() == 0) {
-			updateStatus("File name must be specified");
-			return;
-		}
-		if (fileName.replace('\\', '/').indexOf('/', 1) > 0) {
-			updateStatus("File name must be valid");
-			return;
-		}
-		int dotLoc = fileName.lastIndexOf('.');
-		if (dotLoc != -1) {
-			String ext = fileName.substring(dotLoc + 1);
-			if (ext.equalsIgnoreCase("$extension$") == false) {
-				updateStatus("File extension must be \"$extension$\"");
-				return;
-			}
-		}
-		updateStatus(null);
-	}
-
-	private void updateStatus(String message) {
-		setErrorMessage(message);
-		setPageComplete(message == null);
-	}
-
-	public String getContainerName() {
-		return containerText.getText();
-	}
-
-	public String getFileName() {
-		return fileText.getText();
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/perspective/bin/icons/releng_gears.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/perspective/bin/icons/releng_gears.gif
deleted file mode 100644
index 81fb7b4..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/perspective/bin/icons/releng_gears.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/perspective/java/$perspectiveClassName$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/perspective/java/$perspectiveClassName$.java
deleted file mode 100644
index 22d4a04..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/perspective/java/$perspectiveClassName$.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package $packageName$;
-
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.jdt.ui.JavaUI;
-
-
-/**
- *  This class is meant to serve as an example for how various contributions 
- *  are made to a perspective. Note that some of the extension point id's are
- *  referred to as API constants while others are hardcoded and may be subject 
- *  to change. 
- */
-public class $perspectiveClassName$ implements IPerspectiveFactory {
-
-	private IPageLayout factory;
-
-	public $perspectiveClassName$() {
-		super();
-	}
-
-	public void createInitialLayout(IPageLayout factory) {
-		this.factory = factory;
-		addViews();
-% if(actionSets)	
-		addActionSets();
-% endif
-% if(newWizardShortcuts)
-		addNewWizardShortcuts();
-% endif
-% if(perspectiveShortcuts)	
-		addPerspectiveShortcuts();
-% endif
-% if(showViewShortcuts)	
-		addViewShortcuts();
-% endif
-	}
-
-	private void addViews() {
-		// Creates the overall folder layout. 
-		// Note that each new Folder uses a percentage of the remaining EditorArea.
-		
-		IFolderLayout bottom =
-			factory.createFolder(
-				"bottomRight", //$NON-NLS-1$
-				IPageLayout.BOTTOM,
-				0.75f,
-				factory.getEditorArea());
-		bottom.addView(IPageLayout.ID_PROBLEM_VIEW);
-		bottom.addView("org.eclipse.team.ui.GenericHistoryView"); //$NON-NLS-1$
-		bottom.addPlaceholder(IConsoleConstants.ID_CONSOLE_VIEW);
-
-		IFolderLayout topLeft =
-			factory.createFolder(
-				"topLeft", //$NON-NLS-1$
-				IPageLayout.LEFT,
-				0.25f,
-				factory.getEditorArea());
-		topLeft.addView(IPageLayout.ID_RES_NAV);
-		topLeft.addView("org.eclipse.jdt.junit.ResultView"); //$NON-NLS-1$
-		
-		factory.addFastView("org.eclipse.team.ccvs.ui.RepositoriesView",0.50f); //$NON-NLS-1$
-		factory.addFastView("org.eclipse.team.sync.views.SynchronizeView", 0.50f); //$NON-NLS-1$
-	}
-
-% if(actionSets)	
-	private void addActionSets() {
-		factory.addActionSet("org.eclipse.debug.ui.launchActionSet"); //$NON-NLS-1$
-		factory.addActionSet("org.eclipse.debug.ui.debugActionSet"); //$NON-NLS-1$
-		factory.addActionSet("org.eclipse.debug.ui.profileActionSet"); //$NON-NLS-1$
-		factory.addActionSet("org.eclipse.jdt.debug.ui.JDTDebugActionSet"); //$NON-NLS-1$
-		factory.addActionSet("org.eclipse.jdt.junit.JUnitActionSet"); //$NON-NLS-1$
-		factory.addActionSet("org.eclipse.team.ui.actionSet"); //$NON-NLS-1$
-		factory.addActionSet("org.eclipse.team.cvs.ui.CVSActionSet"); //$NON-NLS-1$
-		factory.addActionSet("org.eclipse.ant.ui.actionSet.presentation"); //$NON-NLS-1$
-		factory.addActionSet(JavaUI.ID_ACTION_SET);
-		factory.addActionSet(JavaUI.ID_ELEMENT_CREATION_ACTION_SET);
-		factory.addActionSet(IPageLayout.ID_NAVIGATE_ACTION_SET); //$NON-NLS-1$
-	}
-
-% endif	
-% if(perspectiveShortcuts)	
-	private void addPerspectiveShortcuts() {
-		factory.addPerspectiveShortcut("org.eclipse.team.ui.TeamSynchronizingPerspective"); //$NON-NLS-1$
-		factory.addPerspectiveShortcut("org.eclipse.team.cvs.ui.cvsPerspective"); //$NON-NLS-1$
-		factory.addPerspectiveShortcut("org.eclipse.ui.resourcePerspective"); //$NON-NLS-1$
-	}
-
-% endif
-% if(newWizardShortcuts)
-	private void addNewWizardShortcuts() {
-		factory.addNewWizardShortcut("org.eclipse.team.cvs.ui.newProjectCheckout");//$NON-NLS-1$
-		factory.addNewWizardShortcut("org.eclipse.ui.wizards.new.folder");//$NON-NLS-1$
-		factory.addNewWizardShortcut("org.eclipse.ui.wizards.new.file");//$NON-NLS-1$
-	}
-
-% endif	
-% if(showViewShortcuts)	
-	private void addViewShortcuts() {
-		factory.addShowViewShortcut("org.eclipse.ant.ui.views.AntView"); //$NON-NLS-1$
-		factory.addShowViewShortcut("org.eclipse.team.ccvs.ui.AnnotateView"); //$NON-NLS-1$
-		factory.addShowViewShortcut("org.eclipse.pde.ui.DependenciesView"); //$NON-NLS-1$
-		factory.addShowViewShortcut("org.eclipse.jdt.junit.ResultView"); //$NON-NLS-1$
-		factory.addShowViewShortcut("org.eclipse.team.ui.GenericHistoryView"); //$NON-NLS-1$
-		factory.addShowViewShortcut(IConsoleConstants.ID_CONSOLE_VIEW);
-		factory.addShowViewShortcut(JavaUI.ID_PACKAGES);
-		factory.addShowViewShortcut(IPageLayout.ID_RES_NAV);
-		factory.addShowViewShortcut(IPageLayout.ID_PROBLEM_VIEW);
-		factory.addShowViewShortcut(IPageLayout.ID_OUTLINE);
-	}
-
-% endif
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/popupMenus/java/$actionClass$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/popupMenus/java/$actionClass$.java
deleted file mode 100644
index c47b6d5..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/popupMenus/java/$actionClass$.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class $actionClass$ implements IObjectActionDelegate {
-
-	private Shell shell;
-	
-	/**
-	 * Constructor for Action1.
-	 */
-	public $actionClass$() {
-		super();
-	}
-
-	/**
-	 * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		shell = targetPart.getSite().getShell();
-	}
-
-	/**
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		MessageDialog.openInformation(
-			shell,
-			"$pluginName$",
-			"$actionLabel$ was executed.");
-	}
-
-	/**
-	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/preferences/java/$pageClassName$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/preferences/java/$pageClassName$.java
deleted file mode 100644
index 2997fd4..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/preferences/java/$pageClassName$.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.preference.*;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.IWorkbench;
-import $pluginClass$;
-
-/**
- * This class represents a preference page that
- * is contributed to the Preferences dialog. By 
- * subclassing <samp>FieldEditorPreferencePage</samp>, we
- * can use the field support built into JFace that allows
- * us to create a page that is small and knows how to 
- * save, restore and apply itself.
- * <p>
- * This page is used to modify preferences only. They
- * are stored in the preference store that belongs to
- * the main plug-in class. That way, preferences can
- * be accessed directly via the preference store.
- */
-
-%Options in the file
-%
-% packageName (inherit)
-% pageClassName
-% pluginClassName
-%
-public class $pageClassName$
-	extends FieldEditorPreferencePage
-	implements IWorkbenchPreferencePage {
-
-	public $pageClassName$() {
-		super(GRID);
-		setPreferenceStore($activator$.getDefault().getPreferenceStore());
-		setDescription("A demonstration of a preference page implementation");
-	}
-	
-	/**
-	 * Creates the field editors. Field editors are abstractions of
-	 * the common GUI blocks needed to manipulate various types
-	 * of preferences. Each field editor knows how to save and
-	 * restore itself.
-	 */
-	public void createFieldEditors() {
-		addField(new DirectoryFieldEditor(PreferenceConstants.P_PATH, 
-				"&Directory preference:", getFieldEditorParent()));
-		addField(
-			new BooleanFieldEditor(
-				PreferenceConstants.P_BOOLEAN,
-				"&An example of a boolean preference",
-				getFieldEditorParent()));
-
-		addField(new RadioGroupFieldEditor(
-				PreferenceConstants.P_CHOICE,
-			"An example of a multiple-choice preference",
-			1,
-			new String[][] { { "&Choice 1", "choice1" }, {
-				"C&hoice 2", "choice2" }
-		}, getFieldEditorParent()));
-		addField(
-			new StringFieldEditor(PreferenceConstants.P_STRING, "A &text preference:", getFieldEditorParent()));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-	
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/preferences/java/PreferenceConstants.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/preferences/java/PreferenceConstants.java
deleted file mode 100644
index 9cc4912..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/preferences/java/PreferenceConstants.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package $packageName$;
-
-/**
- * Constant definitions for plug-in preferences
- */
-public class PreferenceConstants {
-
-	public static final String P_PATH = "pathPreference";
-
-	public static final String P_BOOLEAN = "booleanPreference";
-
-	public static final String P_CHOICE = "choicePreference";
-
-	public static final String P_STRING = "stringPreference";
-	
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/preferences/java/PreferenceInitializer.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/preferences/java/PreferenceInitializer.java
deleted file mode 100644
index 224bfd7..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/preferences/java/PreferenceInitializer.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package $packageName$;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-import $pluginClass$;
-
-/**
- * Class used to initialize default preference values.
- */
-public class PreferenceInitializer extends AbstractPreferenceInitializer {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		IPreferenceStore store = $activator$.getDefault().getPreferenceStore();
-		store.setDefault(PreferenceConstants.P_BOOLEAN, true);
-		store.setDefault(PreferenceConstants.P_CHOICE, "choice2");
-		store.setDefault(PreferenceConstants.P_STRING,
-				"Default value");
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/propertyPages/java/$className$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/propertyPages/java/$className$.java
deleted file mode 100644
index 14c2b18..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/propertyPages/java/$className$.java
+++ /dev/null
@@ -1,125 +0,0 @@
-package $packageName$;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-public class $className$ extends PropertyPage {
-
-	private static final String PATH_TITLE = "Path:";
-	private static final String OWNER_TITLE = "&Owner:";
-	private static final String OWNER_PROPERTY = "OWNER";
-	private static final String DEFAULT_OWNER = "John Doe";
-
-	private static final int TEXT_FIELD_WIDTH = 50;
-
-	private Text ownerText;
-
-	/**
-	 * Constructor for SamplePropertyPage.
-	 */
-	public $className$() {
-		super();
-	}
-
-	private void addFirstSection(Composite parent) {
-		Composite composite = createDefaultComposite(parent);
-
-		//Label for path field
-		Label pathLabel = new Label(composite, SWT.NONE);
-		pathLabel.setText(PATH_TITLE);
-
-		// Path text field
-		Text pathValueText = new Text(composite, SWT.WRAP | SWT.READ_ONLY);
-		pathValueText.setText(((IResource) getElement()).getFullPath().toString());
-	}
-
-	private void addSeparator(Composite parent) {
-		Label separator = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
-		GridData gridData = new GridData();
-		gridData.horizontalAlignment = GridData.FILL;
-		gridData.grabExcessHorizontalSpace = true;
-		separator.setLayoutData(gridData);
-	}
-
-	private void addSecondSection(Composite parent) {
-		Composite composite = createDefaultComposite(parent);
-
-		// Label for owner field
-		Label ownerLabel = new Label(composite, SWT.NONE);
-		ownerLabel.setText(OWNER_TITLE);
-
-		// Owner text field
-		ownerText = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		GridData gd = new GridData();
-		gd.widthHint = convertWidthInCharsToPixels(TEXT_FIELD_WIDTH);
-		ownerText.setLayoutData(gd);
-
-		// Populate owner text field
-		try {
-			String owner =
-				((IResource) getElement()).getPersistentProperty(
-					new QualifiedName("", OWNER_PROPERTY));
-			ownerText.setText((owner != null) ? owner : DEFAULT_OWNER);
-		} catch (CoreException e) {
-			ownerText.setText(DEFAULT_OWNER);
-		}
-	}
-
-	/**
-	 * @see PreferencePage#createContents(Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL);
-		data.grabExcessHorizontalSpace = true;
-		composite.setLayoutData(data);
-
-		addFirstSection(composite);
-		addSeparator(composite);
-		addSecondSection(composite);
-		return composite;
-	}
-
-	private Composite createDefaultComposite(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-
-		GridData data = new GridData();
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		composite.setLayoutData(data);
-
-		return composite;
-	}
-
-	protected void performDefaults() {
-		// Populate the owner text field with the default value
-		ownerText.setText(DEFAULT_OWNER);
-	}
-	
-	public boolean performOk() {
-		// store the value in the owner text field
-		try {
-			((IResource) getElement()).setPersistentProperty(
-				new QualifiedName("", OWNER_PROPERTY),
-				ownerText.getText());
-		} catch (CoreException e) {
-			return false;
-		}
-		return true;
-	}
-
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/view/bin/icons/sample.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/view/bin/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/view/bin/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/view/contexts.xml b/ui/org.eclipse.pde.ui.templates/templates_3.0/view/contexts.xml
deleted file mode 100644
index 24ac00d..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/view/contexts.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<contexts>
-	<context id="viewer" title="Sample View">
-%if viewType =="treeViewer"
-		<description>This is the context help for the sample view with a tree viewer. It was generated by a PDE template.</description>
-%else
-		<description>This is the context help for the sample view with a table viewer. It was generated by a PDE template.</description>
-%endif
-		<topic href="/PLUGINS_ROOT/org.eclipse.platform.doc.isv/guide/ua_help_context.htm" label="Context-sensitive help">
-%if useEnablement
-			<enablement>
-				<with variable="platform">
-	            	<test property="org.eclipse.core.runtime.isBundleInstalled" args="org.eclipse.platform.doc.isv"/>
-	     		</with>
-			</enablement>
-%endif
-		</topic>
-	</context>
-</contexts>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/view/java/$className$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/view/java/$className$.java
deleted file mode 100644
index 751418c..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/view/java/$className$.java
+++ /dev/null
@@ -1,348 +0,0 @@
-package $packageName$;
-
-%  if viewType =="treeViewer"
-import java.util.ArrayList;
-% endif
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.*;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.SWT;
-% if viewType == "treeViewer"
-import org.eclipse.core.runtime.IAdaptable;
-% endif
-
-
-/**
- * This sample class demonstrates how to plug-in a new
- * workbench view. The view shows data obtained from the
- * model. The sample creates a dummy model on the fly,
- * but a real implementation would connect to the model
- * available either in this or another plug-in (e.g. the workspace).
- * The view is connected to the model using a content provider.
- * <p>
- * The view uses a label provider to define how model
- * objects should be presented in the view. Each
- * view can present the same model objects using
- * different labels and icons, if needed. Alternatively,
- * a single label provider can be shared between views
- * in order to ensure that objects of the same type are
- * presented in the same way everywhere.
- * <p>
- */
-% Options in the template:
-%
-% packageName
-% className
-% viewName
-% viewCategoryId
-% viewCategoryName
-% viewType
-% filter
-% drillDown
-
-public class $className$ extends ViewPart {
-%if viewType == "tableViewer"
-	private TableViewer viewer;
-%else
-%  if viewType == "treeViewer"
-	private TreeViewer viewer;
-	private DrillDownAdapter drillDownAdapter;
-%  endif
-%endif
-	private Action action1;
-	private Action action2;
-	private Action doubleClickAction;
-
-	/*
-	 * The content provider class is responsible for
-	 * providing objects to the view. It can wrap
-	 * existing objects in adapters or simply return
-	 * objects as-is. These objects may be sensitive
-	 * to the current input of the view, or ignore
-	 * it and always show the same content 
-	 * (like Task List, for example).
-	 */
-	 
-%if viewType == "tableViewer"
-	class ViewContentProvider implements IStructuredContentProvider {
-		public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		}
-		public void dispose() {
-		}
-		public Object[] getElements(Object parent) {
-			return new String[] { "One", "Two", "Three" };
-		}
-	}
-%else
-%  if viewType =="treeViewer"
-	class TreeObject implements IAdaptable {
-		private String name;
-		private TreeParent parent;
-		
-		public TreeObject(String name) {
-			this.name = name;
-		}
-		public String getName() {
-			return name;
-		}
-		public void setParent(TreeParent parent) {
-			this.parent = parent;
-		}
-		public TreeParent getParent() {
-			return parent;
-		}
-		public String toString() {
-			return getName();
-		}
-		public Object getAdapter(Class key) {
-			return null;
-		}
-	}
-	
-	class TreeParent extends TreeObject {
-		private ArrayList children;
-		public TreeParent(String name) {
-			super(name);
-			children = new ArrayList();
-		}
-		public void addChild(TreeObject child) {
-			children.add(child);
-			child.setParent(this);
-		}
-		public void removeChild(TreeObject child) {
-			children.remove(child);
-			child.setParent(null);
-		}
-		public TreeObject [] getChildren() {
-			return (TreeObject [])children.toArray(new TreeObject[children.size()]);
-		}
-		public boolean hasChildren() {
-			return children.size()>0;
-		}
-	}
-
-	class ViewContentProvider implements IStructuredContentProvider, 
-										   ITreeContentProvider {
-		private TreeParent invisibleRoot;
-
-		public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		}
-		public void dispose() {
-		}
-		public Object[] getElements(Object parent) {
-			if (parent.equals(getViewSite())) {
-				if (invisibleRoot==null) initialize();
-				return getChildren(invisibleRoot);
-			}
-			return getChildren(parent);
-		}
-		public Object getParent(Object child) {
-			if (child instanceof TreeObject) {
-				return ((TreeObject)child).getParent();
-			}
-			return null;
-		}
-		public Object [] getChildren(Object parent) {
-			if (parent instanceof TreeParent) {
-				return ((TreeParent)parent).getChildren();
-			}
-			return new Object[0];
-		}
-		public boolean hasChildren(Object parent) {
-			if (parent instanceof TreeParent)
-				return ((TreeParent)parent).hasChildren();
-			return false;
-		}
-/*
- * We will set up a dummy model to initialize tree heararchy.
- * In a real code, you will connect to a real model and
- * expose its hierarchy.
- */
-		private void initialize() {
-			TreeObject to1 = new TreeObject("Leaf 1");
-			TreeObject to2 = new TreeObject("Leaf 2");
-			TreeObject to3 = new TreeObject("Leaf 3");
-			TreeParent p1 = new TreeParent("Parent 1");
-			p1.addChild(to1);
-			p1.addChild(to2);
-			p1.addChild(to3);
-			
-			TreeObject to4 = new TreeObject("Leaf 4");
-			TreeParent p2 = new TreeParent("Parent 2");
-			p2.addChild(to4);
-			
-			TreeParent root = new TreeParent("Root");
-			root.addChild(p1);
-			root.addChild(p2);
-			
-			invisibleRoot = new TreeParent("");
-			invisibleRoot.addChild(root);
-		}
-	}
-%  endif
-%endif
-%if viewType == "tableViewer"
-	class ViewLabelProvider extends LabelProvider implements ITableLabelProvider {
-		public String getColumnText(Object obj, int index) {
-			return getText(obj);
-		}
-		public Image getColumnImage(Object obj, int index) {
-			return getImage(obj);
-		}
-		public Image getImage(Object obj) {
-			return PlatformUI.getWorkbench().
-					getSharedImages().getImage(ISharedImages.IMG_OBJ_ELEMENT);
-		}
-	}
-%else
-	class ViewLabelProvider extends LabelProvider {
-
-		public String getText(Object obj) {
-			return obj.toString();
-		}
-		public Image getImage(Object obj) {
-			String imageKey = ISharedImages.IMG_OBJ_ELEMENT;
-			if (obj instanceof TreeParent)
-			   imageKey = ISharedImages.IMG_OBJ_FOLDER;
-			return PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
-		}
-	}
-%endif
-	class NameSorter extends ViewerSorter {
-	}
-
-	/**
-	 * The constructor.
-	 */
-	public $className$() {
-	}
-
-	/**
-	 * This is a callback that will allow us
-	 * to create the viewer and initialize it.
-	 */
-	public void createPartControl(Composite parent) {
-%if viewType =="tableViewer"
-		viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-%else
-%  if viewType =="treeViewer"
-		viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-		drillDownAdapter = new DrillDownAdapter(viewer);
-%  endif
-%endif
-		viewer.setContentProvider(new ViewContentProvider());
-		viewer.setLabelProvider(new ViewLabelProvider());
-		viewer.setSorter(new NameSorter());
-		viewer.setInput(getViewSite());
-%if contextHelp
-
-		// Create the help context id for the viewer's control
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(), "$pluginId$.viewer");
-%endif
-		makeActions();
-		hookContextMenu();
-		hookDoubleClickAction();
-		contributeToActionBars();
-	}
-
-	private void hookContextMenu() {
-		MenuManager menuMgr = new MenuManager("#PopupMenu");
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				$className$.this.fillContextMenu(manager);
-			}
-		});
-		Menu menu = menuMgr.createContextMenu(viewer.getControl());
-		viewer.getControl().setMenu(menu);
-		getSite().registerContextMenu(menuMgr, viewer);
-	}
-
-	private void contributeToActionBars() {
-		IActionBars bars = getViewSite().getActionBars();
-		fillLocalPullDown(bars.getMenuManager());
-		fillLocalToolBar(bars.getToolBarManager());
-	}
-
-	private void fillLocalPullDown(IMenuManager manager) {
-		manager.add(action1);
-		manager.add(new Separator());
-		manager.add(action2);
-	}
-
-	private void fillContextMenu(IMenuManager manager) {
-		manager.add(action1);
-		manager.add(action2);
-%   if viewType == "treeViewer"
-		manager.add(new Separator());
-		drillDownAdapter.addNavigationActions(manager);
-%   endif
-		// Other plug-ins can contribute there actions here
-		manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-	
-	private void fillLocalToolBar(IToolBarManager manager) {
-		manager.add(action1);
-		manager.add(action2);
-%   if viewType == "treeViewer"
-		manager.add(new Separator());
-		drillDownAdapter.addNavigationActions(manager);
-%  endif
-	}
-
-	private void makeActions() {
-		action1 = new Action() {
-			public void run() {
-				showMessage("Action 1 executed");
-			}
-		};
-		action1.setText("Action 1");
-		action1.setToolTipText("Action 1 tooltip");
-		action1.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().
-			getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK));
-		
-		action2 = new Action() {
-			public void run() {
-				showMessage("Action 2 executed");
-			}
-		};
-		action2.setText("Action 2");
-		action2.setToolTipText("Action 2 tooltip");
-		action2.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().
-				getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK));
-		doubleClickAction = new Action() {
-			public void run() {
-				ISelection selection = viewer.getSelection();
-				Object obj = ((IStructuredSelection)selection).getFirstElement();
-				showMessage("Double-click detected on "+obj.toString());
-			}
-		};
-	}
-
-	private void hookDoubleClickAction() {
-		viewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				doubleClickAction.run();
-			}
-		});
-	}
-	private void showMessage(String message) {
-		MessageDialog.openInformation(
-			viewer.getControl().getShell(),
-			"$viewName$",
-			message);
-	}
-
-	/**
-	 * Passing the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/bin/icons/alt_window_16.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/bin/icons/alt_window_16.gif
deleted file mode 100644
index 05626b1..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/bin/icons/alt_window_16.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/bin/icons/alt_window_32.gif b/ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/bin/icons/alt_window_32.gif
deleted file mode 100644
index b432f88..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/bin/icons/alt_window_32.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/java/$applicationClass$.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/java/$applicationClass$.java
deleted file mode 100644
index d926eaa..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/java/$applicationClass$.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package $packageName$;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class $applicationClass$ implements IPlatformRunnable {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IPlatformRunnable#run(java.lang.Object)
-	 */
-	public Object run(Object args) throws Exception {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART) {
-				return IPlatformRunnable.EXIT_RESTART;
-			}
-			return IPlatformRunnable.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/java/ApplicationWorkbenchAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/java/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index 235a62b..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/java/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-	
-	private static final String PERSPECTIVE_ID = "$pluginId$.perspective";
-
-	public String getInitialWindowPerspectiveId() {
-		return PERSPECTIVE_ID;
-	}
-
-	public void preWindowOpen(IWorkbenchWindowConfigurer configurer) {
-		configurer.setInitialSize(new Point(400, 300));
-		configurer.setShowCoolBar(false);
-		configurer.setShowStatusLine(false);
-%if productBranding == false		
-		configurer.setTitle("$windowTitle$");
-%endif
-	}
-
-	public void fillActionBars(IWorkbenchWindow window,
-			IActionBarConfigurer configurer, int flags) {
-		super.fillActionBars(window, configurer, flags);
-		if ((flags & FILL_MENU_BAR) != 0) {
-			fillMenuBar(window, configurer);
-		}
-	}
-
-	private void fillMenuBar(IWorkbenchWindow window,
-			IActionBarConfigurer configurer) {
-		IMenuManager menuBar = configurer.getMenuManager();
-		menuBar.add(createFileMenu(window));
-	}
-
-	private MenuManager createFileMenu(IWorkbenchWindow window) {
-		MenuManager menu = new MenuManager("File", //$NON-NLS-1$
-				IWorkbenchActionConstants.M_FILE);
-		menu.add(new GroupMarker(IWorkbenchActionConstants.FILE_START));
-		menu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-		menu.add(ActionFactory.QUIT.create(window));
-		menu.add(new GroupMarker(IWorkbenchActionConstants.FILE_END));
-		return menu;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/java/Perspective.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/java/Perspective.java
deleted file mode 100644
index 4d16ecf..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/java/Perspective.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-	public void createInitialLayout(IPageLayout layout) {
-		String editorArea = layout.getEditorArea();
-		layout.setEditorAreaVisible(false);
-		layout.setFixed(true);
-		
-		layout.addStandaloneView(View.ID,  false, IPageLayout.LEFT, 1.0f, editorArea);
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/java/View.java b/ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/java/View.java
deleted file mode 100644
index 8a70946..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.0/viewRCP/java/View.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.ViewPart;
-
-public class View extends ViewPart {
-	public static final String ID = "$pluginId$.view";
-
-	private TableViewer viewer;
-
-	/**
-	 * The content provider class is responsible for providing objects to the
-	 * view. It can wrap existing objects in adapters or simply return objects
-	 * as-is. These objects may be sensitive to the current input of the view,
-	 * or ignore it and always show the same content (like Task List, for
-	 * example).
-	 */
-	class ViewContentProvider implements IStructuredContentProvider {
-		public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		}
-
-		public void dispose() {
-		}
-
-		public Object[] getElements(Object parent) {
-			return new String[] { "One", "Two", "Three" };
-		}
-	}
-
-	class ViewLabelProvider extends LabelProvider implements
-			ITableLabelProvider {
-		public String getColumnText(Object obj, int index) {
-			return getText(obj);
-		}
-
-		public Image getColumnImage(Object obj, int index) {
-			return getImage(obj);
-		}
-
-		public Image getImage(Object obj) {
-			return PlatformUI.getWorkbench().getSharedImages().getImage(
-					ISharedImages.IMG_OBJ_ELEMENT);
-		}
-	}
-
-	/**
-	 * This is a callback that will allow us to create the viewer and initialize
-	 * it.
-	 */
-	public void createPartControl(Composite parent) {
-		viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL
-				| SWT.V_SCROLL);
-		viewer.setContentProvider(new ViewContentProvider());
-		viewer.setLabelProvider(new ViewLabelProvider());
-		viewer.setInput(getViewSite());
-	}
-
-	/**
-	 * Passing the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/bin/icons/sample.gif b/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/bin/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/bin/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/$editorClass$.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/$editorClass$.java
deleted file mode 100644
index d248dae..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/$editorClass$.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.editors.text.TextEditor;
-
-public class $editorClass$ extends TextEditor {
-
-	private ColorManager colorManager;
-
-	public $editorClass$() {
-		super();
-		colorManager = new ColorManager();
-		setSourceViewerConfiguration(new XMLConfiguration(colorManager));
-		setDocumentProvider(new XMLDocumentProvider());
-	}
-	public void dispose() {
-		colorManager.dispose();
-		super.dispose();
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/ColorManager.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/ColorManager.java
deleted file mode 100644
index f98c700..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/ColorManager.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package $packageName$;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-public class ColorManager {
-
-	protected Map fColorTable = new HashMap(10);
-
-	public void dispose() {
-		Iterator e = fColorTable.values().iterator();
-		while (e.hasNext())
-			 ((Color) e.next()).dispose();
-	}
-	public Color getColor(RGB rgb) {
-		Color color = (Color) fColorTable.get(rgb);
-		if (color == null) {
-			color = new Color(Display.getCurrent(), rgb);
-			fColorTable.put(rgb, color);
-		}
-		return color;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/IXMLColorConstants.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/IXMLColorConstants.java
deleted file mode 100644
index 8425b44..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/IXMLColorConstants.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package $packageName$;
-
-import org.eclipse.swt.graphics.RGB;
-
-public interface IXMLColorConstants {
-	RGB XML_COMMENT = new RGB(128, 0, 0);
-	RGB PROC_INSTR = new RGB(128, 128, 128);
-	RGB STRING = new RGB(0, 128, 0);
-	RGB DEFAULT = new RGB(0, 0, 0);
-	RGB TAG = new RGB(0, 0, 128);
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/NonRuleBasedDamagerRepairer.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/NonRuleBasedDamagerRepairer.java
deleted file mode 100644
index cc7b9e4..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/NonRuleBasedDamagerRepairer.java
+++ /dev/null
@@ -1,138 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.TextPresentation;
-import org.eclipse.jface.text.presentation.IPresentationDamager;
-import org.eclipse.jface.text.presentation.IPresentationRepairer;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.swt.custom.StyleRange;
-
-public class NonRuleBasedDamagerRepairer
-	implements IPresentationDamager, IPresentationRepairer {
-
-	/** The document this object works on */
-	protected IDocument fDocument;
-	/** The default text attribute if non is returned as data by the current token */
-	protected TextAttribute fDefaultTextAttribute;
-	
-	/**
-	 * Constructor for NonRuleBasedDamagerRepairer.
-	 */
-	public NonRuleBasedDamagerRepairer(TextAttribute defaultTextAttribute) {
-		Assert.isNotNull(defaultTextAttribute);
-
-		fDefaultTextAttribute = defaultTextAttribute;
-	}
-
-	/**
-	 * @see IPresentationRepairer#setDocument(IDocument)
-	 */
-	public void setDocument(IDocument document) {
-		fDocument = document;
-	}
-
-	/**
-	 * Returns the end offset of the line that contains the specified offset or
-	 * if the offset is inside a line delimiter, the end offset of the next line.
-	 *
-	 * @param offset the offset whose line end offset must be computed
-	 * @return the line end offset for the given offset
-	 * @exception BadLocationException if offset is invalid in the current document
-	 */
-	protected int endOfLineOf(int offset) throws BadLocationException {
-
-		IRegion info = fDocument.getLineInformationOfOffset(offset);
-		if (offset <= info.getOffset() + info.getLength())
-			return info.getOffset() + info.getLength();
-
-		int line = fDocument.getLineOfOffset(offset);
-		try {
-			info = fDocument.getLineInformation(line + 1);
-			return info.getOffset() + info.getLength();
-		} catch (BadLocationException x) {
-			return fDocument.getLength();
-		}
-	}
-
-	/**
-	 * @see IPresentationDamager#getDamageRegion(ITypedRegion, DocumentEvent, boolean)
-	 */
-	public IRegion getDamageRegion(
-		ITypedRegion partition,
-		DocumentEvent event,
-		boolean documentPartitioningChanged) {
-		if (!documentPartitioningChanged) {
-			try {
-
-				IRegion info =
-					fDocument.getLineInformationOfOffset(event.getOffset());
-				int start = Math.max(partition.getOffset(), info.getOffset());
-
-				int end =
-					event.getOffset()
-						+ (event.getText() == null
-							? event.getLength()
-							: event.getText().length());
-
-				if (info.getOffset() <= end
-					&& end <= info.getOffset() + info.getLength()) {
-					// optimize the case of the same line
-					end = info.getOffset() + info.getLength();
-				} else
-					end = endOfLineOf(end);
-
-				end =
-					Math.min(
-						partition.getOffset() + partition.getLength(),
-						end);
-				return new Region(start, end - start);
-
-			} catch (BadLocationException x) {
-			}
-		}
-
-		return partition;
-	}
-
-	/**
-	 * @see IPresentationRepairer#createPresentation(TextPresentation, ITypedRegion)
-	 */
-	public void createPresentation(
-		TextPresentation presentation,
-		ITypedRegion region) {
-		addRange(
-			presentation,
-			region.getOffset(),
-			region.getLength(),
-			fDefaultTextAttribute);
-	}
-
-	/**
-	 * Adds style information to the given text presentation.
-	 *
-	 * @param presentation the text presentation to be extended
-	 * @param offset the offset of the range to be styled
-	 * @param length the length of the range to be styled
-	 * @param attr the attribute describing the style of the range to be styled
-	 */
-	protected void addRange(
-		TextPresentation presentation,
-		int offset,
-		int length,
-		TextAttribute attr) {
-		if (attr != null)
-			presentation.addStyleRange(
-				new StyleRange(
-					offset,
-					length,
-					attr.getForeground(),
-					attr.getBackground(),
-					attr.getStyle()));
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/TagRule.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/TagRule.java
deleted file mode 100644
index a9efd22..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/TagRule.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.text.rules.*;
-
-public class TagRule extends MultiLineRule {
-
-	public TagRule(IToken token) {
-		super("<", ">", token);
-	}
-	protected boolean sequenceDetected(
-		ICharacterScanner scanner,
-		char[] sequence,
-		boolean eofAllowed) {
-		int c = scanner.read();
-		if (sequence[0] == '<') {
-			if (c == '?') {
-				// processing instruction - abort
-				scanner.unread();
-				return false;
-			}
-			if (c == '!') {
-				scanner.unread();
-				// comment - abort
-				return false;
-			}
-		} else if (sequence[0] == '>') {
-			scanner.unread();
-		}
-		return super.sequenceDetected(scanner, sequence, eofAllowed);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLConfiguration.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLConfiguration.java
deleted file mode 100644
index 31d0c0c..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLConfiguration.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextDoubleClickStrategy;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.presentation.IPresentationReconciler;
-import org.eclipse.jface.text.presentation.PresentationReconciler;
-import org.eclipse.jface.text.rules.DefaultDamagerRepairer;
-import org.eclipse.jface.text.rules.Token;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-
-public class XMLConfiguration extends SourceViewerConfiguration {
-	private XMLDoubleClickStrategy doubleClickStrategy;
-	private XMLTagScanner tagScanner;
-	private XMLScanner scanner;
-	private ColorManager colorManager;
-
-	public XMLConfiguration(ColorManager colorManager) {
-		this.colorManager = colorManager;
-	}
-	public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) {
-		return new String[] {
-			IDocument.DEFAULT_CONTENT_TYPE,
-			XMLPartitionScanner.XML_COMMENT,
-			XMLPartitionScanner.XML_TAG };
-	}
-	public ITextDoubleClickStrategy getDoubleClickStrategy(
-		ISourceViewer sourceViewer,
-		String contentType) {
-		if (doubleClickStrategy == null)
-			doubleClickStrategy = new XMLDoubleClickStrategy();
-		return doubleClickStrategy;
-	}
-
-	protected XMLScanner getXMLScanner() {
-		if (scanner == null) {
-			scanner = new XMLScanner(colorManager);
-			scanner.setDefaultReturnToken(
-				new Token(
-					new TextAttribute(
-						colorManager.getColor(IXMLColorConstants.DEFAULT))));
-		}
-		return scanner;
-	}
-	protected XMLTagScanner getXMLTagScanner() {
-		if (tagScanner == null) {
-			tagScanner = new XMLTagScanner(colorManager);
-			tagScanner.setDefaultReturnToken(
-				new Token(
-					new TextAttribute(
-						colorManager.getColor(IXMLColorConstants.TAG))));
-		}
-		return tagScanner;
-	}
-
-	public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) {
-		PresentationReconciler reconciler = new PresentationReconciler();
-
-		DefaultDamagerRepairer dr =
-			new DefaultDamagerRepairer(getXMLTagScanner());
-		reconciler.setDamager(dr, XMLPartitionScanner.XML_TAG);
-		reconciler.setRepairer(dr, XMLPartitionScanner.XML_TAG);
-
-		dr = new DefaultDamagerRepairer(getXMLScanner());
-		reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);
-		reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);
-
-		NonRuleBasedDamagerRepairer ndr =
-			new NonRuleBasedDamagerRepairer(
-				new TextAttribute(
-					colorManager.getColor(IXMLColorConstants.XML_COMMENT)));
-		reconciler.setDamager(ndr, XMLPartitionScanner.XML_COMMENT);
-		reconciler.setRepairer(ndr, XMLPartitionScanner.XML_COMMENT);
-
-		return reconciler;
-	}
-
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLDocumentProvider.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLDocumentProvider.java
deleted file mode 100644
index 9536ecf..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLDocumentProvider.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package $packageName$;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.rules.FastPartitioner;
-import org.eclipse.ui.editors.text.FileDocumentProvider;
-
-public class XMLDocumentProvider extends FileDocumentProvider {
-
-	protected IDocument createDocument(Object element) throws CoreException {
-		IDocument document = super.createDocument(element);
-		if (document != null) {
-			IDocumentPartitioner partitioner =
-				new FastPartitioner(
-					new XMLPartitionScanner(),
-					new String[] {
-						XMLPartitionScanner.XML_TAG,
-						XMLPartitionScanner.XML_COMMENT });
-			partitioner.connect(document);
-			document.setDocumentPartitioner(partitioner);
-		}
-		return document;
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLDoubleClickStrategy.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLDoubleClickStrategy.java
deleted file mode 100644
index bc901f7..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLDoubleClickStrategy.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.text.*;
-
-public class XMLDoubleClickStrategy implements ITextDoubleClickStrategy {
-	protected ITextViewer fText;
-
-	public void doubleClicked(ITextViewer part) {
-		int pos = part.getSelectedRange().x;
-
-		if (pos < 0)
-			return;
-
-		fText = part;
-
-		if (!selectComment(pos)) {
-			selectWord(pos);
-		}
-	}
-	protected boolean selectComment(int caretPos) {
-		IDocument doc = fText.getDocument();
-		int startPos, endPos;
-
-		try {
-			int pos = caretPos;
-			char c = ' ';
-
-			while (pos >= 0) {
-				c = doc.getChar(pos);
-				if (c == '\\') {
-					pos -= 2;
-					continue;
-				}
-				if (c == Character.LINE_SEPARATOR || c == '\"')
-					break;
-				--pos;
-			}
-
-			if (c != '\"')
-				return false;
-
-			startPos = pos;
-
-			pos = caretPos;
-			int length = doc.getLength();
-			c = ' ';
-
-			while (pos < length) {
-				c = doc.getChar(pos);
-				if (c == Character.LINE_SEPARATOR || c == '\"')
-					break;
-				++pos;
-			}
-			if (c != '\"')
-				return false;
-
-			endPos = pos;
-
-			int offset = startPos + 1;
-			int len = endPos - offset;
-			fText.setSelectedRange(offset, len);
-			return true;
-		} catch (BadLocationException x) {
-		}
-
-		return false;
-	}
-	protected boolean selectWord(int caretPos) {
-
-		IDocument doc = fText.getDocument();
-		int startPos, endPos;
-
-		try {
-
-			int pos = caretPos;
-			char c;
-
-			while (pos >= 0) {
-				c = doc.getChar(pos);
-				if (!Character.isJavaIdentifierPart(c))
-					break;
-				--pos;
-			}
-
-			startPos = pos;
-
-			pos = caretPos;
-			int length = doc.getLength();
-
-			while (pos < length) {
-				c = doc.getChar(pos);
-				if (!Character.isJavaIdentifierPart(c))
-					break;
-				++pos;
-			}
-
-			endPos = pos;
-			selectRange(startPos, endPos);
-			return true;
-
-		} catch (BadLocationException x) {
-		}
-
-		return false;
-	}
-
-	private void selectRange(int startPos, int stopPos) {
-		int offset = startPos + 1;
-		int length = stopPos - offset;
-		fText.setSelectedRange(offset, length);
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLPartitionScanner.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLPartitionScanner.java
deleted file mode 100644
index fd6e2e9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLPartitionScanner.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.text.rules.*;
-
-public class XMLPartitionScanner extends RuleBasedPartitionScanner {
-	public final static String XML_COMMENT = "__xml_comment";
-	public final static String XML_TAG = "__xml_tag";
-
-	public XMLPartitionScanner() {
-
-		IToken xmlComment = new Token(XML_COMMENT);
-		IToken tag = new Token(XML_TAG);
-
-		IPredicateRule[] rules = new IPredicateRule[2];
-
-		rules[0] = new MultiLineRule("<!--", "-->", xmlComment);
-		rules[1] = new TagRule(tag);
-
-		setPredicateRules(rules);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLScanner.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLScanner.java
deleted file mode 100644
index c0a2bc2..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLScanner.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.text.rules.*;
-import org.eclipse.jface.text.*;
-
-public class XMLScanner extends RuleBasedScanner {
-
-	public XMLScanner(ColorManager manager) {
-		IToken procInstr =
-			new Token(
-				new TextAttribute(
-					manager.getColor(IXMLColorConstants.PROC_INSTR)));
-
-		IRule[] rules = new IRule[2];
-		//Add rule for processing instructions
-		rules[0] = new SingleLineRule("<?", "?>", procInstr);
-		// Add generic whitespace rule.
-		rules[1] = new WhitespaceRule(new XMLWhitespaceDetector());
-
-		setRules(rules);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLTagScanner.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLTagScanner.java
deleted file mode 100644
index 109a6ee..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLTagScanner.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.text.*;
-import org.eclipse.jface.text.rules.*;
-
-public class XMLTagScanner extends RuleBasedScanner {
-
-	public XMLTagScanner(ColorManager manager) {
-		IToken string =
-			new Token(
-				new TextAttribute(manager.getColor(IXMLColorConstants.STRING)));
-
-		IRule[] rules = new IRule[3];
-
-		// Add rule for double quotes
-		rules[0] = new SingleLineRule("\"", "\"", string, '\\');
-		// Add a rule for single quotes
-		rules[1] = new SingleLineRule("'", "'", string, '\\');
-		// Add generic whitespace rule.
-		rules[2] = new WhitespaceRule(new XMLWhitespaceDetector());
-
-		setRules(rules);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLWhitespaceDetector.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLWhitespaceDetector.java
deleted file mode 100644
index 3faa92a..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/editor/java/XMLWhitespaceDetector.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.text.rules.IWhitespaceDetector;
-
-public class XMLWhitespaceDetector implements IWhitespaceDetector {
-
-	public boolean isWhitespace(char c) {
-		return (c == ' ' || c == '\t' || c == '\n' || c == '\r');
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_about.gif b/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_about.gif
deleted file mode 100644
index 20d9ad2..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_about.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_launcher.icns b/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_launcher.icns
deleted file mode 100644
index b77a6a6..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_launcher.icns
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_launcher.ico b/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_launcher.ico
deleted file mode 100644
index d548f71..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_launcher.ico
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_launcher.xpm b/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_launcher.xpm
deleted file mode 100644
index b0c139e..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_launcher.xpm
+++ /dev/null
@@ -1,307 +0,0 @@
-/* XPM */

-static char * icon48_xpm[] = {

-"48 48 256 2",

-"  	c #4B4B3B3B9090",

-". 	c #0D0D0E0E5454",

-"X 	c #11110E0E5B5B",

-"o 	c #17170F0F6363",

-"O 	c #1D1D13136969",

-"+ 	c #212114146C6C",

-"@ 	c #252514147171",

-"# 	c #282811116C6C",

-"$ 	c #26260D0D6363",

-"% 	c #22220B0B5E5E",

-"& 	c #1C1C0B0B5A5A",

-"* 	c #1C1C0B0B5252",

-"= 	c #1B1B05055353",

-"- 	c #161606064D4D",

-"; 	c #161605054949",

-": 	c #111104044848",

-"> 	c #131304044545",

-", 	c #131305054242",

-"< 	c #141410105E5E",

-"1 	c #2C2C15157373",

-"2 	c #2B2B1B1B7575",

-"3 	c #343416167272",

-"4 	c #313113136E6E",

-"5 	c #222209095757",

-"6 	c #1B1B06064D4D",

-"7 	c #15150B0B4242",

-"8 	c #13130C0C5555",

-"9 	c #2E2E1B1B7878",

-"0 	c #33331F1F7C7C",

-"q 	c #343418187878",

-"w 	c #3B3B1C1C7575",

-"e 	c #2E2E10106767",

-"r 	c #1B1B07074747",

-"t 	c #18180B0B4646",

-"y 	c #151513136262",

-"u 	c #1A1A15156464",

-"i 	c #34341F1F7777",

-"p 	c #40401E1E8080",

-"a 	c #42421B1B7A7A",

-"s 	c #3B3B15157474",

-"d 	c #2B2B0B0B5B5B",

-"f 	c #222207075252",

-"g 	c #373727277A7A",

-"h 	c #474724248484",

-"j 	c #393915156E6E",

-"k 	c #373711116A6A",

-"l 	c #343413136363",

-"z 	c #232319196E6E",

-"x 	c #292919197070",

-"c 	c #3C3C2C2C8282",

-"v 	c #444431318585",

-"b 	c #494934348A8A",

-"n 	c #505026268A8A",

-"m 	c #3D3D1B1B6E6E",

-"M 	c #31310E0E5C5C",

-"N 	c #2B2B0D0D5353",

-"B 	c #222207074A4A",

-"V 	c #52523C3C9292",

-"C 	c #58583C3C9494",

-"Z 	c #5D5D44449797",

-"A 	c #5C5C2E2E9292",

-"S 	c #676733339595",

-"D 	c #424228287575",

-"F 	c #29290A0A4F4F",

-"G 	c #6C6C4A4A9E9E",

-"H 	c #72725454A7A7",

-"J 	c #8C8C6D6DB2B2",

-"K 	c #343424246E6E",

-"L 	c #3A3A23236A6A",

-"P 	c #3A3A1C1C6767",

-"I 	c #24240A0A4B4B",

-"U 	c #151518186161",

-"Y 	c #76766F6FA5A5",

-"T 	c #ADAD9191CCCC",

-"R 	c #98988989D3D3",

-"E 	c #45453B3B8686",

-"W 	c #3C3C35357979",

-"Q 	c #363631317575",

-"! 	c #32322D2D6B6B",

-"~ 	c #323229296363",

-"^ 	c #30301F1F6262",

-"/ 	c #323218185E5E",

-"( 	c #272707074B4B",

-") 	c #202028286C6C",

-"_ 	c #1E1E1D1D6868",

-"` 	c #9A9A8282BBBB",

-"' 	c #C8C8B3B3D3D3",

-"] 	c #B3B3AFAFE7E7",

-"[ 	c #84847272C6C6",

-"{ 	c #58585757A3A3",

-"} 	c #3F3F3C3C8A8A",

-"| 	c #3B3B3A3A8484",

-" .	c #414139397D7D",

-"..	c #3D3D39397A7A",

-"X.	c #37372E2E6E6E",

-"o.	c #2C2C21215A5A",

-"O.	c #2E2E1B1B5B5B",

-"+.	c #F5F5EFEFF5F5",

-"@.	c #656566669A9A",

-"#.	c #47474B4B8E8E",

-"$.	c #3C3C44447B7B",

-"%.	c #444442428080",

-"&.	c #45453E3E8181",

-"*.	c #40403C3C8181",

-"=.	c #3D3D33337474",

-"-.	c #3B3B30306E6E",

-";.	c #38382D2D6969",

-":.	c #303026265D5D",

-">.	c #2C2C15155A5A",

-",.	c #1F1F1C1C7070",

-"<.	c #25251E1E7171",

-"1.	c #59595C5C9191",

-"2.	c #4D4D53538989",

-"3.	c #4C4C49498484",

-"4.	c #484845458585",

-"5.	c #494941418585",

-"6.	c #494940408181",

-"7.	c #2F2F1C1C5353",

-"8.	c #2B2B28287676",

-"9.	c #323231317F7F",

-"0.	c #545452528B8B",

-"q.	c #51514E4E8989",

-"w.	c #4E4E4B4B8C8C",

-"e.	c #4C4C47478686",

-"r.	c #46463D3D7E7E",

-"t.	c #434336367A7A",

-"y.	c #2B2B13135555",

-"u.	c #47473D3D8D8D",

-"i.	c #575757578E8E",

-"p.	c #48483E3E7F7F",

-"a.	c #46463A3A7D7D",

-"s.	c #424235357575",

-"d.	c #404034347171",

-"f.	c #BFBFCBCBFAFA",

-"g.	c #B8B8A8A8DDDD",

-"h.	c #5E5E60609292",

-"j.	c #565655558C8C",

-"k.	c #4B4B44448282",

-"l.	c #454539397B7B",

-"z.	c #434338387878",

-"x.	c #3F3F32326D6D",

-"c.	c #3D3D30306969",

-"v.	c #3A3A2E2E6363",

-"b.	c #36362A2A5C5C",

-"n.	c #343424245555",

-"m.	c #30301E1E4D4D",

-"M.	c #49493C3C8282",

-"N.	c #5E5E4F4F8C8C",

-"B.	c #56563B3B8B8B",

-"V.	c #545407078585",

-"C.	c #424234347272",

-"Z.	c #9797A4A4F7F7",

-"A.	c #444436367676",

-"S.	c #7D7D7979D5D5",

-"D.	c #464640408A8A",

-"F.	c #44444B4B8282",

-"G.	c #414107077777",

-"H.	c #71716161C1C1",

-"J.	c #303039397979",

-"K.	c #8E8E8E8EE6E6",

-"L.	c #404033338B8B",

-"P.	c #4A4A45458C8C",

-"I.	c #46463A3A8080",

-"U.	c #363629295454",

-"Y.	c #303022224848",

-"T.	c #424237377575",

-"R.	c #2E2E1D1D6363",

-"E.	c #79798383EAEA",

-"W.	c #74747B7BE4E4",

-"Q.	c #6D6D7676D6D6",

-"!.	c #6A6A7171CECE",

-"~.	c #66666969C6C6",

-"^.	c #62626565BCBC",

-"/.	c #5F5F6060B5B5",

-"(.	c #5B5B5B5BACAC",

-").	c #535353539898",

-"_.	c #4F4F4F4FA4A4",

-"`.	c #54544D4DA4A4",

-"'.	c #323204046B6B",

-"].	c #303035357979",

-"[.	c #313122224343",

-"{.	c #5A5A5B5BB7B7",

-"}.	c #484846468080",

-"|.	c #454541417575",

-" X	c #4B4B31318282",

-".X	c #47473C3C8484",

-"XX	c #3E3E35356E6E",

-"oX	c #2F2F26264040",

-"OX	c #2B2B23233A3A",

-"+X	c #262619195C5C",

-"@X	c #252515155A5A",

-"#X	c #55555151B3B3",

-"$X	c #3C3C2D2D5D5D",

-"%X	c #39392F2F5656",

-"&X	c #37372D2D5050",

-"*X	c #25251F1F3030",

-"=X	c #24241D1D4343",

-"-X	c #202013135656",

-";X	c #41413B3B6C6C",

-":X	c #444442429696",

-">X	c #212100005E5E",

-",X	c #444436367272",

-"<X	c #444436366F6F",

-"1X	c #424236366868",

-"2X	c #3F3F34346161",

-"3X	c #3C3C32325A5A",

-"4X	c #34342A2A4A4A",

-"5X	c #21211B1B2121",

-"6X	c #22221C1C6363",

-"7X	c #2D2D01015E5E",

-"8X	c #20201B1B2525",

-"9X	c #49492F2F7B7B",

-"0X	c #434334346C6C",

-"qX	c #323229294545",

-"wX	c #1C1C10104F4F",

-"eX	c #222217176363",

-"rX	c #37371E1E6B6B",

-"tX	c #424232326E6E",

-"yX	c #444433336969",

-"uX	c #424233336565",

-"iX	c #1E1E1A1A1E1E",

-"pX	c #161601014C4C",

-"aX	c #1C1C11115454",

-"sX	c #252503035B5B",

-"dX	c #414131316A6A",

-"fX	c #22221F1F7878",

-"gX	c #272724246767",

-"hX	c #1D1D16165E5E",

-"jX	c #131305055151",

-"kX	c #40402F2F6464",

-"lX	c #111107074E4E",

-"zX	c #0C0C05054B4B",

-"xX	c #22221E1E5757",

-"cX	c #1A1A0D0D4D4D",

-"vX	c #16160B0B4D4D",

-"bX	c #060604044747",

-"nX	c #040403034343",

-"mX	c #3B3B27276565",

-"MX	c #0E0E03034141",

-"NX	c #111106064A4A",

-"BX	c #0E0E04044646",

-"VX	c #111105053B3B",

-"CX	c #0D0D01013A3A",

-"ZX	c #030305053F3F",

-"AX	c #0F0F0F0F4C4C",

-"SX	c #020207073B3B",

-"DX	c #0D0D03034646",

-"FX	c #0B0B02023F3F",

-"GX	c #0D0D02023434",

-"HX	c #0A0A0E0E4444",

-"JX	c #161614145252",

-"KX	c #0B0B04044646",

-"LX	c #0A0A03034444",

-"PX	c #1D1D21215757",

-"IX	c #090910104040",

-"UX	c #18181E1E5353",

-"                                                                                                ",

-"  . . . . X X o o o o O + + @ @ @ @ @ @ @ # # # # # # $ $ % % & & & & * = - - - ; : > > , , ,   ",

-"  . . X X < < o o O O + @ 1 2 2 1 1 1 1 1 1 1 1 3 4 # # $ $ $ % % % 5 = = 6 6 - ; ; > > , , 7   ",

-"  . 8 < < < o O O + @ @ 2 9 9 0 0 q q q q q q q w 3 4 4 e e $ $ $ $ % 5 = = 6 6 6 ; ; > > r t   ",

-"  . X < y u O O + @ 1 2 i 0 0 p p p p p p p a a p a s 3 4 4 e e e e d 5 5 f f 6 6 6 ; ; r r t   ",

-"  X < y u O + + @ 2 9 0 g p p h h h h h h h p h h a a s s j k k j l d d 5 5 f f 6 6 r r r r r   ",

-"  X < y O z x x 9 0 g c v b n n n n n n n n n n n h a a s s j j m l M d d N f f B B B B r r r   ",

-"  < y u + z 2 0 c c b V C Z C C A A A A A S S S n h D w w m m m m k l M d d N f F F F B r r r   ",

-"  < y O z z 9 c b V Z G H H H G S G G J J H V v c g g K K K K L P l l l M M N N N N I B B r r   ",

-"  U u + z x i v C H Y J J J J H J T R H V E W W Q Q Q Q ! ! ! ~ ^ ^ / / M M M M M N ( B B r r   ",

-"  ) _ z x 9 g b Z Y ` ' ' ' T T ] [ { } |  .........W W Q Q X.! ~ ~ o.O./ / / / N F ( B B B r   ",

-"  ) ) z x i c V G J ' +.+.+.+.] [ @.#.$.%.%.%.&.*. . .....W =.-.X.;.~ :.o.O.^ >.N F ( B B B B   ",

-"  ) ,.<.2 g v C H J ' +.+.+.+.T Y 1.2.3.4.4.4.5.6.&.&. . ...W =.=.-.;.~ :.o.7.>.N F F ( B I I   ",

-"  ) ,.<.8.9.b C H J T +.+.+.' J @.1.0.q.q.w.e.4.5.6.&.r. . .t.W =.=.-.;.~ :.o.7.y.N F ( ( I I   ",

-"  8.8.8.9.| u.C G J T +.+.' ` Y @.1.i.0.q.q.e.e.5.6.p.r.a. .t.t.s.d.d.-.;.~ :.7.7.y.F F ( I I   ",

-"  9.c c c v b A S H ' f.g.` Y @.h.1.i.j.0.q.q.e.k.6.p.r.a.l.t.z.s.s.d.x.c.v.b.n.m.7.N F F F I   ",

-"  <.g M.N.B.B.n V.J f.R J @.h.h.1.i.i.j.j.0.q.3.k.6.p.r.a.l.l.z.s.C.d.x.x.c.v.b.n.m.y.N F F F   ",

-"  + x i v B.Z Z G g.Z.[ @.2.i.i.j.j.j.j.j.0.q.3.k.6.p.p.a.l.l.A.s.C.C.d.x.c.v.b.n.m.7.y.N N y.  ",

-"  O # 3 w p n Z ` f.S.H D.F.q.0.0.0.0.j.0.q.q.3.k.6.p.r.a.a.l.A.s.s.C.d.x.x.c.v.b.n.m.y.y.y.y.  ",

-"  O # 4 s a G.V.T Z.H.V J.%.e.w.q.0.0.0.0.q.q.e.k.6.p.r.a.a.l.z.A.s.C.d.d.x.c.v.b.n.m.7.>.y.y.  ",

-"  O # 4 s w G.A f.K.H L...4.P.w.w.w.q.q.q.q.e.e.5.6.M.I.I.a.a.l.z.A.s.d.d.x.c.v.v.U.Y.7.O.>.y.  ",

-"  $ # 4 3 s G.G f.S.Z 9.*.D.P.P.w.w.w.w.w.e.e.5.5.M.M.I.I.a.a.l.z.T.s.d.d.x.x.c.v.U.Y.m.R.>.>.  ",

-"  E.E.W.W.W.W.E.Z.E.W.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.!.!.!.!.!.~.~.~.~.~.~.^.^.^.^.^./././.(.{ { )._.`._.  ",

-"  + # 3 w s '.` f.H.V ].*.D.P.P.P.P.P.P.P.5.5.5.M.M.M.I.I.a.l.z.z.T.T.s.d.d.x.c.v.U.Y.[.^ O.>.  ",

-"  ~.~.~.~.~.~.K.Z.S.~.{.^.^.^.^.^.^.^.^././././././.(.(.(.(.(.(.{ { { { { ).).).w.w.}.|.P.u.}   ",

-"   .I.6. X X XT f.H.b ].*.E D.D.D.D.5.5..X.XM.M.I.I.a.a.l.l.z.z.T.T.T.d.XXx.c.v.b.U.oXOXR.+X@X  ",

-"  E.E.E.W.W.W.K.Z.E.W.Q.Q.Q.Q.Q.Q.Q.Q.!.!.!.!.!.!.~.~.~.~.~.~.^.^.^.^.^./././.(.{ { ).).#X_._.  ",

-"  & % $ e '.= H f.H.b 8.W *.E E E .X.X.XI.I.I.I.a.a.l.l.z.z.T.T.T.C.XXXXc.v.$X%X&XY.*X=X2 @X-X  ",

-"  {.{.{.{.{.#X~.Z.W.~.{.{./././././././././.(.(.(.(.(.(.(.{ { { { { { ).).).w.w.3.}.;X%.:X} }   ",

-"  & & % $ e >XV.f.S.C K X.W t. . .l.l.t.t.t.t.A.A.A.,X,X,X,X,X<X;X1X1X2X3X%X&X4XoX*X5Xo.6X-X-X  ",

-"  & & % $ $ >X7X` Z.Z D ! =.=.s.t.t.t.A.A.s.A.,X,X,X,X<X<X<X<X;X1X2X2X3X%X&X4XoXOX8X5X<.@X-X-X  ",

-"  8 & & $ e K 9XJ f.^. XK X.=.=.s.s.s.s.s.C.C.C.C.<X0X0X0X1X1X1X2X2X3X%X&X4XqXOX*X8X=X<.-X-XwX  ",

-"  8 & eXK k.@.M. Xg.E.B.rX~ -.d.d.C.C.C.C.C.tX0X0X0XyXyX1X1XuX2X2X3X%X&X4XqXoXOX8XiX6XeX-X-XwX  ",

-"  6XQ h.Y N.K e pXB.f./.9Xo.;.-.x.d.tXtXtXtXtX0X0XyXyXyXuXuX2X2X3X%X&X4XqXoXOX*XiX=X_ aX-XaXwX  ",

-"  Y Y  .R.@X% sX= 7XT Z.V P :.;.c.x.x.x.tXdXdXdXyXyXuXuX2X2X3X3X%X&X4XqXoXOX*X8X*XfXaXaXaXwXwX  ",

-"  gXhX& * & 5 5 sXjXa ] S.9X/ ~ v.c.dXdXdXdXdXuXuXuXkX2X2X3X%X%X&X4XqXoXOX*X8XiX<.hXwXwXaXwXwX  ",

-"  8 lXlXjX= * 5 5 = zX9X] H.D 7.b.v.v.kXc.kXkXkXkXkX2X$X3X%X&X&X4XqXoXOX*X8XiXxXhXwXcXcXwXwXwX  ",

-"  zXzXlXlXjX= = f f sXD Y ] ~.D 7.n.b.v.v.kXkXkXkX$X$X%X%X&X4XqXoXoXOX*X8X5XgXu cXvXvXcXcXwXwX  ",

-"  bXbXzXlXlX- = * @XX.h.e D T S.D n.m.b.$X$X$X$X$X%X%X&X&X4XqXoXOX*X8X8X*X<.hXvX; ; vXvXvXcXwX  ",

-"  nXbXzXzXlXlX- -XX.Y R.pXpXP J K.Z mXm.n.U.U.U.U.U.4X4XY.oXOX*X8X8X8X=X,.aXvX; > > > t t t cX  ",

-"  nXbXbXzXzXlXaXXXY +Xf = f = 7XtXR R   mXn.Y.[.[.[.[.OX*X*X8X5X*X=X,.u vXvX; > > MXMX, 7 t t   ",

-"  nXnXnXbXzXvX-.Y +XcX6 6 = = = d L B.G H `.X.:.7.m.=X=X=X=X=X6X,.u cXvXNX: BX> MXVXCXVX7 7 7   ",

-"  ZXZXnXbXAXgX@.+XvX; - - - - * @XR.>.sX>.R.i 0 x eXeXeXeXO hXaXcXvXNX: BXMXMXMXVXCXCXCXVX7 7   ",

-"  SXZXZXAXgXN.aXNX: : NXNXNX- * +X+X* 6 6 6 * * * * * * * vXvX- NX: DXBXMXMXFXCXCXCXCXGXVXVX7   ",

-"  SXSXHXgX0.JXKXLXKXKXDX: : NX* @X-X- - - - - - - - - - - NX: DXDXDXMXMXFXFXCXCXCXCXGXGXGXVXVX  ",

-"  SXHXPX3.JXnXnXnXnXbXLXKXKXNXaX-XvX: : NX: : : : : : : BXDXDXLXMXMXFXFXCXCXCXCXGXGXGXGXGXGXGX  ",

-"  IXUX$.AXZXZXZXZXnXnXnXLXLXNXJXvXBXDXBXBXBXBXDXDXDXDXLXDXLXLXFXFXFXFXCXCXCXCXGXGXGXGXGXGXGXGX  ",

-"                                                                                                "};

diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_window_16.gif b/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_window_16.gif
deleted file mode 100644
index 05626b1..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_window_16.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_window_32.gif b/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_window_32.gif
deleted file mode 100644
index b432f88..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/bin/icons/alt_window_32.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/java/$applicationClass$.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/java/$applicationClass$.java
deleted file mode 100644
index d926eaa..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/java/$applicationClass$.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package $packageName$;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class $applicationClass$ implements IPlatformRunnable {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IPlatformRunnable#run(java.lang.Object)
-	 */
-	public Object run(Object args) throws Exception {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART) {
-				return IPlatformRunnable.EXIT_RESTART;
-			}
-			return IPlatformRunnable.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/java/ApplicationActionBarAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/java/ApplicationActionBarAdvisor.java
deleted file mode 100644
index 91c7c98..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/java/ApplicationActionBarAdvisor.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
-    public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
-        super(configurer);
-    }
-
-    protected void makeActions(IWorkbenchWindow window) {
-    }
-
-    protected void fillMenuBar(IMenuManager menuBar) {
-    }
-    
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/java/ApplicationWorkbenchAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/java/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index d257049..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/java/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-
-	private static final String PERSPECTIVE_ID = "$pluginId$.perspective";
-
-    public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        return new ApplicationWorkbenchWindowAdvisor(configurer);
-    }
-
-	public String getInitialWindowPerspectiveId() {
-		return PERSPECTIVE_ID;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/java/ApplicationWorkbenchWindowAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/java/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index 744b0cb..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/java/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package $packageName$;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
-    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        super(configurer);
-    }
-
-    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
-        return new ApplicationActionBarAdvisor(configurer);
-    }
-    
-    public void preWindowOpen() {
-        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-        configurer.setInitialSize(new Point(400, 300));
-        configurer.setShowCoolBar(false);
-        configurer.setShowStatusLine(false);
-%if productBranding == false
-        configurer.setTitle("$windowTitle$");
-%endif
-    }
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/java/Perspective.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/java/Perspective.java
deleted file mode 100644
index b38d535..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/helloRCP/java/Perspective.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-	public void createInitialLayout(IPageLayout layout) {
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/bin/content/link_obj.gif b/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/bin/content/link_obj.gif
deleted file mode 100644
index a4b0788..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/bin/content/link_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/bin/content/titlebanner.gif b/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/bin/content/titlebanner.gif
deleted file mode 100644
index 6737f76..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/bin/content/titlebanner.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/bin/icons/alt_window_16.gif b/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/bin/icons/alt_window_16.gif
deleted file mode 100644
index 05626b1..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/bin/icons/alt_window_16.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/bin/icons/alt_window_32.gif b/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/bin/icons/alt_window_32.gif
deleted file mode 100644
index b432f88..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/bin/icons/alt_window_32.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/concept1.xhtml b/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/concept1.xhtml
deleted file mode 100644
index 839c9f8..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/concept1.xhtml
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-  <title>Concept1.xhtml</title>
-  <link rel="stylesheet" href="shared.css" type="text/css" />	
-  </head>
-
-<body>
-<h1>Welcome to $productName$</h1>
-<h4>Concept One</h4>
-<p>This is where Concept One is explained.</p>
-</body>
-</html>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/concept2.xhtml b/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/concept2.xhtml
deleted file mode 100644
index aab6830..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/concept2.xhtml
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-  <title>Concept2.xhtml</title>
-  <link rel="stylesheet" href="shared.css" type="text/css" />
-  </head>
-
-<body>
-<h1>Welcome to $productName$</h1>
-<h4>Concept Two</h4>
-<p>This is where Concept Two is explained.</p>
-</body>
-</html>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/concept3.xhtml b/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/concept3.xhtml
deleted file mode 100644
index c27f382..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/concept3.xhtml
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-  <title>Concept2.xhtml</title>
-  <link rel="stylesheet" href="shared.css" type="text/css" />
-  </head>
-
-<body>
-<h1>Welcome to $productName$</h1>
-<h4>Concept Three</h4>
-<p>This is where Concept Three is explained. </p> 
-<p>This is the first topic from the Root page of this Welcome:
-
-<!-- This is where we use the Intro include element. This include specifies that we need 
-to grab an XHTML element with id "firstH4" from an intro page with id "root". --> 
-<include path="root/firstLink" />
-<br />
-<!-- This is where we use the Intro dynamicContent element. The class is loaded from the specified plugin. --> 
-<contentProvider id="contentProviderId" class="$packageName$.DynamicContentProvider" pluginId="$pluginId$"> 
-</contentProvider> 
-</p>
-
-
-<p>&nbsp;</p>
-<p align="justify">(This page demonstrates how to contribute to an existing Welcome. 
-It was contributed using the <code>org.eclipse.ui.intro.configExtension</code> 
-extension point. It also 
-demonstrates how to use the <code>include</code> and the <code>dynamicContent</code> intro elements to 
-include external XHTML content and to create dynamic XHTML content, 
-respectively. Check the XHTML source for this page for usage of intro elements.) </p> 
-
-</body>
-</html>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/extContent.xhtml b/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/extContent.xhtml
deleted file mode 100644
index 80a9665..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/extContent.xhtml
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-  <title>root.xhtml</title>
-  <link rel="stylesheet" href="root.css" type="text/css" />
-  </head>
-
-<body>
-<a href="http://org.eclipse.ui.intro/showPage?id=concept3">
-	<img border="0" src="link_obj.gif" alt="Concept3" />
-	Learn about Concept Three...</a>
-</body>
-</html>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/root.css b/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/root.css
deleted file mode 100644
index 7cf89fc..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/root.css
+++ /dev/null
@@ -1,28 +0,0 @@
-img {

-	width: 48px;

-	height: 48px;

-	vertical-align: middle;

-	}

-

-/* Give some space for main div.*/	

-.page-style {

-	text-align: center;

-	margin-top:100px;

-	}

-	

-/* satisfy Mozilla */	

-body > div.page-style {

-	padding-left:30%;

-	}

-

-

-#content {

-	text-align:left;

-	width:23em;

-	} 

-

-

-

-

-		

-

diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/root.xhtml b/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/root.xhtml
deleted file mode 100644
index 182f2cd..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/root.xhtml
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-  <title>root.xhtml</title>
-  <link rel="stylesheet" href="shared.css" type="text/css" />
-  <link rel="stylesheet" href="root.css" type="text/css" />
-  </head>
-
-<body> 
-<h1>Welcome to $productName$</h1>
-<div class="page-style">
-  <div id="content"> 	
-	
-		<a href="http://org.eclipse.ui.intro/showPage?id=concept1" id="firstLink">
-			<img border="0" src="link_obj.gif" alt="Concept1" />
-			Learn about Concept One... 
-		</a>
-	
-		<a href="http://org.eclipse.ui.intro/showPage?id=concept2">
-			<img border="0" src="link_obj.gif" alt="Concept2" />
-			Learn about Concept Two...</a>
-	<anchor id="anchor1" /> 
-  </div> 
-</div>
-</body>
-</html>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/shared.css b/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/shared.css
deleted file mode 100644
index 8a05736..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/content/shared.css
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Shared style applied to all pages */

-/* trick to get desired scroll bar behavior on all browsers */ 

-html {

-	overflow:auto;

-	border:0px;

-	height:100%;

-	}

-

-	

-body {	

-	margin-left:14px;

-	margin-top:10px;

-	font-family:Tahoma;

-	font-size: 12px;

-	color:#000000;

-	background-image:url("./titlebanner.gif");

-	background-repeat: repeat-x;

-	} 

-	

-h1 {

-	text-align:left;

-	font-size: 16pt;

-	font-weight:normal;

-	color:#E5E5E5;

-	} 

-

-h4 {

-	color:#787878;

-	}	

-	

-a {

-	display:block;

-	font-family:Tahoma;

-	font-size: 12px;

-	color:#000000;

-	font-weight:normal;

-	text-decoration:none;

-	padding-bottom:20px;

-	}

-	

-p {

-	padding-left:14px;

-	}

-	

-

diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/ext.xml b/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/ext.xml
deleted file mode 100644
index d08a22a..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/ext.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<introContent>
-  <extensionContent content="content/extContent.xhtml" path="root/anchor1" />
-  <page id="concept3" content="content/concept3.xhtml"/>
-</introContent>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/introContent.xml b/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/introContent.xml
deleted file mode 100644
index c5dff2d..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/introContent.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<introContent>
-    <page id="root" content="content/root.xhtml"/>
-    <page id="concept1" content="content/concept1.xhtml"/>
-    <page id="concept2" content="content/concept2.xhtml"/>
-</introContent>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/Application.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/Application.java
deleted file mode 100644
index 33a205c..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/Application.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package $packageName$;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class Application implements IPlatformRunnable {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IPlatformRunnable#run(java.lang.Object)
-	 */
-	public Object run(Object args) throws Exception {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART) {
-				return IPlatformRunnable.EXIT_RESTART;
-			}
-			return IPlatformRunnable.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/ApplicationActionBarAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/ApplicationActionBarAdvisor.java
deleted file mode 100644
index 475c67b..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/ApplicationActionBarAdvisor.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
-    private IWorkbenchAction introAction;
-    
-	public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
-		super(configurer);
-	}
-
-	protected void makeActions(IWorkbenchWindow window) {
-		introAction = ActionFactory.INTRO.create(window);
-		register(introAction);
-	}
-
-	protected void fillMenuBar(IMenuManager menuBar) {
-		
-		MenuManager helpMenu = new MenuManager("&Help", IWorkbenchActionConstants.M_HELP);
-		menuBar.add(helpMenu);
-
-		// Help
-		helpMenu.add(introAction);
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/ApplicationWorkbenchAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index f29f957..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-
-	private static final String PERSPECTIVE_ID = "$pluginId$.perspective";
-
-    public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        return new ApplicationWorkbenchWindowAdvisor(configurer);
-    }
-    
-    public void initialize(IWorkbenchConfigurer configurer) {
-        super.initialize(configurer);
-        configurer.setSaveAndRestore(true);
-    }
-
-	public String getInitialWindowPerspectiveId() {
-		return PERSPECTIVE_ID;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/ApplicationWorkbenchWindowAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index 65072fe..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package $packageName$;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
-    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        super(configurer);
-    }
-
-    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
-        return new ApplicationActionBarAdvisor(configurer);
-    }
-    
-    public void preWindowOpen() {
-        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-        configurer.setInitialSize(new Point(700, 550));
-        configurer.setShowCoolBar(false);
-        configurer.setShowStatusLine(false);
-        configurer.setTitle("$productName$");
-    }
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/DynamicContentProvider.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/DynamicContentProvider.java
deleted file mode 100644
index d2b442a..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/DynamicContentProvider.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package $packageName$;
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.widgets.*;
-import org.eclipse.ui.intro.config.*;
-import org.w3c.dom.*;
-
-//
-
-public class DynamicContentProvider implements IIntroXHTMLContentProvider {
-
-
-    public void init(IIntroContentProviderSite site) {
-    }
-
-
-    public void createContent(String id, PrintWriter out) {
-    }
-
-    public void createContent(String id, Composite parent, FormToolkit toolkit) {
-    }
-
-    private String getCurrentTimeString() {
-        StringBuffer content = new StringBuffer(
-                "Dynamic content from Intro ContentProvider: ");
-        content.append("Current time is: ");
-        content.append(new Date(System.currentTimeMillis()));
-        return content.toString();
-    }
-
-    public void createContent(String id, Element parent) {
-        Document dom = parent.getOwnerDocument();
-        Element para = dom.createElement("p");
-        para.setAttribute("id", "someDynamicContentId");
-        para.appendChild(dom.createTextNode(getCurrentTimeString()));
-        parent.appendChild(para);
-
-    }
-
-
-    public void dispose() {
-
-    }
-
-
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/Perspective.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/Perspective.java
deleted file mode 100644
index b38d535..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/intro/java/Perspective.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-	public void createInitialLayout(IPageLayout layout) {
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/icons/mail.ico b/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/icons/mail.ico
deleted file mode 100644
index b000061..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/icons/mail.ico
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/icons/sample.gif b/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/icons/sample.icns b/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/icons/sample.icns
deleted file mode 100644
index 1e92ccc..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/icons/sample.icns
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/icons/sample2.gif b/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/icons/sample2.gif
deleted file mode 100644
index 252d7eb..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/icons/sample2.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/icons/sample3.gif b/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/icons/sample3.gif
deleted file mode 100644
index b949ac9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/icons/sample3.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/product_lg.gif b/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/product_lg.gif
deleted file mode 100644
index bd95e28..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/bin/product_lg.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/$applicationClass$.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/$applicationClass$.java
deleted file mode 100644
index d926eaa..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/$applicationClass$.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package $packageName$;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class $applicationClass$ implements IPlatformRunnable {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IPlatformRunnable#run(java.lang.Object)
-	 */
-	public Object run(Object args) throws Exception {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART) {
-				return IPlatformRunnable.EXIT_RESTART;
-			}
-			return IPlatformRunnable.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/ApplicationActionBarAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/ApplicationActionBarAdvisor.java
deleted file mode 100644
index 88d8b9c..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/ApplicationActionBarAdvisor.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.ICoolBarManager;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.action.ToolBarContributionItem;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-/**
- * An action bar advisor is responsible for creating, adding, and disposing of the
- * actions added to a workbench window. Each window will be populated with
- * new actions.
- */
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
-    // Actions - important to allocate these only in makeActions, and then use them
-    // in the fill methods.  This ensures that the actions aren't recreated
-    // when fillActionBars is called with FILL_PROXY.
-    private IWorkbenchAction exitAction;
-    private IWorkbenchAction aboutAction;
-    private IWorkbenchAction newWindowAction;
-    private OpenViewAction openViewAction;
-    private Action messagePopupAction;
-    
-
-    public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
-        super(configurer);
-    }
-    
-    protected void makeActions(final IWorkbenchWindow window) {
-        // Creates the actions and registers them.
-        // Registering is needed to ensure that key bindings work.
-        // The corresponding commands keybindings are defined in the plugin.xml file.
-        // Registering also provides automatic disposal of the actions when
-        // the window is closed.
-
-        exitAction = ActionFactory.QUIT.create(window);
-        register(exitAction);
-        
-        aboutAction = ActionFactory.ABOUT.create(window);
-        register(aboutAction);
-        
-        newWindowAction = ActionFactory.OPEN_NEW_WINDOW.create(window);
-        register(newWindowAction);
-        
-        openViewAction = new OpenViewAction(window, "Open Another Message View", View.ID);
-        register(openViewAction);
-        
-        messagePopupAction = new MessagePopupAction("Open Message", window);
-        register(messagePopupAction);
-    }
-    
-    protected void fillMenuBar(IMenuManager menuBar) {
-        MenuManager fileMenu = new MenuManager("&File", IWorkbenchActionConstants.M_FILE);
-        MenuManager helpMenu = new MenuManager("&Help", IWorkbenchActionConstants.M_HELP);
-        
-        menuBar.add(fileMenu);
-        // Add a group marker indicating where action set menus will appear.
-        menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-        menuBar.add(helpMenu);
-        
-        // File
-        fileMenu.add(newWindowAction);
-        fileMenu.add(new Separator());
-        fileMenu.add(messagePopupAction);
-        fileMenu.add(openViewAction);
-        fileMenu.add(new Separator());
-        fileMenu.add(exitAction);
-        
-        // Help
-        helpMenu.add(aboutAction);
-    }
-    
-    protected void fillCoolBar(ICoolBarManager coolBar) {
-        IToolBarManager toolbar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
-        coolBar.add(new ToolBarContributionItem(toolbar, "main"));   
-        toolbar.add(openViewAction);
-        toolbar.add(messagePopupAction);
-    }
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/ApplicationWorkbenchAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index 2cf26b5..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-/**
- * This workbench advisor creates the window advisor, and specifies
- * the perspective id for the initial window.
- */
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-	
-	private static final String PERSPECTIVE_ID = "$pluginId$.perspective";
-
-    public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        return new ApplicationWorkbenchWindowAdvisor(configurer);
-    }
-
-	public String getInitialWindowPerspectiveId() {
-		return PERSPECTIVE_ID;
-	} 
-	
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/ApplicationWorkbenchWindowAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index 57183c0..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package $packageName$;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
-    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        super(configurer);
-    }
-
-    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
-        return new ApplicationActionBarAdvisor(configurer);
-    }
-    
-    public void preWindowOpen() {
-        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-        configurer.setInitialSize(new Point(600, 400));
-        configurer.setShowCoolBar(true);
-        configurer.setShowStatusLine(false);
-    }
-    
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/ICommandIds.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/ICommandIds.java
deleted file mode 100644
index dd6d40e..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/ICommandIds.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package $packageName$;
-
-/**
- * Interface defining the application's command IDs.
- * Key bindings can be defined for specific commands.
- * To associate an action with a command, use IAction.setActionDefinitionId(commandId).
- *
- * @see org.eclipse.jface.action.IAction#setActionDefinitionId(String)
- */
-public interface ICommandIds {
-
-    public static final String CMD_OPEN = "$pluginId$.open";
-    public static final String CMD_OPEN_MESSAGE = "$pluginId$.openMessage";
-    
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/MessagePopupAction.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/MessagePopupAction.java
deleted file mode 100644
index 8976bb4..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/MessagePopupAction.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-
-
-public class MessagePopupAction extends Action {
-
-    private final IWorkbenchWindow window;
-
-    MessagePopupAction(String text, IWorkbenchWindow window) {
-        super(text);
-        this.window = window;
-        // The id is used to refer to the action in a menu or toolbar
-        setId(ICommandIds.CMD_OPEN_MESSAGE);
-        // Associate the action with a pre-defined command, to allow key bindings.
-        setActionDefinitionId(ICommandIds.CMD_OPEN_MESSAGE);
-        setImageDescriptor($pluginClass$.getImageDescriptor("/icons/sample3.gif"));
-    }
-
-    public void run() {
-        MessageDialog.openInformation(window.getShell(), "Open", "Open Message Dialog!");
-    }
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/NavigationView.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/NavigationView.java
deleted file mode 100644
index aaae601..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/NavigationView.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package $packageName$;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.ViewPart;
-
-public class NavigationView extends ViewPart {
-	public static final String ID = "$pluginId$.navigationView";
-	private TreeViewer viewer;
-	 
-	class TreeObject {
-		private String name;
-		private TreeParent parent;
-		
-		public TreeObject(String name) {
-			this.name = name;
-		}
-		public String getName() {
-			return name;
-		}
-		public void setParent(TreeParent parent) {
-			this.parent = parent;
-		}
-		public TreeParent getParent() {
-			return parent;
-		}
-		public String toString() {
-			return getName();
-		}
-	}
-	
-	class TreeParent extends TreeObject {
-		private ArrayList children;
-		public TreeParent(String name) {
-			super(name);
-			children = new ArrayList();
-		}
-		public void addChild(TreeObject child) {
-			children.add(child);
-			child.setParent(this);
-		}
-		public void removeChild(TreeObject child) {
-			children.remove(child);
-			child.setParent(null);
-		}
-		public TreeObject[] getChildren() {
-			return (TreeObject[]) children.toArray(new TreeObject[children.size()]);
-		}
-		public boolean hasChildren() {
-			return children.size()>0;
-		}
-	}
-
-	class ViewContentProvider implements IStructuredContentProvider, 
-										   ITreeContentProvider {
-
-        public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		}
-        
-		public void dispose() {
-		}
-        
-		public Object[] getElements(Object parent) {
-			return getChildren(parent);
-		}
-        
-		public Object getParent(Object child) {
-			if (child instanceof TreeObject) {
-				return ((TreeObject)child).getParent();
-			}
-			return null;
-		}
-        
-		public Object[] getChildren(Object parent) {
-			if (parent instanceof TreeParent) {
-				return ((TreeParent)parent).getChildren();
-			}
-			return new Object[0];
-		}
-
-        public boolean hasChildren(Object parent) {
-			if (parent instanceof TreeParent)
-				return ((TreeParent)parent).hasChildren();
-			return false;
-		}
-	}
-	
-	class ViewLabelProvider extends LabelProvider {
-
-		public String getText(Object obj) {
-			return obj.toString();
-		}
-		public Image getImage(Object obj) {
-			String imageKey = ISharedImages.IMG_OBJ_ELEMENT;
-			if (obj instanceof TreeParent)
-			   imageKey = ISharedImages.IMG_OBJ_FOLDER;
-			return PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
-		}
-	}
-
-    /**
-     * We will set up a dummy model to initialize tree heararchy. In real
-     * code, you will connect to a real model and expose its hierarchy.
-     */
-    private TreeObject createDummyModel() {
-        TreeObject to1 = new TreeObject("Inbox");
-        TreeObject to2 = new TreeObject("Drafts");
-        TreeObject to3 = new TreeObject("Sent");
-        TreeParent p1 = new TreeParent("me@this.com");
-        p1.addChild(to1);
-        p1.addChild(to2);
-        p1.addChild(to3);
-
-        TreeObject to4 = new TreeObject("Inbox");
-        TreeParent p2 = new TreeParent("other@aol.com");
-        p2.addChild(to4);
-
-        TreeParent root = new TreeParent("");
-        root.addChild(p1);
-        root.addChild(p2);
-        return root;
-    }
-
-	/**
-     * This is a callback that will allow us to create the viewer and initialize
-     * it.
-     */
-	public void createPartControl(Composite parent) {
-		viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		viewer.setContentProvider(new ViewContentProvider());
-		viewer.setLabelProvider(new ViewLabelProvider());
-		viewer.setInput(createDummyModel());
-	}
-
-	/**
-	 * Passing the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/OpenViewAction.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/OpenViewAction.java
deleted file mode 100644
index 7ea8882..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/OpenViewAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-
-
-public class OpenViewAction extends Action {
-	
-	private final IWorkbenchWindow window;
-	private int instanceNum = 0;
-	private final String viewId;
-	
-	public OpenViewAction(IWorkbenchWindow window, String label, String viewId) {
-		this.window = window;
-		this.viewId = viewId;
-        setText(label);
-        // The id is used to refer to the action in a menu or toolbar
-		setId(ICommandIds.CMD_OPEN);
-        // Associate the action with a pre-defined command, to allow key bindings.
-		setActionDefinitionId(ICommandIds.CMD_OPEN);
-		setImageDescriptor($pluginClass$.getImageDescriptor("/icons/sample2.gif"));
-	}
-	
-	public void run() {
-		if(window != null) {	
-			try {
-				window.getActivePage().showView(viewId, Integer.toString(instanceNum++), IWorkbenchPage.VIEW_ACTIVATE);
-			} catch (PartInitException e) {
-				MessageDialog.openError(window.getShell(), "Error", "Error opening view:" + e.getMessage());
-			}
-		}
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/Perspective.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/Perspective.java
deleted file mode 100644
index 86a9dd9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/Perspective.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-	public void createInitialLayout(IPageLayout layout) {
-		String editorArea = layout.getEditorArea();
-		layout.setEditorAreaVisible(false);
-		
-		layout.addStandaloneView(NavigationView.ID,  false, IPageLayout.LEFT, 0.25f, editorArea);
-		IFolderLayout folder = layout.createFolder("messages", IPageLayout.TOP, 0.5f, editorArea);
-		folder.addPlaceholder(View.ID + ":*");
-		folder.addView(View.ID);
-		
-		layout.getViewLayout(NavigationView.ID).setCloseable(false);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/View.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/View.java
deleted file mode 100644
index 224edbc..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/mail/java/View.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.part.ViewPart;
-
-public class View extends ViewPart {
-
-	public static final String ID = "$pluginId$.view";
-	
-	public void createPartControl(Composite parent) {
-		Composite top = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		top.setLayout(layout);
-		// top banner
-		Composite banner = new Composite(top, SWT.NONE);
-		banner.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL, GridData.VERTICAL_ALIGN_BEGINNING, true, false));
-		layout = new GridLayout();
-		layout.marginHeight = 5;
-		layout.marginWidth = 10;
-		layout.numColumns = 2;
-		banner.setLayout(layout);
-		
-		// setup bold font
-		Font boldFont = JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT);    
-		
-		Label l = new Label(banner, SWT.WRAP);
-		l.setText("Subject:");
-		l.setFont(boldFont);
-		l = new Label(banner, SWT.WRAP);
-		l.setText("This is a message about the cool Eclipse RCP!");
-		
-		l = new Label(banner, SWT.WRAP);
-		l.setText("From:");
-		l.setFont(boldFont);
-    
-		final Link link = new Link(banner, SWT.NONE);
-		link.setText("<a>nicole@mail.org</a>");
-		link.addSelectionListener(new SelectionAdapter() {    
-			public void widgetSelected(SelectionEvent e) {
-				MessageDialog.openInformation(getSite().getShell(), "Not Implemented", "Imagine the address book or a new message being created now.");
-			}    
-		});
-    
-		l = new Label(banner, SWT.WRAP);
-		l.setText("Date:");
-		l.setFont(boldFont);
-		l = new Label(banner, SWT.WRAP);
-		l.setText("10:34 am");
-		// message contents
-		Text text = new Text(top, SWT.MULTI | SWT.WRAP);
-		text.setText("This RCP Application was generated from the PDE Plug-in Project wizard. This sample shows how to:\n"+
-						"- add a top-level menu and toolbar with actions\n"+
-						"- add keybindings to actions\n" +
-						"- create views that can't be closed and\n"+
-						"  multiple instances of the same view\n"+
-						"- perspectives with placeholders for new views\n"+
-						"- use the default about dialog\n"+
-						"- create a product definition\n");
-		text.setLayoutData(new GridData(GridData.FILL_BOTH));
-	}
-
-	public void setFocus() {
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/bin/icons/alt_window_16.gif b/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/bin/icons/alt_window_16.gif
deleted file mode 100644
index 05626b1..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/bin/icons/alt_window_16.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/bin/icons/alt_window_32.gif b/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/bin/icons/alt_window_32.gif
deleted file mode 100644
index b432f88..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/bin/icons/alt_window_32.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/$applicationClass$.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/$applicationClass$.java
deleted file mode 100644
index d926eaa..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/$applicationClass$.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package $packageName$;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class $applicationClass$ implements IPlatformRunnable {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IPlatformRunnable#run(java.lang.Object)
-	 */
-	public Object run(Object args) throws Exception {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART) {
-				return IPlatformRunnable.EXIT_RESTART;
-			}
-			return IPlatformRunnable.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/ApplicationActionBarAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/ApplicationActionBarAdvisor.java
deleted file mode 100644
index 623c61b..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/ApplicationActionBarAdvisor.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-/**
- * An action bar advisor is responsible for creating, adding, and disposing of
- * the actions added to a workbench window. Each window will be populated with
- * new actions.
- */
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
-	// Actions - important to allocate these only in makeActions, and then use
-	// them
-	// in the fill methods. This ensures that the actions aren't recreated
-	// when fillActionBars is called with FILL_PROXY.
-	private IWorkbenchAction exitAction;
-
-	public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
-		super(configurer);
-	}
-
-	protected void makeActions(final IWorkbenchWindow window) {
-		// Creates the actions and registers them.
-		// Registering is needed to ensure that key bindings work.
-		// The corresponding commands keybindings are defined in the plugin.xml
-		// file.
-		// Registering also provides automatic disposal of the actions when
-		// the window is closed.
-
-		exitAction = ActionFactory.QUIT.create(window);
-		register(exitAction);
-	}
-
-	protected void fillMenuBar(IMenuManager menuBar) {
-		MenuManager fileMenu = new MenuManager("&File",
-				IWorkbenchActionConstants.M_FILE);
-		menuBar.add(fileMenu);
-		fileMenu.add(exitAction);
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/ApplicationWorkbenchAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index ac5e997..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-
-	private static final String PERSPECTIVE_ID = "$pluginId$.perspective";
-
-	public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(
-			IWorkbenchWindowConfigurer configurer) {
-		return new ApplicationWorkbenchWindowAdvisor(configurer);
-	}
-
-	public String getInitialWindowPerspectiveId() {
-		return PERSPECTIVE_ID;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/ApplicationWorkbenchWindowAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index 683fadc..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package $packageName$;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
-	public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-		super(configurer);
-	}
-
-	public ActionBarAdvisor createActionBarAdvisor(
-			IActionBarConfigurer configurer) {
-		return new ApplicationActionBarAdvisor(configurer);
-	}
-
-	public void preWindowOpen() {
-		IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-		configurer.setInitialSize(new Point(400, 300));
-		configurer.setShowCoolBar(false);
-		configurer.setShowStatusLine(false);
-%if productBranding == false		
-		configurer.setTitle("$windowTitle$");
-%endif
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/Perspective.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/Perspective.java
deleted file mode 100644
index 4d16ecf..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/Perspective.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-	public void createInitialLayout(IPageLayout layout) {
-		String editorArea = layout.getEditorArea();
-		layout.setEditorAreaVisible(false);
-		layout.setFixed(true);
-		
-		layout.addStandaloneView(View.ID,  false, IPageLayout.LEFT, 1.0f, editorArea);
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/View.java b/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/View.java
deleted file mode 100644
index 8a70946..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.1/viewRCP/java/View.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.ViewPart;
-
-public class View extends ViewPart {
-	public static final String ID = "$pluginId$.view";
-
-	private TableViewer viewer;
-
-	/**
-	 * The content provider class is responsible for providing objects to the
-	 * view. It can wrap existing objects in adapters or simply return objects
-	 * as-is. These objects may be sensitive to the current input of the view,
-	 * or ignore it and always show the same content (like Task List, for
-	 * example).
-	 */
-	class ViewContentProvider implements IStructuredContentProvider {
-		public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		}
-
-		public void dispose() {
-		}
-
-		public Object[] getElements(Object parent) {
-			return new String[] { "One", "Two", "Three" };
-		}
-	}
-
-	class ViewLabelProvider extends LabelProvider implements
-			ITableLabelProvider {
-		public String getColumnText(Object obj, int index) {
-			return getText(obj);
-		}
-
-		public Image getColumnImage(Object obj, int index) {
-			return getImage(obj);
-		}
-
-		public Image getImage(Object obj) {
-			return PlatformUI.getWorkbench().getSharedImages().getImage(
-					ISharedImages.IMG_OBJ_ELEMENT);
-		}
-	}
-
-	/**
-	 * This is a callback that will allow us to create the viewer and initialize
-	 * it.
-	 */
-	public void createPartControl(Composite parent) {
-		viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL
-				| SWT.V_SCROLL);
-		viewer.setContentProvider(new ViewContentProvider());
-		viewer.setLabelProvider(new ViewLabelProvider());
-		viewer.setInput(getViewSite());
-	}
-
-	/**
-	 * Passing the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.2/universalWelcome/$introDir$/css/sample.css b/ui/org.eclipse.pde.ui.templates/templates_3.2/universalWelcome/$introDir$/css/sample.css
deleted file mode 100644
index d27b27f..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.2/universalWelcome/$introDir$/css/sample.css
+++ /dev/null
@@ -1,3 +0,0 @@
-

-a#$linkId$ img { background-image : url(graphics/sample.gif); }

-a#$linkId$:hover img { background-image : url(graphics/sample_hov.gif); }
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.2/universalWelcome/$introDir$/sample.xml b/ui/org.eclipse.pde.ui.templates/templates_3.2/universalWelcome/$introDir$/sample.xml
deleted file mode 100644
index 263a349..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.2/universalWelcome/$introDir$/sample.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<introContent>
-  	<extensionContent id="$extensionId$" style="css/sample.css" name="Sample Extension" path="$path$">
-		<group style-id="content-group" id="$linkId$-group">
-       		<link label="Lorem ipsum" url="$linkUrl$" id="$linkId$" style-id="content-link">
-          		<text>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</text>
-       		</link>
-       	</group>
-  	</extensionContent>
-</introContent>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.2/universalWelcome/bin/$introDir$/css/graphics/sample.gif b/ui/org.eclipse.pde.ui.templates/templates_3.2/universalWelcome/bin/$introDir$/css/graphics/sample.gif
deleted file mode 100644
index 5ff1ffc..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.2/universalWelcome/bin/$introDir$/css/graphics/sample.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.2/universalWelcome/bin/$introDir$/css/graphics/sample_hov.gif b/ui/org.eclipse.pde.ui.templates/templates_3.2/universalWelcome/bin/$introDir$/css/graphics/sample_hov.gif
deleted file mode 100644
index 6874164..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.2/universalWelcome/bin/$introDir$/css/graphics/sample_hov.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloNonUIRCP/java/$applicationClass$.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/helloNonUIRCP/java/$applicationClass$.java
deleted file mode 100644
index dee7e35..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloNonUIRCP/java/$applicationClass$.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package $packageName$;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class $applicationClass$ implements IApplication {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext context) throws Exception {
-		System.out.println("$message$");
-		return IApplication.EXIT_OK;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#stop()
-	 */
-	public void stop() {
-		// nothing to do
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_about.gif b/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_about.gif
deleted file mode 100644
index 20d9ad2..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_about.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_launcher.icns b/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_launcher.icns
deleted file mode 100644
index b77a6a6..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_launcher.icns
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_launcher.ico b/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_launcher.ico
deleted file mode 100644
index d548f71..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_launcher.ico
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_launcher.xpm b/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_launcher.xpm
deleted file mode 100644
index b0c139e..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_launcher.xpm
+++ /dev/null
@@ -1,307 +0,0 @@
-/* XPM */

-static char * icon48_xpm[] = {

-"48 48 256 2",

-"  	c #4B4B3B3B9090",

-". 	c #0D0D0E0E5454",

-"X 	c #11110E0E5B5B",

-"o 	c #17170F0F6363",

-"O 	c #1D1D13136969",

-"+ 	c #212114146C6C",

-"@ 	c #252514147171",

-"# 	c #282811116C6C",

-"$ 	c #26260D0D6363",

-"% 	c #22220B0B5E5E",

-"& 	c #1C1C0B0B5A5A",

-"* 	c #1C1C0B0B5252",

-"= 	c #1B1B05055353",

-"- 	c #161606064D4D",

-"; 	c #161605054949",

-": 	c #111104044848",

-"> 	c #131304044545",

-", 	c #131305054242",

-"< 	c #141410105E5E",

-"1 	c #2C2C15157373",

-"2 	c #2B2B1B1B7575",

-"3 	c #343416167272",

-"4 	c #313113136E6E",

-"5 	c #222209095757",

-"6 	c #1B1B06064D4D",

-"7 	c #15150B0B4242",

-"8 	c #13130C0C5555",

-"9 	c #2E2E1B1B7878",

-"0 	c #33331F1F7C7C",

-"q 	c #343418187878",

-"w 	c #3B3B1C1C7575",

-"e 	c #2E2E10106767",

-"r 	c #1B1B07074747",

-"t 	c #18180B0B4646",

-"y 	c #151513136262",

-"u 	c #1A1A15156464",

-"i 	c #34341F1F7777",

-"p 	c #40401E1E8080",

-"a 	c #42421B1B7A7A",

-"s 	c #3B3B15157474",

-"d 	c #2B2B0B0B5B5B",

-"f 	c #222207075252",

-"g 	c #373727277A7A",

-"h 	c #474724248484",

-"j 	c #393915156E6E",

-"k 	c #373711116A6A",

-"l 	c #343413136363",

-"z 	c #232319196E6E",

-"x 	c #292919197070",

-"c 	c #3C3C2C2C8282",

-"v 	c #444431318585",

-"b 	c #494934348A8A",

-"n 	c #505026268A8A",

-"m 	c #3D3D1B1B6E6E",

-"M 	c #31310E0E5C5C",

-"N 	c #2B2B0D0D5353",

-"B 	c #222207074A4A",

-"V 	c #52523C3C9292",

-"C 	c #58583C3C9494",

-"Z 	c #5D5D44449797",

-"A 	c #5C5C2E2E9292",

-"S 	c #676733339595",

-"D 	c #424228287575",

-"F 	c #29290A0A4F4F",

-"G 	c #6C6C4A4A9E9E",

-"H 	c #72725454A7A7",

-"J 	c #8C8C6D6DB2B2",

-"K 	c #343424246E6E",

-"L 	c #3A3A23236A6A",

-"P 	c #3A3A1C1C6767",

-"I 	c #24240A0A4B4B",

-"U 	c #151518186161",

-"Y 	c #76766F6FA5A5",

-"T 	c #ADAD9191CCCC",

-"R 	c #98988989D3D3",

-"E 	c #45453B3B8686",

-"W 	c #3C3C35357979",

-"Q 	c #363631317575",

-"! 	c #32322D2D6B6B",

-"~ 	c #323229296363",

-"^ 	c #30301F1F6262",

-"/ 	c #323218185E5E",

-"( 	c #272707074B4B",

-") 	c #202028286C6C",

-"_ 	c #1E1E1D1D6868",

-"` 	c #9A9A8282BBBB",

-"' 	c #C8C8B3B3D3D3",

-"] 	c #B3B3AFAFE7E7",

-"[ 	c #84847272C6C6",

-"{ 	c #58585757A3A3",

-"} 	c #3F3F3C3C8A8A",

-"| 	c #3B3B3A3A8484",

-" .	c #414139397D7D",

-"..	c #3D3D39397A7A",

-"X.	c #37372E2E6E6E",

-"o.	c #2C2C21215A5A",

-"O.	c #2E2E1B1B5B5B",

-"+.	c #F5F5EFEFF5F5",

-"@.	c #656566669A9A",

-"#.	c #47474B4B8E8E",

-"$.	c #3C3C44447B7B",

-"%.	c #444442428080",

-"&.	c #45453E3E8181",

-"*.	c #40403C3C8181",

-"=.	c #3D3D33337474",

-"-.	c #3B3B30306E6E",

-";.	c #38382D2D6969",

-":.	c #303026265D5D",

-">.	c #2C2C15155A5A",

-",.	c #1F1F1C1C7070",

-"<.	c #25251E1E7171",

-"1.	c #59595C5C9191",

-"2.	c #4D4D53538989",

-"3.	c #4C4C49498484",

-"4.	c #484845458585",

-"5.	c #494941418585",

-"6.	c #494940408181",

-"7.	c #2F2F1C1C5353",

-"8.	c #2B2B28287676",

-"9.	c #323231317F7F",

-"0.	c #545452528B8B",

-"q.	c #51514E4E8989",

-"w.	c #4E4E4B4B8C8C",

-"e.	c #4C4C47478686",

-"r.	c #46463D3D7E7E",

-"t.	c #434336367A7A",

-"y.	c #2B2B13135555",

-"u.	c #47473D3D8D8D",

-"i.	c #575757578E8E",

-"p.	c #48483E3E7F7F",

-"a.	c #46463A3A7D7D",

-"s.	c #424235357575",

-"d.	c #404034347171",

-"f.	c #BFBFCBCBFAFA",

-"g.	c #B8B8A8A8DDDD",

-"h.	c #5E5E60609292",

-"j.	c #565655558C8C",

-"k.	c #4B4B44448282",

-"l.	c #454539397B7B",

-"z.	c #434338387878",

-"x.	c #3F3F32326D6D",

-"c.	c #3D3D30306969",

-"v.	c #3A3A2E2E6363",

-"b.	c #36362A2A5C5C",

-"n.	c #343424245555",

-"m.	c #30301E1E4D4D",

-"M.	c #49493C3C8282",

-"N.	c #5E5E4F4F8C8C",

-"B.	c #56563B3B8B8B",

-"V.	c #545407078585",

-"C.	c #424234347272",

-"Z.	c #9797A4A4F7F7",

-"A.	c #444436367676",

-"S.	c #7D7D7979D5D5",

-"D.	c #464640408A8A",

-"F.	c #44444B4B8282",

-"G.	c #414107077777",

-"H.	c #71716161C1C1",

-"J.	c #303039397979",

-"K.	c #8E8E8E8EE6E6",

-"L.	c #404033338B8B",

-"P.	c #4A4A45458C8C",

-"I.	c #46463A3A8080",

-"U.	c #363629295454",

-"Y.	c #303022224848",

-"T.	c #424237377575",

-"R.	c #2E2E1D1D6363",

-"E.	c #79798383EAEA",

-"W.	c #74747B7BE4E4",

-"Q.	c #6D6D7676D6D6",

-"!.	c #6A6A7171CECE",

-"~.	c #66666969C6C6",

-"^.	c #62626565BCBC",

-"/.	c #5F5F6060B5B5",

-"(.	c #5B5B5B5BACAC",

-").	c #535353539898",

-"_.	c #4F4F4F4FA4A4",

-"`.	c #54544D4DA4A4",

-"'.	c #323204046B6B",

-"].	c #303035357979",

-"[.	c #313122224343",

-"{.	c #5A5A5B5BB7B7",

-"}.	c #484846468080",

-"|.	c #454541417575",

-" X	c #4B4B31318282",

-".X	c #47473C3C8484",

-"XX	c #3E3E35356E6E",

-"oX	c #2F2F26264040",

-"OX	c #2B2B23233A3A",

-"+X	c #262619195C5C",

-"@X	c #252515155A5A",

-"#X	c #55555151B3B3",

-"$X	c #3C3C2D2D5D5D",

-"%X	c #39392F2F5656",

-"&X	c #37372D2D5050",

-"*X	c #25251F1F3030",

-"=X	c #24241D1D4343",

-"-X	c #202013135656",

-";X	c #41413B3B6C6C",

-":X	c #444442429696",

-">X	c #212100005E5E",

-",X	c #444436367272",

-"<X	c #444436366F6F",

-"1X	c #424236366868",

-"2X	c #3F3F34346161",

-"3X	c #3C3C32325A5A",

-"4X	c #34342A2A4A4A",

-"5X	c #21211B1B2121",

-"6X	c #22221C1C6363",

-"7X	c #2D2D01015E5E",

-"8X	c #20201B1B2525",

-"9X	c #49492F2F7B7B",

-"0X	c #434334346C6C",

-"qX	c #323229294545",

-"wX	c #1C1C10104F4F",

-"eX	c #222217176363",

-"rX	c #37371E1E6B6B",

-"tX	c #424232326E6E",

-"yX	c #444433336969",

-"uX	c #424233336565",

-"iX	c #1E1E1A1A1E1E",

-"pX	c #161601014C4C",

-"aX	c #1C1C11115454",

-"sX	c #252503035B5B",

-"dX	c #414131316A6A",

-"fX	c #22221F1F7878",

-"gX	c #272724246767",

-"hX	c #1D1D16165E5E",

-"jX	c #131305055151",

-"kX	c #40402F2F6464",

-"lX	c #111107074E4E",

-"zX	c #0C0C05054B4B",

-"xX	c #22221E1E5757",

-"cX	c #1A1A0D0D4D4D",

-"vX	c #16160B0B4D4D",

-"bX	c #060604044747",

-"nX	c #040403034343",

-"mX	c #3B3B27276565",

-"MX	c #0E0E03034141",

-"NX	c #111106064A4A",

-"BX	c #0E0E04044646",

-"VX	c #111105053B3B",

-"CX	c #0D0D01013A3A",

-"ZX	c #030305053F3F",

-"AX	c #0F0F0F0F4C4C",

-"SX	c #020207073B3B",

-"DX	c #0D0D03034646",

-"FX	c #0B0B02023F3F",

-"GX	c #0D0D02023434",

-"HX	c #0A0A0E0E4444",

-"JX	c #161614145252",

-"KX	c #0B0B04044646",

-"LX	c #0A0A03034444",

-"PX	c #1D1D21215757",

-"IX	c #090910104040",

-"UX	c #18181E1E5353",

-"                                                                                                ",

-"  . . . . X X o o o o O + + @ @ @ @ @ @ @ # # # # # # $ $ % % & & & & * = - - - ; : > > , , ,   ",

-"  . . X X < < o o O O + @ 1 2 2 1 1 1 1 1 1 1 1 3 4 # # $ $ $ % % % 5 = = 6 6 - ; ; > > , , 7   ",

-"  . 8 < < < o O O + @ @ 2 9 9 0 0 q q q q q q q w 3 4 4 e e $ $ $ $ % 5 = = 6 6 6 ; ; > > r t   ",

-"  . X < y u O O + @ 1 2 i 0 0 p p p p p p p a a p a s 3 4 4 e e e e d 5 5 f f 6 6 6 ; ; r r t   ",

-"  X < y u O + + @ 2 9 0 g p p h h h h h h h p h h a a s s j k k j l d d 5 5 f f 6 6 r r r r r   ",

-"  X < y O z x x 9 0 g c v b n n n n n n n n n n n h a a s s j j m l M d d N f f B B B B r r r   ",

-"  < y u + z 2 0 c c b V C Z C C A A A A A S S S n h D w w m m m m k l M d d N f F F F B r r r   ",

-"  < y O z z 9 c b V Z G H H H G S G G J J H V v c g g K K K K L P l l l M M N N N N I B B r r   ",

-"  U u + z x i v C H Y J J J J H J T R H V E W W Q Q Q Q ! ! ! ~ ^ ^ / / M M M M M N ( B B r r   ",

-"  ) _ z x 9 g b Z Y ` ' ' ' T T ] [ { } |  .........W W Q Q X.! ~ ~ o.O./ / / / N F ( B B B r   ",

-"  ) ) z x i c V G J ' +.+.+.+.] [ @.#.$.%.%.%.&.*. . .....W =.-.X.;.~ :.o.O.^ >.N F ( B B B B   ",

-"  ) ,.<.2 g v C H J ' +.+.+.+.T Y 1.2.3.4.4.4.5.6.&.&. . ...W =.=.-.;.~ :.o.7.>.N F F ( B I I   ",

-"  ) ,.<.8.9.b C H J T +.+.+.' J @.1.0.q.q.w.e.4.5.6.&.r. . .t.W =.=.-.;.~ :.o.7.y.N F ( ( I I   ",

-"  8.8.8.9.| u.C G J T +.+.' ` Y @.1.i.0.q.q.e.e.5.6.p.r.a. .t.t.s.d.d.-.;.~ :.7.7.y.F F ( I I   ",

-"  9.c c c v b A S H ' f.g.` Y @.h.1.i.j.0.q.q.e.k.6.p.r.a.l.t.z.s.s.d.x.c.v.b.n.m.7.N F F F I   ",

-"  <.g M.N.B.B.n V.J f.R J @.h.h.1.i.i.j.j.0.q.3.k.6.p.r.a.l.l.z.s.C.d.x.x.c.v.b.n.m.y.N F F F   ",

-"  + x i v B.Z Z G g.Z.[ @.2.i.i.j.j.j.j.j.0.q.3.k.6.p.p.a.l.l.A.s.C.C.d.x.c.v.b.n.m.7.y.N N y.  ",

-"  O # 3 w p n Z ` f.S.H D.F.q.0.0.0.0.j.0.q.q.3.k.6.p.r.a.a.l.A.s.s.C.d.x.x.c.v.b.n.m.y.y.y.y.  ",

-"  O # 4 s a G.V.T Z.H.V J.%.e.w.q.0.0.0.0.q.q.e.k.6.p.r.a.a.l.z.A.s.C.d.d.x.c.v.b.n.m.7.>.y.y.  ",

-"  O # 4 s w G.A f.K.H L...4.P.w.w.w.q.q.q.q.e.e.5.6.M.I.I.a.a.l.z.A.s.d.d.x.c.v.v.U.Y.7.O.>.y.  ",

-"  $ # 4 3 s G.G f.S.Z 9.*.D.P.P.w.w.w.w.w.e.e.5.5.M.M.I.I.a.a.l.z.T.s.d.d.x.x.c.v.U.Y.m.R.>.>.  ",

-"  E.E.W.W.W.W.E.Z.E.W.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.!.!.!.!.!.~.~.~.~.~.~.^.^.^.^.^./././.(.{ { )._.`._.  ",

-"  + # 3 w s '.` f.H.V ].*.D.P.P.P.P.P.P.P.5.5.5.M.M.M.I.I.a.l.z.z.T.T.s.d.d.x.c.v.U.Y.[.^ O.>.  ",

-"  ~.~.~.~.~.~.K.Z.S.~.{.^.^.^.^.^.^.^.^././././././.(.(.(.(.(.(.{ { { { { ).).).w.w.}.|.P.u.}   ",

-"   .I.6. X X XT f.H.b ].*.E D.D.D.D.5.5..X.XM.M.I.I.a.a.l.l.z.z.T.T.T.d.XXx.c.v.b.U.oXOXR.+X@X  ",

-"  E.E.E.W.W.W.K.Z.E.W.Q.Q.Q.Q.Q.Q.Q.Q.!.!.!.!.!.!.~.~.~.~.~.~.^.^.^.^.^./././.(.{ { ).).#X_._.  ",

-"  & % $ e '.= H f.H.b 8.W *.E E E .X.X.XI.I.I.I.a.a.l.l.z.z.T.T.T.C.XXXXc.v.$X%X&XY.*X=X2 @X-X  ",

-"  {.{.{.{.{.#X~.Z.W.~.{.{./././././././././.(.(.(.(.(.(.(.{ { { { { { ).).).w.w.3.}.;X%.:X} }   ",

-"  & & % $ e >XV.f.S.C K X.W t. . .l.l.t.t.t.t.A.A.A.,X,X,X,X,X<X;X1X1X2X3X%X&X4XoX*X5Xo.6X-X-X  ",

-"  & & % $ $ >X7X` Z.Z D ! =.=.s.t.t.t.A.A.s.A.,X,X,X,X<X<X<X<X;X1X2X2X3X%X&X4XoXOX8X5X<.@X-X-X  ",

-"  8 & & $ e K 9XJ f.^. XK X.=.=.s.s.s.s.s.C.C.C.C.<X0X0X0X1X1X1X2X2X3X%X&X4XqXOX*X8X=X<.-X-XwX  ",

-"  8 & eXK k.@.M. Xg.E.B.rX~ -.d.d.C.C.C.C.C.tX0X0X0XyXyX1X1XuX2X2X3X%X&X4XqXoXOX8XiX6XeX-X-XwX  ",

-"  6XQ h.Y N.K e pXB.f./.9Xo.;.-.x.d.tXtXtXtXtX0X0XyXyXyXuXuX2X2X3X%X&X4XqXoXOX*XiX=X_ aX-XaXwX  ",

-"  Y Y  .R.@X% sX= 7XT Z.V P :.;.c.x.x.x.tXdXdXdXyXyXuXuX2X2X3X3X%X&X4XqXoXOX*X8X*XfXaXaXaXwXwX  ",

-"  gXhX& * & 5 5 sXjXa ] S.9X/ ~ v.c.dXdXdXdXdXuXuXuXkX2X2X3X%X%X&X4XqXoXOX*X8XiX<.hXwXwXaXwXwX  ",

-"  8 lXlXjX= * 5 5 = zX9X] H.D 7.b.v.v.kXc.kXkXkXkXkX2X$X3X%X&X&X4XqXoXOX*X8XiXxXhXwXcXcXwXwXwX  ",

-"  zXzXlXlXjX= = f f sXD Y ] ~.D 7.n.b.v.v.kXkXkXkX$X$X%X%X&X4XqXoXoXOX*X8X5XgXu cXvXvXcXcXwXwX  ",

-"  bXbXzXlXlX- = * @XX.h.e D T S.D n.m.b.$X$X$X$X$X%X%X&X&X4XqXoXOX*X8X8X*X<.hXvX; ; vXvXvXcXwX  ",

-"  nXbXzXzXlXlX- -XX.Y R.pXpXP J K.Z mXm.n.U.U.U.U.U.4X4XY.oXOX*X8X8X8X=X,.aXvX; > > > t t t cX  ",

-"  nXbXbXzXzXlXaXXXY +Xf = f = 7XtXR R   mXn.Y.[.[.[.[.OX*X*X8X5X*X=X,.u vXvX; > > MXMX, 7 t t   ",

-"  nXnXnXbXzXvX-.Y +XcX6 6 = = = d L B.G H `.X.:.7.m.=X=X=X=X=X6X,.u cXvXNX: BX> MXVXCXVX7 7 7   ",

-"  ZXZXnXbXAXgX@.+XvX; - - - - * @XR.>.sX>.R.i 0 x eXeXeXeXO hXaXcXvXNX: BXMXMXMXVXCXCXCXVX7 7   ",

-"  SXZXZXAXgXN.aXNX: : NXNXNX- * +X+X* 6 6 6 * * * * * * * vXvX- NX: DXBXMXMXFXCXCXCXCXGXVXVX7   ",

-"  SXSXHXgX0.JXKXLXKXKXDX: : NX* @X-X- - - - - - - - - - - NX: DXDXDXMXMXFXFXCXCXCXCXGXGXGXVXVX  ",

-"  SXHXPX3.JXnXnXnXnXbXLXKXKXNXaX-XvX: : NX: : : : : : : BXDXDXLXMXMXFXFXCXCXCXCXGXGXGXGXGXGXGX  ",

-"  IXUX$.AXZXZXZXZXnXnXnXLXLXNXJXvXBXDXBXBXBXBXDXDXDXDXLXDXLXLXFXFXFXFXCXCXCXCXGXGXGXGXGXGXGXGX  ",

-"                                                                                                "};

diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_window_16.gif b/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_window_16.gif
deleted file mode 100644
index 05626b1..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_window_16.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_window_32.gif b/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_window_32.gif
deleted file mode 100644
index b432f88..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/bin/icons/alt_window_32.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/$applicationClass$.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/$applicationClass$.java
deleted file mode 100644
index dff7b9a..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/$applicationClass$.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package $packageName$;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class $applicationClass$ implements IApplication {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext context) throws Exception {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART)
-				return IApplication.EXIT_RESTART;
-			else
-				return IApplication.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#stop()
-	 */
-	public void stop() {
-		final IWorkbench workbench = PlatformUI.getWorkbench();
-		if (workbench == null)
-			return;
-		final Display display = workbench.getDisplay();
-		display.syncExec(new Runnable() {
-			public void run() {
-				if (!display.isDisposed())
-					workbench.close();
-			}
-		});
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/ApplicationActionBarAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/ApplicationActionBarAdvisor.java
deleted file mode 100644
index 91c7c98..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/ApplicationActionBarAdvisor.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
-    public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
-        super(configurer);
-    }
-
-    protected void makeActions(IWorkbenchWindow window) {
-    }
-
-    protected void fillMenuBar(IMenuManager menuBar) {
-    }
-    
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/ApplicationWorkbenchAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index d257049..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-
-	private static final String PERSPECTIVE_ID = "$pluginId$.perspective";
-
-    public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        return new ApplicationWorkbenchWindowAdvisor(configurer);
-    }
-
-	public String getInitialWindowPerspectiveId() {
-		return PERSPECTIVE_ID;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/ApplicationWorkbenchWindowAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index 744b0cb..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package $packageName$;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
-    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        super(configurer);
-    }
-
-    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
-        return new ApplicationActionBarAdvisor(configurer);
-    }
-    
-    public void preWindowOpen() {
-        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-        configurer.setInitialSize(new Point(400, 300));
-        configurer.setShowCoolBar(false);
-        configurer.setShowStatusLine(false);
-%if productBranding == false
-        configurer.setTitle("$windowTitle$");
-%endif
-    }
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/Perspective.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/Perspective.java
deleted file mode 100644
index b38d535..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloRCP/java/Perspective.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-	public void createInitialLayout(IPageLayout layout) {
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloWorldCmd/bin/icons/sample.gif b/ui/org.eclipse.pde.ui.templates/templates_3.3/helloWorldCmd/bin/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloWorldCmd/bin/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloWorldCmd/java/$className$.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/helloWorldCmd/java/$className$.java
deleted file mode 100644
index 0009564..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/helloWorldCmd/java/$className$.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package $packageName$;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.handlers.HandlerUtil;
-import org.eclipse.jface.dialogs.MessageDialog;
-
-/**
- * Our sample handler extends AbstractHandler, an IHandler base class.
- * @see org.eclipse.core.commands.IHandler
- * @see org.eclipse.core.commands.AbstractHandler
- */
-public class $className$ extends AbstractHandler {
-	/**
-	 * The constructor.
-	 */
-	public $className$() {
-	}
-
-	/**
-	 * the command has been executed, so extract extract the needed information
-	 * from the application context.
-	 */
-	public Object execute(ExecutionEvent event) throws ExecutionException {
-		IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
-		MessageDialog.openInformation(
-				window.getShell(),
-				"$pluginName$",
-				"$message$");
-		return null;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/bin/content/link_obj.gif b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/bin/content/link_obj.gif
deleted file mode 100644
index a4b0788..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/bin/content/link_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/bin/content/titlebanner.gif b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/bin/content/titlebanner.gif
deleted file mode 100644
index 6737f76..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/bin/content/titlebanner.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/bin/icons/alt_window_16.gif b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/bin/icons/alt_window_16.gif
deleted file mode 100644
index 05626b1..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/bin/icons/alt_window_16.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/bin/icons/alt_window_32.gif b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/bin/icons/alt_window_32.gif
deleted file mode 100644
index b432f88..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/bin/icons/alt_window_32.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/concept1.xhtml b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/concept1.xhtml
deleted file mode 100644
index 839c9f8..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/concept1.xhtml
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-  <title>Concept1.xhtml</title>
-  <link rel="stylesheet" href="shared.css" type="text/css" />	
-  </head>
-
-<body>
-<h1>Welcome to $productName$</h1>
-<h4>Concept One</h4>
-<p>This is where Concept One is explained.</p>
-</body>
-</html>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/concept2.xhtml b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/concept2.xhtml
deleted file mode 100644
index aab6830..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/concept2.xhtml
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-  <title>Concept2.xhtml</title>
-  <link rel="stylesheet" href="shared.css" type="text/css" />
-  </head>
-
-<body>
-<h1>Welcome to $productName$</h1>
-<h4>Concept Two</h4>
-<p>This is where Concept Two is explained.</p>
-</body>
-</html>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/concept3.xhtml b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/concept3.xhtml
deleted file mode 100644
index c27f382..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/concept3.xhtml
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-  <title>Concept2.xhtml</title>
-  <link rel="stylesheet" href="shared.css" type="text/css" />
-  </head>
-
-<body>
-<h1>Welcome to $productName$</h1>
-<h4>Concept Three</h4>
-<p>This is where Concept Three is explained. </p> 
-<p>This is the first topic from the Root page of this Welcome:
-
-<!-- This is where we use the Intro include element. This include specifies that we need 
-to grab an XHTML element with id "firstH4" from an intro page with id "root". --> 
-<include path="root/firstLink" />
-<br />
-<!-- This is where we use the Intro dynamicContent element. The class is loaded from the specified plugin. --> 
-<contentProvider id="contentProviderId" class="$packageName$.DynamicContentProvider" pluginId="$pluginId$"> 
-</contentProvider> 
-</p>
-
-
-<p>&nbsp;</p>
-<p align="justify">(This page demonstrates how to contribute to an existing Welcome. 
-It was contributed using the <code>org.eclipse.ui.intro.configExtension</code> 
-extension point. It also 
-demonstrates how to use the <code>include</code> and the <code>dynamicContent</code> intro elements to 
-include external XHTML content and to create dynamic XHTML content, 
-respectively. Check the XHTML source for this page for usage of intro elements.) </p> 
-
-</body>
-</html>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/extContent.xhtml b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/extContent.xhtml
deleted file mode 100644
index 80a9665..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/extContent.xhtml
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-  <title>root.xhtml</title>
-  <link rel="stylesheet" href="root.css" type="text/css" />
-  </head>
-
-<body>
-<a href="http://org.eclipse.ui.intro/showPage?id=concept3">
-	<img border="0" src="link_obj.gif" alt="Concept3" />
-	Learn about Concept Three...</a>
-</body>
-</html>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/root.css b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/root.css
deleted file mode 100644
index 7cf89fc..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/root.css
+++ /dev/null
@@ -1,28 +0,0 @@
-img {

-	width: 48px;

-	height: 48px;

-	vertical-align: middle;

-	}

-

-/* Give some space for main div.*/	

-.page-style {

-	text-align: center;

-	margin-top:100px;

-	}

-	

-/* satisfy Mozilla */	

-body > div.page-style {

-	padding-left:30%;

-	}

-

-

-#content {

-	text-align:left;

-	width:23em;

-	} 

-

-

-

-

-		

-

diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/root.xhtml b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/root.xhtml
deleted file mode 100644
index 182f2cd..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/root.xhtml
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-  <title>root.xhtml</title>
-  <link rel="stylesheet" href="shared.css" type="text/css" />
-  <link rel="stylesheet" href="root.css" type="text/css" />
-  </head>
-
-<body> 
-<h1>Welcome to $productName$</h1>
-<div class="page-style">
-  <div id="content"> 	
-	
-		<a href="http://org.eclipse.ui.intro/showPage?id=concept1" id="firstLink">
-			<img border="0" src="link_obj.gif" alt="Concept1" />
-			Learn about Concept One... 
-		</a>
-	
-		<a href="http://org.eclipse.ui.intro/showPage?id=concept2">
-			<img border="0" src="link_obj.gif" alt="Concept2" />
-			Learn about Concept Two...</a>
-	<anchor id="anchor1" /> 
-  </div> 
-</div>
-</body>
-</html>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/shared.css b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/shared.css
deleted file mode 100644
index 8a05736..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/content/shared.css
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Shared style applied to all pages */

-/* trick to get desired scroll bar behavior on all browsers */ 

-html {

-	overflow:auto;

-	border:0px;

-	height:100%;

-	}

-

-	

-body {	

-	margin-left:14px;

-	margin-top:10px;

-	font-family:Tahoma;

-	font-size: 12px;

-	color:#000000;

-	background-image:url("./titlebanner.gif");

-	background-repeat: repeat-x;

-	} 

-	

-h1 {

-	text-align:left;

-	font-size: 16pt;

-	font-weight:normal;

-	color:#E5E5E5;

-	} 

-

-h4 {

-	color:#787878;

-	}	

-	

-a {

-	display:block;

-	font-family:Tahoma;

-	font-size: 12px;

-	color:#000000;

-	font-weight:normal;

-	text-decoration:none;

-	padding-bottom:20px;

-	}

-	

-p {

-	padding-left:14px;

-	}

-	

-

diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/ext.xml b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/ext.xml
deleted file mode 100644
index d08a22a..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/ext.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<introContent>
-  <extensionContent content="content/extContent.xhtml" path="root/anchor1" />
-  <page id="concept3" content="content/concept3.xhtml"/>
-</introContent>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/introContent.xml b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/introContent.xml
deleted file mode 100644
index c5dff2d..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/introContent.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<introContent>
-    <page id="root" content="content/root.xhtml"/>
-    <page id="concept1" content="content/concept1.xhtml"/>
-    <page id="concept2" content="content/concept2.xhtml"/>
-</introContent>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/Application.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/Application.java
deleted file mode 100644
index 2405172..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/Application.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package $packageName$;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class Application implements IApplication {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext context) {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART) {
-				return IApplication.EXIT_RESTART;
-			}
-			return IApplication.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#stop()
-	 */
-	public void stop() {
-		final IWorkbench workbench = PlatformUI.getWorkbench();
-		if (workbench == null)
-			return;
-		final Display display = workbench.getDisplay();
-		display.syncExec(new Runnable() {
-			public void run() {
-				if (!display.isDisposed())
-					workbench.close();
-			}
-		});
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/ApplicationActionBarAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/ApplicationActionBarAdvisor.java
deleted file mode 100644
index 475c67b..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/ApplicationActionBarAdvisor.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
-    private IWorkbenchAction introAction;
-    
-	public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
-		super(configurer);
-	}
-
-	protected void makeActions(IWorkbenchWindow window) {
-		introAction = ActionFactory.INTRO.create(window);
-		register(introAction);
-	}
-
-	protected void fillMenuBar(IMenuManager menuBar) {
-		
-		MenuManager helpMenu = new MenuManager("&Help", IWorkbenchActionConstants.M_HELP);
-		menuBar.add(helpMenu);
-
-		// Help
-		helpMenu.add(introAction);
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/ApplicationWorkbenchAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index f29f957..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.application.IWorkbenchConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-
-	private static final String PERSPECTIVE_ID = "$pluginId$.perspective";
-
-    public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        return new ApplicationWorkbenchWindowAdvisor(configurer);
-    }
-    
-    public void initialize(IWorkbenchConfigurer configurer) {
-        super.initialize(configurer);
-        configurer.setSaveAndRestore(true);
-    }
-
-	public String getInitialWindowPerspectiveId() {
-		return PERSPECTIVE_ID;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/ApplicationWorkbenchWindowAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index 65072fe..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package $packageName$;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
-    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        super(configurer);
-    }
-
-    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
-        return new ApplicationActionBarAdvisor(configurer);
-    }
-    
-    public void preWindowOpen() {
-        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-        configurer.setInitialSize(new Point(700, 550));
-        configurer.setShowCoolBar(false);
-        configurer.setShowStatusLine(false);
-        configurer.setTitle("$productName$");
-    }
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/DynamicContentProvider.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/DynamicContentProvider.java
deleted file mode 100644
index d2b442a..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/DynamicContentProvider.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package $packageName$;
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.forms.widgets.*;
-import org.eclipse.ui.intro.config.*;
-import org.w3c.dom.*;
-
-//
-
-public class DynamicContentProvider implements IIntroXHTMLContentProvider {
-
-
-    public void init(IIntroContentProviderSite site) {
-    }
-
-
-    public void createContent(String id, PrintWriter out) {
-    }
-
-    public void createContent(String id, Composite parent, FormToolkit toolkit) {
-    }
-
-    private String getCurrentTimeString() {
-        StringBuffer content = new StringBuffer(
-                "Dynamic content from Intro ContentProvider: ");
-        content.append("Current time is: ");
-        content.append(new Date(System.currentTimeMillis()));
-        return content.toString();
-    }
-
-    public void createContent(String id, Element parent) {
-        Document dom = parent.getOwnerDocument();
-        Element para = dom.createElement("p");
-        para.setAttribute("id", "someDynamicContentId");
-        para.appendChild(dom.createTextNode(getCurrentTimeString()));
-        parent.appendChild(para);
-
-    }
-
-
-    public void dispose() {
-
-    }
-
-
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/Perspective.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/Perspective.java
deleted file mode 100644
index b38d535..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/intro/java/Perspective.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-	public void createInitialLayout(IPageLayout layout) {
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/icons/mail.ico b/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/icons/mail.ico
deleted file mode 100644
index b000061..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/icons/mail.ico
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/icons/sample.gif b/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/icons/sample.icns b/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/icons/sample.icns
deleted file mode 100644
index 1e92ccc..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/icons/sample.icns
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/icons/sample2.gif b/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/icons/sample2.gif
deleted file mode 100644
index 252d7eb..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/icons/sample2.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/icons/sample3.gif b/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/icons/sample3.gif
deleted file mode 100644
index b949ac9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/icons/sample3.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/product_lg.gif b/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/product_lg.gif
deleted file mode 100644
index bd95e28..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/bin/product_lg.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/$applicationClass$.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/$applicationClass$.java
deleted file mode 100644
index fcf3519..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/$applicationClass$.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package $packageName$;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class $applicationClass$ implements IApplication {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext context) {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART) {
-				return IApplication.EXIT_RESTART;
-			}
-			return IApplication.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#stop()
-	 */
-	public void stop() {
-		final IWorkbench workbench = PlatformUI.getWorkbench();
-		if (workbench == null)
-			return;
-		final Display display = workbench.getDisplay();
-		display.syncExec(new Runnable() {
-			public void run() {
-				if (!display.isDisposed())
-					workbench.close();
-			}
-		});
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/ApplicationActionBarAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/ApplicationActionBarAdvisor.java
deleted file mode 100644
index 88d8b9c..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/ApplicationActionBarAdvisor.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.GroupMarker;
-import org.eclipse.jface.action.ICoolBarManager;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.action.ToolBarContributionItem;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-/**
- * An action bar advisor is responsible for creating, adding, and disposing of the
- * actions added to a workbench window. Each window will be populated with
- * new actions.
- */
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
-    // Actions - important to allocate these only in makeActions, and then use them
-    // in the fill methods.  This ensures that the actions aren't recreated
-    // when fillActionBars is called with FILL_PROXY.
-    private IWorkbenchAction exitAction;
-    private IWorkbenchAction aboutAction;
-    private IWorkbenchAction newWindowAction;
-    private OpenViewAction openViewAction;
-    private Action messagePopupAction;
-    
-
-    public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
-        super(configurer);
-    }
-    
-    protected void makeActions(final IWorkbenchWindow window) {
-        // Creates the actions and registers them.
-        // Registering is needed to ensure that key bindings work.
-        // The corresponding commands keybindings are defined in the plugin.xml file.
-        // Registering also provides automatic disposal of the actions when
-        // the window is closed.
-
-        exitAction = ActionFactory.QUIT.create(window);
-        register(exitAction);
-        
-        aboutAction = ActionFactory.ABOUT.create(window);
-        register(aboutAction);
-        
-        newWindowAction = ActionFactory.OPEN_NEW_WINDOW.create(window);
-        register(newWindowAction);
-        
-        openViewAction = new OpenViewAction(window, "Open Another Message View", View.ID);
-        register(openViewAction);
-        
-        messagePopupAction = new MessagePopupAction("Open Message", window);
-        register(messagePopupAction);
-    }
-    
-    protected void fillMenuBar(IMenuManager menuBar) {
-        MenuManager fileMenu = new MenuManager("&File", IWorkbenchActionConstants.M_FILE);
-        MenuManager helpMenu = new MenuManager("&Help", IWorkbenchActionConstants.M_HELP);
-        
-        menuBar.add(fileMenu);
-        // Add a group marker indicating where action set menus will appear.
-        menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
-        menuBar.add(helpMenu);
-        
-        // File
-        fileMenu.add(newWindowAction);
-        fileMenu.add(new Separator());
-        fileMenu.add(messagePopupAction);
-        fileMenu.add(openViewAction);
-        fileMenu.add(new Separator());
-        fileMenu.add(exitAction);
-        
-        // Help
-        helpMenu.add(aboutAction);
-    }
-    
-    protected void fillCoolBar(ICoolBarManager coolBar) {
-        IToolBarManager toolbar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
-        coolBar.add(new ToolBarContributionItem(toolbar, "main"));   
-        toolbar.add(openViewAction);
-        toolbar.add(messagePopupAction);
-    }
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/ApplicationWorkbenchAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index 2cf26b5..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-/**
- * This workbench advisor creates the window advisor, and specifies
- * the perspective id for the initial window.
- */
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-	
-	private static final String PERSPECTIVE_ID = "$pluginId$.perspective";
-
-    public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        return new ApplicationWorkbenchWindowAdvisor(configurer);
-    }
-
-	public String getInitialWindowPerspectiveId() {
-		return PERSPECTIVE_ID;
-	} 
-	
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/ApplicationWorkbenchWindowAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index 57183c0..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package $packageName$;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
-    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-        super(configurer);
-    }
-
-    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
-        return new ApplicationActionBarAdvisor(configurer);
-    }
-    
-    public void preWindowOpen() {
-        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-        configurer.setInitialSize(new Point(600, 400));
-        configurer.setShowCoolBar(true);
-        configurer.setShowStatusLine(false);
-    }
-    
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/ICommandIds.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/ICommandIds.java
deleted file mode 100644
index dd6d40e..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/ICommandIds.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package $packageName$;
-
-/**
- * Interface defining the application's command IDs.
- * Key bindings can be defined for specific commands.
- * To associate an action with a command, use IAction.setActionDefinitionId(commandId).
- *
- * @see org.eclipse.jface.action.IAction#setActionDefinitionId(String)
- */
-public interface ICommandIds {
-
-    public static final String CMD_OPEN = "$pluginId$.open";
-    public static final String CMD_OPEN_MESSAGE = "$pluginId$.openMessage";
-    
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/MessagePopupAction.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/MessagePopupAction.java
deleted file mode 100644
index 8976bb4..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/MessagePopupAction.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-
-
-public class MessagePopupAction extends Action {
-
-    private final IWorkbenchWindow window;
-
-    MessagePopupAction(String text, IWorkbenchWindow window) {
-        super(text);
-        this.window = window;
-        // The id is used to refer to the action in a menu or toolbar
-        setId(ICommandIds.CMD_OPEN_MESSAGE);
-        // Associate the action with a pre-defined command, to allow key bindings.
-        setActionDefinitionId(ICommandIds.CMD_OPEN_MESSAGE);
-        setImageDescriptor($pluginClass$.getImageDescriptor("/icons/sample3.gif"));
-    }
-
-    public void run() {
-        MessageDialog.openInformation(window.getShell(), "Open", "Open Message Dialog!");
-    }
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/NavigationView.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/NavigationView.java
deleted file mode 100644
index aaae601..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/NavigationView.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package $packageName$;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.ViewPart;
-
-public class NavigationView extends ViewPart {
-	public static final String ID = "$pluginId$.navigationView";
-	private TreeViewer viewer;
-	 
-	class TreeObject {
-		private String name;
-		private TreeParent parent;
-		
-		public TreeObject(String name) {
-			this.name = name;
-		}
-		public String getName() {
-			return name;
-		}
-		public void setParent(TreeParent parent) {
-			this.parent = parent;
-		}
-		public TreeParent getParent() {
-			return parent;
-		}
-		public String toString() {
-			return getName();
-		}
-	}
-	
-	class TreeParent extends TreeObject {
-		private ArrayList children;
-		public TreeParent(String name) {
-			super(name);
-			children = new ArrayList();
-		}
-		public void addChild(TreeObject child) {
-			children.add(child);
-			child.setParent(this);
-		}
-		public void removeChild(TreeObject child) {
-			children.remove(child);
-			child.setParent(null);
-		}
-		public TreeObject[] getChildren() {
-			return (TreeObject[]) children.toArray(new TreeObject[children.size()]);
-		}
-		public boolean hasChildren() {
-			return children.size()>0;
-		}
-	}
-
-	class ViewContentProvider implements IStructuredContentProvider, 
-										   ITreeContentProvider {
-
-        public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		}
-        
-		public void dispose() {
-		}
-        
-		public Object[] getElements(Object parent) {
-			return getChildren(parent);
-		}
-        
-		public Object getParent(Object child) {
-			if (child instanceof TreeObject) {
-				return ((TreeObject)child).getParent();
-			}
-			return null;
-		}
-        
-		public Object[] getChildren(Object parent) {
-			if (parent instanceof TreeParent) {
-				return ((TreeParent)parent).getChildren();
-			}
-			return new Object[0];
-		}
-
-        public boolean hasChildren(Object parent) {
-			if (parent instanceof TreeParent)
-				return ((TreeParent)parent).hasChildren();
-			return false;
-		}
-	}
-	
-	class ViewLabelProvider extends LabelProvider {
-
-		public String getText(Object obj) {
-			return obj.toString();
-		}
-		public Image getImage(Object obj) {
-			String imageKey = ISharedImages.IMG_OBJ_ELEMENT;
-			if (obj instanceof TreeParent)
-			   imageKey = ISharedImages.IMG_OBJ_FOLDER;
-			return PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
-		}
-	}
-
-    /**
-     * We will set up a dummy model to initialize tree heararchy. In real
-     * code, you will connect to a real model and expose its hierarchy.
-     */
-    private TreeObject createDummyModel() {
-        TreeObject to1 = new TreeObject("Inbox");
-        TreeObject to2 = new TreeObject("Drafts");
-        TreeObject to3 = new TreeObject("Sent");
-        TreeParent p1 = new TreeParent("me@this.com");
-        p1.addChild(to1);
-        p1.addChild(to2);
-        p1.addChild(to3);
-
-        TreeObject to4 = new TreeObject("Inbox");
-        TreeParent p2 = new TreeParent("other@aol.com");
-        p2.addChild(to4);
-
-        TreeParent root = new TreeParent("");
-        root.addChild(p1);
-        root.addChild(p2);
-        return root;
-    }
-
-	/**
-     * This is a callback that will allow us to create the viewer and initialize
-     * it.
-     */
-	public void createPartControl(Composite parent) {
-		viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		viewer.setContentProvider(new ViewContentProvider());
-		viewer.setLabelProvider(new ViewLabelProvider());
-		viewer.setInput(createDummyModel());
-	}
-
-	/**
-	 * Passing the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/OpenViewAction.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/OpenViewAction.java
deleted file mode 100644
index 7ea8882..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/OpenViewAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-
-
-public class OpenViewAction extends Action {
-	
-	private final IWorkbenchWindow window;
-	private int instanceNum = 0;
-	private final String viewId;
-	
-	public OpenViewAction(IWorkbenchWindow window, String label, String viewId) {
-		this.window = window;
-		this.viewId = viewId;
-        setText(label);
-        // The id is used to refer to the action in a menu or toolbar
-		setId(ICommandIds.CMD_OPEN);
-        // Associate the action with a pre-defined command, to allow key bindings.
-		setActionDefinitionId(ICommandIds.CMD_OPEN);
-		setImageDescriptor($pluginClass$.getImageDescriptor("/icons/sample2.gif"));
-	}
-	
-	public void run() {
-		if(window != null) {	
-			try {
-				window.getActivePage().showView(viewId, Integer.toString(instanceNum++), IWorkbenchPage.VIEW_ACTIVATE);
-			} catch (PartInitException e) {
-				MessageDialog.openError(window.getShell(), "Error", "Error opening view:" + e.getMessage());
-			}
-		}
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/Perspective.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/Perspective.java
deleted file mode 100644
index 86a9dd9..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/Perspective.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.IFolderLayout;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-	public void createInitialLayout(IPageLayout layout) {
-		String editorArea = layout.getEditorArea();
-		layout.setEditorAreaVisible(false);
-		
-		layout.addStandaloneView(NavigationView.ID,  false, IPageLayout.LEFT, 0.25f, editorArea);
-		IFolderLayout folder = layout.createFolder("messages", IPageLayout.TOP, 0.5f, editorArea);
-		folder.addPlaceholder(View.ID + ":*");
-		folder.addView(View.ID);
-		
-		layout.getViewLayout(NavigationView.ID).setCloseable(false);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/View.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/View.java
deleted file mode 100644
index 224edbc..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/mail/java/View.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.part.ViewPart;
-
-public class View extends ViewPart {
-
-	public static final String ID = "$pluginId$.view";
-	
-	public void createPartControl(Composite parent) {
-		Composite top = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		top.setLayout(layout);
-		// top banner
-		Composite banner = new Composite(top, SWT.NONE);
-		banner.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL, GridData.VERTICAL_ALIGN_BEGINNING, true, false));
-		layout = new GridLayout();
-		layout.marginHeight = 5;
-		layout.marginWidth = 10;
-		layout.numColumns = 2;
-		banner.setLayout(layout);
-		
-		// setup bold font
-		Font boldFont = JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT);    
-		
-		Label l = new Label(banner, SWT.WRAP);
-		l.setText("Subject:");
-		l.setFont(boldFont);
-		l = new Label(banner, SWT.WRAP);
-		l.setText("This is a message about the cool Eclipse RCP!");
-		
-		l = new Label(banner, SWT.WRAP);
-		l.setText("From:");
-		l.setFont(boldFont);
-    
-		final Link link = new Link(banner, SWT.NONE);
-		link.setText("<a>nicole@mail.org</a>");
-		link.addSelectionListener(new SelectionAdapter() {    
-			public void widgetSelected(SelectionEvent e) {
-				MessageDialog.openInformation(getSite().getShell(), "Not Implemented", "Imagine the address book or a new message being created now.");
-			}    
-		});
-    
-		l = new Label(banner, SWT.WRAP);
-		l.setText("Date:");
-		l.setFont(boldFont);
-		l = new Label(banner, SWT.WRAP);
-		l.setText("10:34 am");
-		// message contents
-		Text text = new Text(top, SWT.MULTI | SWT.WRAP);
-		text.setText("This RCP Application was generated from the PDE Plug-in Project wizard. This sample shows how to:\n"+
-						"- add a top-level menu and toolbar with actions\n"+
-						"- add keybindings to actions\n" +
-						"- create views that can't be closed and\n"+
-						"  multiple instances of the same view\n"+
-						"- perspectives with placeholders for new views\n"+
-						"- use the default about dialog\n"+
-						"- create a product definition\n");
-		text.setLayoutData(new GridData(GridData.FILL_BOTH));
-	}
-
-	public void setFocus() {
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/bin/icons/af.png b/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/bin/icons/af.png
deleted file mode 100644
index bcd0ce8..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/bin/icons/af.png
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/bin/icons/embedded.png b/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/bin/icons/embedded.png
deleted file mode 100644
index 57edc6a..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/bin/icons/embedded.png
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/bin/icons/enterprise.png b/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/bin/icons/enterprise.png
deleted file mode 100644
index 7fe2f5c..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/bin/icons/enterprise.png
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/bin/icons/languages.png b/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/bin/icons/languages.png
deleted file mode 100644
index 98af2da..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/bin/icons/languages.png
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/bin/icons/rcp.png b/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/bin/icons/rcp.png
deleted file mode 100644
index b248ca2..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/bin/icons/rcp.png
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/java/BrowserSplashHandler.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/java/BrowserSplashHandler.java
deleted file mode 100644
index dceb0fc..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/java/BrowserSplashHandler.java
+++ /dev/null
@@ -1,177 +0,0 @@
-
-package $packageName$;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
-import org.eclipse.swt.browser.ProgressEvent;
-import org.eclipse.swt.browser.ProgressListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.splash.AbstractSplashHandler;
-
-/**
- * @since 3.3
- * 
- */
-public class BrowserSplashHandler extends AbstractSplashHandler {
-
-	private final static String F_BROWSER_URL = "http://www.google.com"; //$NON-NLS-1$
-	
-	private Browser fBrowser;
-	
-	private Button fButton;
-	
-	private boolean fClose;
-
-	/**
-	 * 
-	 */
-	public BrowserSplashHandler() {
-		fBrowser = null;
-		fButton = null;
-		fClose = false;
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.internal.splash.AbstractSplashHandler#init(org.eclipse.swt.widgets.Shell,
-	 *      org.eclipse.ui.IWorkbench)
-	 */
-	public void init(final Shell splash) {
-		// Store the shell
-		super.init(splash);
-		// Configure the shell layout
-		configureUISplash();
-		// Create UI
-		createUI();
-		// Create UI listeners
-		createUIListeners();
-		// Force the UI to layout
-		splash.layout(true);
-		// Keep the splash screen visible and prevent the RCP application from 
-		// loading until the close button is clicked.
-		doEventLoop();
-	}
-	
-	/**
-	 * 
-	 */
-	private void doEventLoop() {
-		Shell splash = getSplash();
-		while (fClose == false) {
-			if (splash.getDisplay().readAndDispatch() == false) {
-				splash.getDisplay().sleep();
-			}
-		}
-	}
-	
-	/**
-	 * 
-	 */
-	private void createUIListeners() {
-		// Create the browser listeners
-		createUIListenersBrowser();
-		// Create the button listeners
-		createUIListenersButton();
-	}
-
-	/**
-	 * 
-	 */
-	private void createUIListenersButton() {
-		fButton.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// NO-OP
-			}
-			public void widgetSelected(SelectionEvent e) {
-				fClose = true;
-			}
-		});		
-	}
-
-	/**
-	 * 
-	 */
-	private void createUIListenersBrowser() {
-		fBrowser.addProgressListener(new ProgressListener() {
-			public void changed(ProgressEvent event) {
-				// NO-OP
-			}
-			public void completed(ProgressEvent event) {
-				// Only show the UI when the URL is fully loaded into the 
-				// browser
-				fBrowser.setVisible(true);
-				fButton.setVisible(true);
-			}
-		});		
-	}
-	
-	/**
-	 * 
-	 */
-	private void createUI() {
-		// Create the web browser
-		createUIBrowser();
-		// Create the close button
-		createUIButton();
-	}
-
-	/**
-	 * 
-	 */
-	private void createUIButton() {
-		Shell splash = getSplash();
-		fButton = new Button(splash, SWT.PUSH);
-		fButton.setText("Close"); //$NON-NLS-1$
-		fButton.setVisible(false);
-		// Configure the button bounds
-		configureUIButtonBounds();		
-		// Configure layout data
-		GridData data = new GridData(SWT.CENTER, SWT.FILL, false, false);
-		data.widthHint = 80;			
-		fButton.setLayoutData(data);
-	}
-
-	/**
-	 * 
-	 */
-	private void configureUIButtonBounds() {
-		Shell splash = getSplash();
-		
-		int button_x_coord = (splash.getSize().x / 2)
-				- (fButton.computeSize(SWT.DEFAULT, SWT.DEFAULT).x / 2);
-		int button_y_coord = splash.getSize().y
-				- fButton.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-		int button_x_width = splash.getSize().x;
-		int button_y_width = fButton.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-		
-		fButton.setBounds(button_x_coord, button_y_coord, button_x_width,
-				button_y_width);		
-	}	
-	
-	/**
-	 * 
-	 */
-	private void createUIBrowser() {
-		fBrowser = new Browser(getSplash(), SWT.NONE);
-		fBrowser.setUrl(F_BROWSER_URL);
-		fBrowser.setVisible(false);
-		// Configure layout data
-		GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
-		fBrowser.setLayoutData(data);
-	}
-
-	/**
-	 * 
-	 */
-	private void configureUISplash() {
-		GridLayout layout = new GridLayout(1, true);
-		getSplash().setLayout(layout);
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/java/ExtensibleSplashHandler.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/java/ExtensibleSplashHandler.java
deleted file mode 100644
index 23e3ef3..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/java/ExtensibleSplashHandler.java
+++ /dev/null
@@ -1,308 +0,0 @@
-
-package $packageName$;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.splash.AbstractSplashHandler;
-
-/**
- * @since 3.3
- *
- */
-public class ExtensibleSplashHandler extends AbstractSplashHandler {
-	
-	private ArrayList fImageList;
-	
-	private ArrayList fTooltipList;
-
-	private final static String F_SPLASH_EXTENSION_ID = "$pluginId$.splashExtension"; //$NON-NLS-1$
-	
-	private final static String F_ELEMENT_ICON = "icon"; //$NON-NLS-1$
-	
-	private final static String F_ELEMENT_TOOLTIP = "tooltip"; //$NON-NLS-1$
-	
-	private final static String F_DEFAULT_TOOLTIP = "Image"; //$NON-NLS-1$
-	
-	private final static int F_IMAGE_WIDTH = 50;
-	
-	private final static int F_IMAGE_HEIGHT = 50;
-	
-	private final static int F_SPLASH_SCREEN_BEVEL = 5;
-	
-	private Composite fIconPanel;
-	
-	/**
-	 * 
-	 */
-	public ExtensibleSplashHandler() {
-		fImageList = new ArrayList();
-		fTooltipList = new ArrayList();
-		fIconPanel = null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.splash.AbstractSplashHandler#init(org.eclipse.swt.widgets.Shell)
-	 */
-	public void init(Shell splash) {
-		// Store the shell
-		super.init(splash);
-		// Configure the shell layout
-		configureUISplash();
-		// Load all splash extensions
-		loadSplashExtensions();
-		// If no splash extensions were loaded abort the splash handler
-		if (hasSplashExtensions() == false) {
-			return;
-		}
-		// Create UI
-		createUI();
-		// Configure the image panel bounds
-		configureUICompositeIconPanelBounds();
-		// Enter event loop and prevent the RCP application from 
-		// loading until all work is done
-		doEventLoop();
-	}
-
-	/**
-	 * @return
-	 */
-	private boolean hasSplashExtensions() {
-		if (fImageList.isEmpty()) {
-			return false;
-		} else {
-			return true;
-		}
-	}
-	
-	/**
-	 * 
-	 */
-	private void createUI() {
-		// Create the icon panel
-		createUICompositeIconPanel();
-		// Create the images
-		createUIImages();
-	}	
-	
-	/**
-	 * 
-	 */
-	private void createUIImages() {
-		Iterator imageIterator = fImageList.iterator();
-		Iterator tooltipIterator = fTooltipList.iterator();
-		int i = 1;
-		int columnCount = ((GridLayout)fIconPanel.getLayout()).numColumns;
-		// Create all the images 
-		// Abort if we run out of columns (left-over images will not fit within
-		// the usable splash screen width)
-		while (imageIterator.hasNext() && 
-				(i <= columnCount)) {
-			Image image = (Image)imageIterator.next();
-			String tooltip = (String)tooltipIterator.next();
-			// Create the image using a label widget
-			createUILabel(image, tooltip);
-			i++;
-		}
-	}
-	
-	/**
-	 * @param image
-	 * @param tooltip
-	 */
-	private void createUILabel(Image image, String tooltip) {
-		// Create the label (no text)
-		Label label = new Label(fIconPanel, SWT.NONE);
-		label.setImage(image);
-		label.setToolTipText(tooltip);		
-	}
-
-	/**
-	 * 
-	 */
-	private void createUICompositeIconPanel() {
-		Shell splash = getSplash();
-		// Create the composite
-		fIconPanel = new Composite(splash, SWT.NONE);
-		// Determine the maximum number of columns that can fit on the splash
-		// screen.  One 50x50 image per column.
-		int maxColumnCount = getUsableSplashScreenWidth() / F_IMAGE_WIDTH;
-		// Limit size to the maximum number of columns if the number of images
-		// exceed this amount; otherwise, use the exact number of columns 
-		// required.
-		int actualColumnCount = Math.min(fImageList.size(), maxColumnCount);
-		// Configure the layout
-		GridLayout layout = new GridLayout(actualColumnCount, true);
-		layout.horizontalSpacing = 0;
-		layout.verticalSpacing = 0;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		fIconPanel.setLayout(layout);
-	}
-
-	/**
-	 * 
-	 */
-	private void configureUICompositeIconPanelBounds() {
-		// Determine the size of the panel and position it at the bottom-right
-		// of the splash screen.
-		Point panelSize = fIconPanel.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-		
-		int x_coord = getSplash().getSize().x - F_SPLASH_SCREEN_BEVEL - panelSize.x;
-		int y_coord = getSplash().getSize().y - F_SPLASH_SCREEN_BEVEL - panelSize.y; 
-		int x_width = panelSize.x;
-		int y_width = panelSize.y;
-		
-		fIconPanel.setBounds(x_coord, y_coord, x_width, y_width);	
-	}
-	
-	/**
-	 * @return
-	 */
-	private int getUsableSplashScreenWidth() {
-		// Splash screen width minus two graphic border bevel widths
-		return getSplash().getSize().x - (F_SPLASH_SCREEN_BEVEL * 2);
-	}
-	
-	/**
-	 * 
-	 */
-	private void loadSplashExtensions() {
-		// Get all splash handler extensions
-		IExtension[] extensions = 
-			Platform.getExtensionRegistry().getExtensionPoint(
-					F_SPLASH_EXTENSION_ID).getExtensions();
-		// Process all splash handler extensions
-		for (int i = 0; i < extensions.length; i++) {
-			processSplashExtension(extensions[i]);
-		}
-	}
-
-	/**
-	 * @param extension
-	 */
-	private void processSplashExtension(IExtension extension) {
-		// Get all splash handler configuration elements
-		IConfigurationElement[] elements = extension.getConfigurationElements();
-		// Process all splash handler configuration elements
-		for (int j = 0; j < elements.length; j++) {
-			processSplashElements(elements[j]);
-		}
-	}
-
-	/**
-	 * @param configurationElement
-	 */
-	private void processSplashElements(
-			IConfigurationElement configurationElement) {
-		// Attribute: icon
-		processSplashElementIcon(configurationElement);
-		// Attribute: tooltip
-		processSplashElementTooltip(configurationElement);
-	}
-
-	/**
-	 * @param configurationElement
-	 */
-	private void processSplashElementTooltip(
-			IConfigurationElement configurationElement) {
-		// Get attribute tooltip
-		String tooltip = configurationElement.getAttribute(F_ELEMENT_TOOLTIP);
-		// If a tooltip is not defined, give it a default
-		if ((tooltip == null) || 
-				(tooltip.length() == 0)) {
-			fTooltipList.add(F_DEFAULT_TOOLTIP);
-		} else {
-			fTooltipList.add(tooltip);
-		}
-	}
-
-	/**
-	 * @param configurationElement
-	 */
-	private void processSplashElementIcon(
-			IConfigurationElement configurationElement) {
-		// Get attribute icon
-		String iconImageFilePath = configurationElement.getAttribute(F_ELEMENT_ICON);
-		// Abort if an icon attribute was not specified
-		if ((iconImageFilePath == null) ||
-				(iconImageFilePath.length() == 0)) {
-			return;
-		}
-		// Create a corresponding image descriptor
-		ImageDescriptor descriptor = 
-			AbstractUIPlugin.imageDescriptorFromPlugin(
-					configurationElement.getNamespaceIdentifier(), 
-					iconImageFilePath);
-		// Abort if no corresponding image was found
-		if (descriptor == null) {
-			return;
-		}
-		// Create the image
-		Image image = descriptor.createImage();
-		// Abort if image creation failed
-		if (image == null) {
-			return;
-		}
-		// Abort if the image does not have dimensions of 50x50
-		if ((image.getBounds().width != F_IMAGE_WIDTH) || 
-				(image.getBounds().height != F_IMAGE_HEIGHT)) {
-			// Dipose of the image
-			image.dispose();
-			return;
-		}
-		// Store the image and tooltip
-		fImageList.add(image);
-	}
-
-	/**
-	 * 
-	 */
-	private void configureUISplash() {
-		// Configure layout
-		GridLayout layout = new GridLayout(1, true);
-		getSplash().setLayout(layout);
-		// Force shell to inherit the splash background
-		getSplash().setBackgroundMode(SWT.INHERIT_DEFAULT);		
-	}	
-	
-	/**
-	 * 
-	 */
-	private void doEventLoop() {
-		Shell splash = getSplash();
-		if (splash.getDisplay().readAndDispatch() == false) {
-			splash.getDisplay().sleep();
-		}
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.splash.AbstractSplashHandler#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		// Check to see if any images were defined
-		if ((fImageList == null) ||
-				fImageList.isEmpty()) {
-			return;
-		}
-		// Dispose of all the images
-		Iterator iterator = fImageList.iterator();
-		while (iterator.hasNext()) {
-			Image image = (Image) iterator.next();
-			image.dispose();
-		}
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/java/InteractiveSplashHandler.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/java/InteractiveSplashHandler.java
deleted file mode 100644
index 37b282b..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/java/InteractiveSplashHandler.java
+++ /dev/null
@@ -1,293 +0,0 @@
-
-package $packageName$;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.splash.AbstractSplashHandler;
-
-/**
- * @since 3.3
- * 
- */
-public class InteractiveSplashHandler extends AbstractSplashHandler {
-	
-	private final static int F_LABEL_HORIZONTAL_INDENT = 175;
-
-	private final static int F_BUTTON_WIDTH_HINT = 80;
-
-	private final static int F_TEXT_WIDTH_HINT = 175;
-	
-	private final static int F_COLUMN_COUNT = 3;
-	
-	private Composite fCompositeLogin;
-	
-	private Text fTextUsername;
-	
-	private Text fTextPassword;
-	
-	private Button fButtonOK;
-	
-	private Button fButtonCancel;
-	
-	private boolean fAuthenticated;
-	
-	/**
-	 * 
-	 */
-	public InteractiveSplashHandler() {
-		fCompositeLogin = null;
-		fTextUsername = null;
-		fTextPassword = null;
-		fButtonOK = null;
-		fButtonCancel = null;
-		fAuthenticated = false;
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.splash.AbstractSplashHandler#init(org.eclipse.swt.widgets.Shell)
-	 */
-	public void init(final Shell splash) {
-		// Store the shell
-		super.init(splash);
-		// Configure the shell layout
-		configureUISplash();
-		// Create UI
-		createUI();		
-		// Create UI listeners
-		createUIListeners();
-		// Force the splash screen to layout
-		splash.layout(true);
-		// Keep the splash screen visible and prevent the RCP application from 
-		// loading until the close button is clicked.
-		doEventLoop();
-	}
-	
-	/**
-	 * 
-	 */
-	private void doEventLoop() {
-		Shell splash = getSplash();
-		while (fAuthenticated == false) {
-			if (splash.getDisplay().readAndDispatch() == false) {
-				splash.getDisplay().sleep();
-			}
-		}
-	}
-
-	/**
-	 * 
-	 */
-	private void createUIListeners() {
-		// Create the OK button listeners
-		createUIListenersButtonOK();
-		// Create the cancel button listeners
-		createUIListenersButtonCancel();
-	}
-
-	/**
-	 * 
-	 */
-	private void createUIListenersButtonCancel() {
-		fButtonCancel.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleButtonCancelWidgetSelected();
-			}
-		});		
-	}
-
-	/**
-	 * 
-	 */
-	private void handleButtonCancelWidgetSelected() {
-		// Abort the loading of the RCP application
-		getSplash().getDisplay().close();
-		System.exit(0);		
-	}
-	
-	/**
-	 * 
-	 */
-	private void createUIListenersButtonOK() {
-		fButtonOK.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleButtonOKWidgetSelected();
-			}
-		});				
-	}
-
-	/**
-	 * 
-	 */
-	private void handleButtonOKWidgetSelected() {
-		String username = fTextUsername.getText();
-		String password = fTextPassword.getText();
-		// Aunthentication is successful if a user provides any username and
-		// any password
-		if ((username.length() > 0) &&
-				(password.length() > 0)) {
-			fAuthenticated = true;
-		} else {
-			MessageDialog.openError(
-					getSplash(),
-					"Authentication Failed",  //$NON-NLS-1$
-					"A username and password must be specified to login.");  //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * 
-	 */
-	private void createUI() {
-		// Create the login panel
-		createUICompositeLogin();
-		// Create the blank spanner
-		createUICompositeBlank();
-		// Create the user name label
-		createUILabelUserName();
-		// Create the user name text widget
-		createUITextUserName();
-		// Create the password label
-		createUILabelPassword();
-		// Create the password text widget
-		createUITextPassword();
-		// Create the blank label
-		createUILabelBlank();
-		// Create the OK button
-		createUIButtonOK();
-		// Create the cancel button
-		createUIButtonCancel();
-	}		
-	
-	/**
-	 * 
-	 */
-	private void createUIButtonCancel() {
-		// Create the button
-		fButtonCancel = new Button(fCompositeLogin, SWT.PUSH);
-		fButtonCancel.setText("Cancel"); //$NON-NLS-1$
-		// Configure layout data
-		GridData data = new GridData(SWT.NONE, SWT.NONE, false, false);
-		data.widthHint = F_BUTTON_WIDTH_HINT;	
-		data.verticalIndent = 10;
-		fButtonCancel.setLayoutData(data);
-	}
-
-	/**
-	 * 
-	 */
-	private void createUIButtonOK() {
-		// Create the button
-		fButtonOK = new Button(fCompositeLogin, SWT.PUSH);
-		fButtonOK.setText("OK"); //$NON-NLS-1$
-		// Configure layout data
-		GridData data = new GridData(SWT.NONE, SWT.NONE, false, false);
-		data.widthHint = F_BUTTON_WIDTH_HINT;
-		data.verticalIndent = 10;
-		fButtonOK.setLayoutData(data);
-	}
-
-	/**
-	 * 
-	 */
-	private void createUILabelBlank() {
-		Label label = new Label(fCompositeLogin, SWT.NONE);
-		label.setVisible(false);
-	}
-
-	/**
-	 * 
-	 */
-	private void createUITextPassword() {
-		// Create the text widget
-		int style = SWT.PASSWORD | SWT.BORDER;
-		fTextPassword = new Text(fCompositeLogin, style);
-		// Configure layout data
-		GridData data = new GridData(SWT.NONE, SWT.NONE, false, false);
-		data.widthHint = F_TEXT_WIDTH_HINT;
-		data.horizontalSpan = 2;
-		fTextPassword.setLayoutData(data);		
-	}
-
-	/**
-	 * 
-	 */
-	private void createUILabelPassword() {
-		// Create the label
-		Label label = new Label(fCompositeLogin, SWT.NONE);
-		label.setText("&Password:"); //$NON-NLS-1$
-		// Configure layout data
-		GridData data = new GridData();
-		data.horizontalIndent = F_LABEL_HORIZONTAL_INDENT;
-		label.setLayoutData(data);					
-	}
-
-	/**
-	 * 
-	 */
-	private void createUITextUserName() {
-		// Create the text widget
-		fTextUsername = new Text(fCompositeLogin, SWT.BORDER);
-		// Configure layout data
-		GridData data = new GridData(SWT.NONE, SWT.NONE, false, false);
-		data.widthHint = F_TEXT_WIDTH_HINT;
-		data.horizontalSpan = 2;
-		fTextUsername.setLayoutData(data);		
-	}
-
-	/**
-	 * 
-	 */
-	private void createUILabelUserName() {
-		// Create the label
-		Label label = new Label(fCompositeLogin, SWT.NONE);
-		label.setText("&User Name:"); //$NON-NLS-1$
-		// Configure layout data
-		GridData data = new GridData();
-		data.horizontalIndent = F_LABEL_HORIZONTAL_INDENT;
-		label.setLayoutData(data);		
-	}
-
-	/**
-	 * 
-	 */
-	private void createUICompositeBlank() {
-		Composite spanner = new Composite(fCompositeLogin, SWT.NONE);
-		GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
-		data.horizontalSpan = F_COLUMN_COUNT;
-		spanner.setLayoutData(data);
-	}
-
-	/**
-	 * 
-	 */
-	private void createUICompositeLogin() {
-		// Create the composite
-		fCompositeLogin = new Composite(getSplash(), SWT.BORDER);
-		GridLayout layout = new GridLayout(F_COLUMN_COUNT, false);
-		fCompositeLogin.setLayout(layout);		
-	}
-
-	/**
-	 * 
-	 */
-	private void configureUISplash() {
-		// Configure layout
-		FillLayout layout = new FillLayout(); 
-		getSplash().setLayout(layout);
-		// Force shell to inherit the splash background
-		getSplash().setBackgroundMode(SWT.INHERIT_DEFAULT);
-	}
-	
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/schema/splashExtension.exsd b/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/schema/splashExtension.exsd
deleted file mode 100644
index 9a55f84..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/splashHandlers/schema/splashExtension.exsd
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="$pluginId$">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="$pluginId$" id="splashExtension" name="Splash Extensions"/>
-      </appInfo>
-      <documentation>
-         [Enter description of this extension point.]
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence minOccurs="1" maxOccurs="unbounded">
-            <element ref="splashExtension"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="splashExtension">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="id" icon="icon"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string" use="required">
-            <annotation>
-               <documentation>
-                  50x50 icon
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="tooltip" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/bin/icons/alt_window_16.gif b/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/bin/icons/alt_window_16.gif
deleted file mode 100644
index 05626b1..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/bin/icons/alt_window_16.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/bin/icons/alt_window_32.gif b/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/bin/icons/alt_window_32.gif
deleted file mode 100644
index b432f88..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/bin/icons/alt_window_32.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/$applicationClass$.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/$applicationClass$.java
deleted file mode 100644
index fcf3519..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/$applicationClass$.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package $packageName$;
-
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class $applicationClass$ implements IApplication {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
-	 */
-	public Object start(IApplicationContext context) {
-		Display display = PlatformUI.createDisplay();
-		try {
-			int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
-			if (returnCode == PlatformUI.RETURN_RESTART) {
-				return IApplication.EXIT_RESTART;
-			}
-			return IApplication.EXIT_OK;
-		} finally {
-			display.dispose();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.equinox.app.IApplication#stop()
-	 */
-	public void stop() {
-		final IWorkbench workbench = PlatformUI.getWorkbench();
-		if (workbench == null)
-			return;
-		final Display display = workbench.getDisplay();
-		display.syncExec(new Runnable() {
-			public void run() {
-				if (!display.isDisposed())
-					workbench.close();
-			}
-		});
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/ApplicationActionBarAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/ApplicationActionBarAdvisor.java
deleted file mode 100644
index 623c61b..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/ApplicationActionBarAdvisor.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-
-/**
- * An action bar advisor is responsible for creating, adding, and disposing of
- * the actions added to a workbench window. Each window will be populated with
- * new actions.
- */
-public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
-
-	// Actions - important to allocate these only in makeActions, and then use
-	// them
-	// in the fill methods. This ensures that the actions aren't recreated
-	// when fillActionBars is called with FILL_PROXY.
-	private IWorkbenchAction exitAction;
-
-	public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
-		super(configurer);
-	}
-
-	protected void makeActions(final IWorkbenchWindow window) {
-		// Creates the actions and registers them.
-		// Registering is needed to ensure that key bindings work.
-		// The corresponding commands keybindings are defined in the plugin.xml
-		// file.
-		// Registering also provides automatic disposal of the actions when
-		// the window is closed.
-
-		exitAction = ActionFactory.QUIT.create(window);
-		register(exitAction);
-	}
-
-	protected void fillMenuBar(IMenuManager menuBar) {
-		MenuManager fileMenu = new MenuManager("&File",
-				IWorkbenchActionConstants.M_FILE);
-		menuBar.add(fileMenu);
-		fileMenu.add(exitAction);
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/ApplicationWorkbenchAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/ApplicationWorkbenchAdvisor.java
deleted file mode 100644
index ac5e997..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/ApplicationWorkbenchAdvisor.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
-
-	private static final String PERSPECTIVE_ID = "$pluginId$.perspective";
-
-	public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(
-			IWorkbenchWindowConfigurer configurer) {
-		return new ApplicationWorkbenchWindowAdvisor(configurer);
-	}
-
-	public String getInitialWindowPerspectiveId() {
-		return PERSPECTIVE_ID;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/ApplicationWorkbenchWindowAdvisor.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/ApplicationWorkbenchWindowAdvisor.java
deleted file mode 100644
index 683fadc..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/ApplicationWorkbenchWindowAdvisor.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package $packageName$;
-
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.application.ActionBarAdvisor;
-import org.eclipse.ui.application.IActionBarConfigurer;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
-
-	public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
-		super(configurer);
-	}
-
-	public ActionBarAdvisor createActionBarAdvisor(
-			IActionBarConfigurer configurer) {
-		return new ApplicationActionBarAdvisor(configurer);
-	}
-
-	public void preWindowOpen() {
-		IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
-		configurer.setInitialSize(new Point(400, 300));
-		configurer.setShowCoolBar(false);
-		configurer.setShowStatusLine(false);
-%if productBranding == false		
-		configurer.setTitle("$windowTitle$");
-%endif
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/Perspective.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/Perspective.java
deleted file mode 100644
index 4d16ecf..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/Perspective.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package $packageName$;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class Perspective implements IPerspectiveFactory {
-
-	public void createInitialLayout(IPageLayout layout) {
-		String editorArea = layout.getEditorArea();
-		layout.setEditorAreaVisible(false);
-		layout.setFixed(true);
-		
-		layout.addStandaloneView(View.ID,  false, IPageLayout.LEFT, 1.0f, editorArea);
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/View.java b/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/View.java
deleted file mode 100644
index 8a70946..0000000
--- a/ui/org.eclipse.pde.ui.templates/templates_3.3/viewRCP/java/View.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package $packageName$;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.ViewPart;
-
-public class View extends ViewPart {
-	public static final String ID = "$pluginId$.view";
-
-	private TableViewer viewer;
-
-	/**
-	 * The content provider class is responsible for providing objects to the
-	 * view. It can wrap existing objects in adapters or simply return objects
-	 * as-is. These objects may be sensitive to the current input of the view,
-	 * or ignore it and always show the same content (like Task List, for
-	 * example).
-	 */
-	class ViewContentProvider implements IStructuredContentProvider {
-		public void inputChanged(Viewer v, Object oldInput, Object newInput) {
-		}
-
-		public void dispose() {
-		}
-
-		public Object[] getElements(Object parent) {
-			return new String[] { "One", "Two", "Three" };
-		}
-	}
-
-	class ViewLabelProvider extends LabelProvider implements
-			ITableLabelProvider {
-		public String getColumnText(Object obj, int index) {
-			return getText(obj);
-		}
-
-		public Image getColumnImage(Object obj, int index) {
-			return getImage(obj);
-		}
-
-		public Image getImage(Object obj) {
-			return PlatformUI.getWorkbench().getSharedImages().getImage(
-					ISharedImages.IMG_OBJ_ELEMENT);
-		}
-	}
-
-	/**
-	 * This is a callback that will allow us to create the viewer and initialize
-	 * it.
-	 */
-	public void createPartControl(Composite parent) {
-		viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL
-				| SWT.V_SCROLL);
-		viewer.setContentProvider(new ViewContentProvider());
-		viewer.setLabelProvider(new ViewLabelProvider());
-		viewer.setInput(getViewSite());
-	}
-
-	/**
-	 * Passing the focus request to the viewer's control.
-	 */
-	public void setFocus() {
-		viewer.getControl().setFocus();
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.tests/.classpath b/ui/org.eclipse.pde.ui.tests/.classpath
deleted file mode 100644
index d108805..0000000
--- a/ui/org.eclipse.pde.ui.tests/.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="Macro Manager"/>
-	<classpathentry kind="src" path="Macro UI"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/ui/org.eclipse.pde.ui.tests/.cvsignore b/ui/org.eclipse.pde.ui.tests/.cvsignore
deleted file mode 100644
index 64a560c..0000000
--- a/ui/org.eclipse.pde.ui.tests/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-bin
-build.xml
-tests.jar
-tests.jar.bin.log
-org.eclipse.pde.ui.tests_*
-temp.folder
diff --git a/ui/org.eclipse.pde.ui.tests/.project b/ui/org.eclipse.pde.ui.tests/.project
deleted file mode 100644
index 2d576be..0000000
--- a/ui/org.eclipse.pde.ui.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.pde.ui.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/ui/org.eclipse.pde.ui.tests/.settings/org.eclipse.jdt.core.prefs b/ui/org.eclipse.pde.ui.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 2f3804f..0000000
--- a/ui/org.eclipse.pde.ui.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,345 +0,0 @@
-#Mon Mar 24 11:13:46 CDT 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/ui/org.eclipse.pde.ui.tests/.settings/org.eclipse.jdt.ui.prefs b/ui/org.eclipse.pde.ui.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index d78458a..0000000
--- a/ui/org.eclipse.pde.ui.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Fri Jan 04 14:03:11 CST 2008
-eclipse.preferences.version=1
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=99
diff --git a/ui/org.eclipse.pde.ui.tests/.settings/org.eclipse.pde.prefs b/ui/org.eclipse.pde.ui.tests/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 763a42a..0000000
--- a/ui/org.eclipse.pde.ui.tests/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Sun Nov 13 13:02:55 EST 2005

-compilers.p.deprecated=2

-compilers.p.no-required-att=0

-compilers.p.not-externalized-att=2

-compilers.p.unknown-attribute=1

-compilers.p.unknown-class=1

-compilers.p.unknown-element=1

-compilers.p.unknown-resource=1

-compilers.p.unresolved-ex-points=0

-compilers.p.unresolved-import=0

-compilers.use-project=true

-eclipse.preferences.version=1

diff --git a/ui/org.eclipse.pde.ui.tests/META-INF/MANIFEST.MF b/ui/org.eclipse.pde.ui.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 40a119b..0000000
--- a/ui/org.eclipse.pde.ui.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: PDE JUnit Tests
-Bundle-SymbolicName: org.eclipse.pde.ui.tests; singleton:=true
-Bundle-Version: 3.1.0
-Bundle-ClassPath: tests.jar
-Bundle-Activator: org.eclipse.pde.internal.ui.tests.macro.MacroPlugin
-Bundle-Vendor: Eclipse.org
-Require-Bundle: org.junit,
- org.eclipse.pde.ui,
- org.eclipse.ui,
- org.eclipse.core.resources,
- org.eclipse.core.runtime,
- org.eclipse.jdt.core,
- org.eclipse.test.performance,
- org.eclipse.ui.ide,
- org.eclipse.team.core,
- org.eclipse.jdt.ui,
- org.eclipse.jdt.launching,
- org.eclipse.pde.core,
- org.eclipse.text
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/AbstractStructuredCommand.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/AbstractStructuredCommand.java
deleted file mode 100644
index a6d09c1..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/AbstractStructuredCommand.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.custom.TableTree;
-import org.eclipse.swt.custom.TableTreeItem;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public abstract class AbstractStructuredCommand extends MacroCommand {
-	protected ArrayList items;
-
-	public AbstractStructuredCommand(WidgetIdentifier wid) {
-		super(wid);
-		items = new ArrayList();
-	}
-
-	public boolean mergeEvent(Event e) {
-		items.clear();
-		processEvent(e);
-		return true;
-	}
-
-	protected Widget[] getItemsForEvent(Event e) {
-		Widget item = null;
-		if (e.item != null)
-			item = (Widget) e.item;
-		else if (e.widget instanceof Item)
-			item = e.widget;
-		if (item != null)
-			return new Widget[] {item};
-		return null;
-	}
-
-	public void processEvent(Event event) {
-		Widget[] eventItems = getItemsForEvent(event);
-
-		if (eventItems != null) {
-			for (int i = 0; i < eventItems.length; i++) {
-				String id = getItemId(eventItems[i]);
-				if (id != null)
-					items.add(id);
-			}
-		}
-	}
-
-	protected String getItemId(Widget item) {
-		MacroManager recorder = MacroPlugin.getDefault().getMacroManager();
-		String id = recorder.resolveWidget(item);
-		if (id != null)
-			return id;
-		Object data = item.getData();
-		if (data != null)
-			return data.getClass().getName();
-		return null;
-	}
-
-	protected void load(Node node, Hashtable lineTable) {
-		super.load(node, lineTable);
-		NodeList children = node.getChildNodes();
-		for (int i = 0; i < children.getLength(); i++) {
-			Node child = children.item(i);
-			if (child.getNodeType() == Node.ELEMENT_NODE && child.getNodeName().equals("item")) {
-				String path = MacroUtil.getAttribute(child, "path");
-				if (path != null)
-					items.add(path);
-			}
-		}
-	}
-
-	protected void writeAdditionalAttributes(PrintWriter writer) {
-	}
-
-	public void write(String indent, PrintWriter writer) {
-		writer.print(indent);
-		writer.print("<command type=\"");
-		writer.print(getType());
-		writer.print("\" contextId=\"");
-		writer.print(getWidgetId().getContextId());
-		writer.print("\" widgetId=\"");
-		writer.print(getWidgetId().getWidgetId());
-		writer.print("\"");
-		writeAdditionalAttributes(writer);
-		writer.println(">");
-		String cindent = indent + "   ";
-		for (int i = 0; i < items.size(); i++) {
-			writer.print(cindent);
-			writer.print("<item path=\"");
-			writer.print((String) items.get(i));
-			writer.println("\"/>");
-		}
-		writer.println(indent + "</command>");
-	}
-
-	protected abstract void playTreeCommand(Tree tree, TreeItem[] matches);
-
-	protected abstract void playTableCommand(Table table, TableItem[] matches);
-
-	protected abstract void playTableTreeCommand(TableTree tableTree, TableTreeItem[] matches);
-
-	public final boolean playback(Display display, Composite parent, IProgressMonitor monitor) throws CoreException {
-		CommandTarget target = MacroUtil.locateCommandTarget(parent, getWidgetId(), getStartLine());
-
-		if (target == null)
-			return false;
-		target.setFocus();
-		MacroUtil.processDisplayEvents(display);
-
-		Widget widget = target.getWidget();
-
-		if (widget == null || widget.isDisposed())
-			return false;
-
-		if (widget instanceof Tree) {
-			TreeItem[] matches = findMatches((Tree) widget);
-			playTreeCommand((Tree) widget, matches);
-		} else if (widget instanceof Table) {
-			TableItem[] matches = findMatches((Table) widget);
-			playTableCommand((Table) widget, matches);
-		} else if (widget instanceof TableTree) {
-			TableTreeItem[] matches = findMatches((TableTree) widget);
-			playTableTreeCommand((TableTree) widget, matches);
-		}
-		return true;
-	}
-
-	private TreeItem[] findMatches(Tree tree) {
-		TreeItem[] children = tree.getItems();
-		ArrayList matches = new ArrayList();
-		for (int i = 0; i < items.size(); i++) {
-			String itemId = (String) items.get(i);
-			TreeItem item = findTreeItem(children, itemId);
-			if (item != null)
-				matches.add(item);
-		}
-		return (TreeItem[]) matches.toArray(new TreeItem[matches.size()]);
-	}
-
-	private TableItem[] findMatches(Table table) {
-		TableItem[] elements = table.getItems();
-		ArrayList matches = new ArrayList();
-
-		for (int i = 0; i < items.size(); i++) {
-			String itemId = (String) items.get(i);
-			TableItem item = findTableItem(elements, itemId);
-			if (item != null)
-				matches.add(item);
-		}
-		return (TableItem[]) matches.toArray(new TableItem[matches.size()]);
-	}
-
-	private TableTreeItem[] findMatches(TableTree tableTree) {
-		TableTreeItem[] children = tableTree.getItems();
-		ArrayList matches = new ArrayList();
-
-		for (int i = 0; i < items.size(); i++) {
-			String itemId = (String) items.get(i);
-			TableTreeItem item = findTableTreeItem(children, itemId);
-			if (item != null)
-				matches.add(item);
-		}
-		return (TableTreeItem[]) matches.toArray(new TableTreeItem[matches.size()]);
-	}
-
-	private TreeItem findTreeItem(TreeItem[] children, String itemId) {
-		for (int i = 0; i < children.length; i++) {
-			TreeItem item = children[i];
-			String id = getItemId(item);
-			//Test the item itself
-			if (id != null && id.equals(itemId))
-				return item;
-			int ccount = item.getItemCount();
-			if (ccount > 0) {
-				//Test the item's children
-				TreeItem citem = findTreeItem(item.getItems(), itemId);
-				if (citem != null)
-					return citem;
-			}
-		}
-		return null;
-	}
-
-	private TableItem findTableItem(TableItem[] children, String itemId) {
-		for (int i = 0; i < children.length; i++) {
-			TableItem item = children[i];
-			String id = getItemId(item);
-
-			if (id != null && id.equals(itemId))
-				return item;
-		}
-		return null;
-	}
-
-	private TableTreeItem findTableTreeItem(TableTreeItem[] children, String itemId) {
-		for (int i = 0; i < children.length; i++) {
-			TableTreeItem item = children[i];
-			String id = getItemId(item);
-			//Test the item itself
-			if (id != null && id.equals(itemId))
-				return item;
-			int ccount = item.getItemCount();
-			if (ccount > 0) {
-				//Test the item's children
-				TableTreeItem citem = findTableTreeItem(item.getItems(), itemId);
-				if (citem != null)
-					return citem;
-			}
-		}
-		return null;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/BooleanSelectionCommand.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/BooleanSelectionCommand.java
deleted file mode 100644
index bf55dc8..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/BooleanSelectionCommand.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.swt.widgets.Widget;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class BooleanSelectionCommand extends MacroCommand {
-	public static final String TYPE = "select";
-	private Boolean selection;
-	private ArrayList path;
-
-	public BooleanSelectionCommand(WidgetIdentifier wid) {
-		super(wid);
-	}
-
-	public String getType() {
-		return TYPE;
-	}
-
-	public void processEvent(Event e) {
-		selection = getSelection(e.widget);
-		if (e.widget instanceof MenuItem) {
-			//System.out.println("Item="+e.widget+" data = "+e.widget.getData());
-			path = getPath((MenuItem) e.widget);
-		}
-	}
-
-	private Boolean getSelection(Widget widget) {
-		if ((widget.getStyle() & (SWT.CHECK | SWT.RADIO)) == 0)
-			return null;
-		if (widget instanceof Button)
-			return new Boolean(((Button) widget).getSelection());
-		if (widget instanceof ToolItem)
-			return new Boolean(((ToolItem) widget).getSelection());
-		if (widget instanceof MenuItem)
-			return new Boolean(((MenuItem) widget).getSelection());
-		return null;
-	}
-
-	private ArrayList getPath(MenuItem item) {
-		ArrayList segments = new ArrayList();
-		Object data = item.getData();
-
-		if (data instanceof ContributionItem) {
-			ContributionItem aitem = (ContributionItem) data;
-			MenuManager manager = (MenuManager) aitem.getParent();
-			while (manager != null) {
-				String id = manager.getId();
-				if (id == null)
-					break;
-				segments.add(0, id);
-				manager = (MenuManager) manager.getParent();
-			}
-		}
-		return segments.size() > 0 ? segments : null;
-	}
-
-	protected void load(Node node, Hashtable lineTable) {
-		super.load(node, lineTable);
-		String sel = MacroUtil.getAttribute(node, "selection");
-		if (sel != null) {
-			selection = sel.equals("true") ? Boolean.TRUE : Boolean.FALSE;
-		}
-		NodeList children = node.getChildNodes();
-		for (int i = 0; i < children.getLength(); i++) {
-			Node child = children.item(i);
-			if (child.getNodeType() == Node.ELEMENT_NODE && child.getNodeName().equals("parent")) {
-				if (path == null)
-					path = new ArrayList();
-				path.add(MacroUtil.getAttribute(child, "widgetId"));
-			}
-		}
-	}
-
-	public void write(String indent, PrintWriter writer) {
-		writer.print(indent);
-		writer.print("<command type=\"");
-		writer.print(getType());
-		writer.print("\" contextId=\"");
-		writer.print(getWidgetId().getContextId());
-		writer.print("\" widgetId=\"");
-		writer.print(getWidgetId().getWidgetId());
-		writer.print("\"");
-		if (selection != null) {
-			writer.print(" selection=\"");
-			writer.print(selection.equals(Boolean.TRUE) ? "true" : "false");
-			writer.print("\"");
-		}
-		if (path != null) {
-			writer.println(">");
-			String pindent = indent + "   ";
-			for (int i = 0; i < path.size(); i++) {
-				writer.print(pindent);
-				writer.print("<parent widgetId=\"");
-				writer.print((String) path.get(i));
-				writer.println("\"/>");
-			}
-			writer.print(indent);
-			writer.println("</command>");
-		} else
-			writer.println("/>");
-	}
-
-	public boolean playback(Display display, Composite parent, IProgressMonitor monitor) throws CoreException {
-		CommandTarget target = MacroUtil.locateCommandTarget(parent, getWidgetId(), path, getStartLine());
-		if (target == null)
-			return false;
-		target.setFocus();
-		Widget widget = target.getWidget();
-
-		if ((widget.getStyle() & (SWT.CHECK | SWT.RADIO)) == 0) {
-			doClick(widget);
-		} else if (selection != null)
-			doSelect(widget);
-		return true;
-	}
-
-	private void doClick(Widget widget) throws CoreException {
-		Event e = new Event();
-		e.type = SWT.Selection;
-		e.widget = widget;
-		widget.notifyListeners(e.type, e);
-	}
-
-	protected Event createMouseEvent(Widget widget, int type) {
-		Event e = new Event();
-		e.type = type;
-		e.button = 1;
-		e.widget = widget;
-		return e;
-	}
-
-	private void doSelect(Widget widget) throws CoreException {
-		if (widget instanceof Button)
-			((Button) widget).setSelection(selection.booleanValue());
-		else if (widget instanceof ToolItem)
-			((ToolItem) widget).setSelection(selection.booleanValue());
-		else if (widget instanceof MenuItem)
-			((MenuItem) widget).setSelection(selection.booleanValue());
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/CheckCommand.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/CheckCommand.java
deleted file mode 100644
index 23e51ce..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/CheckCommand.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import org.eclipse.swt.custom.TableTree;
-import org.eclipse.swt.custom.TableTreeItem;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-
-public class CheckCommand extends ToggleStructuredCommand {
-	public static final String TYPE = "item-check";
-
-	/**
-	 * @param wid
-	 */
-	public CheckCommand(WidgetIdentifier wid) {
-		super(wid);
-	}
-
-	public String getType() {
-		return TYPE;
-	}
-
-	public void processEvent(Event event) {
-		super.processEvent(event);
-		Widget item = event.item;
-		if (item instanceof TreeItem)
-			value = ((TreeItem) item).getChecked();
-		else if (item instanceof TableItem)
-			value = ((TableItem) item).getChecked();
-		else if (item instanceof TableTreeItem)
-			value = ((TableTreeItem) item).getChecked();
-	}
-
-	protected void playTreeCommand(Tree tree, TreeItem[] matches) {
-		for (int i = 0; i < matches.length; i++) {
-			matches[i].setChecked(getValue());
-		}
-	}
-
-	protected void playTableCommand(Table table, TableItem[] matches) {
-		for (int i = 0; i < matches.length; i++) {
-			matches[i].setChecked(getValue());
-		}
-	}
-
-	protected void playTableTreeCommand(TableTree tableTree, TableTreeItem[] matches) {
-		for (int i = 0; i < matches.length; i++) {
-			matches[i].setChecked(getValue());
-		}
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/ChoiceSelectionCommand.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/ChoiceSelectionCommand.java
deleted file mode 100644
index 769fbf2..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/ChoiceSelectionCommand.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.io.PrintWriter;
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.swt.widgets.Widget;
-import org.w3c.dom.Node;
-
-public class ChoiceSelectionCommand extends MacroCommand {
-	public static final String TYPE = "choice-select";
-
-	private String choiceId;
-
-	public ChoiceSelectionCommand(WidgetIdentifier wid) {
-		super(wid);
-	}
-
-	public String getType() {
-		return TYPE;
-	}
-
-	public void processEvent(Event e) {
-		choiceId = computeChoiceId(e.widget, e.item);
-	}
-
-	private String computeChoiceId(Widget widget, Widget item) {
-		int index = -1;
-
-		if (widget instanceof Combo) {
-			Combo combo = (Combo) widget;
-			index = combo.getSelectionIndex();
-		} else if (widget instanceof CCombo) {
-			CCombo combo = (CCombo) widget;
-			index = combo.getSelectionIndex();
-		} else {
-			String id = MacroPlugin.getDefault().getMacroManager().resolveWidget(item);
-			if (id != null)
-				return id;
-			if (widget instanceof TabFolder) {
-				TabFolder tabFolder = (TabFolder) widget;
-				TabItem tabItem = (TabItem) item;
-				index = tabFolder.indexOf(tabItem);
-			} else if (widget instanceof CTabFolder) {
-				CTabFolder tabFolder = (CTabFolder) widget;
-				CTabItem tabItem = (CTabItem) item;
-				index = tabFolder.indexOf(tabItem);
-			}
-		}
-		return (index != -1) ? getPositionId(index) : null;
-	}
-
-	private String getPositionId(int index) {
-		return "item#" + index;
-	}
-
-	protected void load(Node node, Hashtable lineTable) {
-		super.load(node, lineTable);
-		choiceId = MacroUtil.getAttribute(node, "choiceId");
-	}
-
-	public void write(String indent, PrintWriter writer) {
-		writer.print(indent);
-		writer.print("<command type=\"");
-		writer.print(getType());
-		writer.print("\" contextId=\"");
-		writer.print(getWidgetId().getContextId());
-		writer.print("\" widgetId=\"");
-		writer.print(getWidgetId().getWidgetId());
-		writer.print("\"");
-		if (choiceId != null) {
-			writer.print(" choiceId=\"");
-			writer.print(choiceId);
-			writer.print("\"");
-		}
-		writer.println("/>");
-	}
-
-	public boolean playback(Display display, Composite parent, IProgressMonitor monitor) throws CoreException {
-		CommandTarget target = MacroUtil.locateCommandTarget(parent, getWidgetId(), getStartLine());
-		if (target == null)
-			return false;
-		target.setFocus();
-		Widget widget = target.getWidget();
-		if (widget instanceof TabFolder)
-			doSelect((TabFolder) widget);
-		else if (widget instanceof CTabFolder)
-			doSelect((CTabFolder) widget);
-		else if (widget instanceof Combo)
-			doSelect((Combo) widget);
-		else if (widget instanceof CCombo)
-			doSelect((CCombo) widget);
-		return true;
-	}
-
-	private void doSelect(TabFolder tabFolder) {
-		TabItem[] items = tabFolder.getItems();
-		for (int i = 0; i < items.length; i++) {
-			TabItem item = items[i];
-			String id = computeChoiceId(tabFolder, item);
-			if (id != null && id.equals(choiceId)) {
-				tabFolder.setSelection(i);
-				break;
-			}
-		}
-	}
-
-	private void doSelect(CTabFolder tabFolder) {
-		CTabItem[] items = tabFolder.getItems();
-		for (int i = 0; i < items.length; i++) {
-			CTabItem item = items[i];
-			String id = computeChoiceId(tabFolder, item);
-			if (id != null && id.equals(choiceId)) {
-				tabFolder.setSelection(i);
-				break;
-			}
-		}
-	}
-
-	private void doSelect(Combo combo) {
-		int index = getIndexFromChoice();
-		if (index != -1)
-			combo.select(index);
-	}
-
-	private void doSelect(CCombo combo) {
-		int index = getIndexFromChoice();
-		if (index != -1)
-			combo.select(index);
-	}
-
-	private int getIndexFromChoice() {
-		int loc = choiceId.indexOf('#');
-		if (loc == -1)
-			return -1;
-		try {
-			return new Integer(choiceId.substring(loc + 1)).intValue();
-		} catch (NumberFormatException e) {
-			return -1;
-		}
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/CommandTarget.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/CommandTarget.java
deleted file mode 100644
index 91571d0..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/CommandTarget.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Widget;
-
-public class CommandTarget {
-	private Widget widget;
-	private Object context;
-
-	public CommandTarget(Widget widget, Object context) {
-		this.widget = widget;
-		this.context = context;
-	}
-
-	public void ensureVisible() {
-	}
-
-	public Widget getWidget() {
-		return widget;
-	}
-
-	public Object getContext() {
-		return context;
-	}
-
-	public void setFocus() {
-		ensureVisible();
-		Display display = widget.getDisplay();
-		if (widget instanceof Control) {
-			Control c = (Control) widget;
-			if (!c.equals(display.getFocusControl()))
-				c.setFocus();
-		}
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/EditorCommandTarget.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/EditorCommandTarget.java
deleted file mode 100644
index f131ffd..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/EditorCommandTarget.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-
-public class EditorCommandTarget extends CommandTarget {
-	/**
-	 * @param widget
-	 * @param context
-	 */
-	public EditorCommandTarget(Widget widget, IEditorPart editor) {
-		super(widget, editor);
-	}
-
-	public IEditorPart getEditor() {
-		return (IEditorPart) getContext();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.macro.CommandTarget#ensureVisible()
-	 */
-	public void ensureVisible() {
-		IEditorPart editor = getEditor();
-		IWorkbenchPage page = editor.getEditorSite().getPage();
-		page.activate(editor);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/ExpansionCommand.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/ExpansionCommand.java
deleted file mode 100644
index 9f491f9..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/ExpansionCommand.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TableTree;
-import org.eclipse.swt.custom.TableTreeItem;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-
-public class ExpansionCommand extends ToggleStructuredCommand {
-	public static final String TYPE = "item-expand";
-
-	/**
-	 * @param wid
-	 */
-	public ExpansionCommand(WidgetIdentifier wid) {
-		super(wid);
-	}
-
-	public void processEvent(Event event) {
-		super.processEvent(event);
-		Widget item = event.item;
-
-		if (item instanceof TreeItem)
-			value = !((TreeItem) item).getExpanded();
-		else if (item instanceof TableTreeItem)
-			value = !((TableTreeItem) item).getExpanded();
-	}
-
-	protected void playTreeCommand(Tree tree, TreeItem[] matches) {
-		for (int i = 0; i < matches.length; i++) {
-			matches[i].setExpanded(getValue());
-			fireEvent(tree, matches[i]);
-		}
-	}
-
-	private void fireEvent(Widget widget, Widget item) {
-		Event event = new Event();
-		event.type = getValue() ? SWT.Expand : SWT.Collapse;
-		event.widget = widget;
-		event.item = item;
-		widget.notifyListeners(event.type, event);
-	}
-
-	protected void playTableCommand(Table table, TableItem[] matches) {
-	}
-
-	protected void playTableTreeCommand(TableTree tableTree, TableTreeItem[] matches) {
-		for (int i = 0; i < matches.length; i++) {
-			matches[i].setExpanded(getValue());
-			fireEvent(tableTree, matches[i]);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.macro.SelectionCommand#getKind()
-	 */
-	public String getType() {
-		return TYPE;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/FocusCommand.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/FocusCommand.java
deleted file mode 100644
index e8aabc3..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/FocusCommand.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.io.PrintWriter;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-
-public class FocusCommand extends MacroCommand {
-	public static final String TYPE = "focus";
-
-	public FocusCommand(WidgetIdentifier wid) {
-		super(wid);
-	}
-
-	public boolean mergeEvent(Event e) {
-		// we can directly merge repeated focus requests
-		// on the same widget
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.macro.MacroCommand#getType()
-	 */
-	public String getType() {
-		return TYPE;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.macro.MacroCommand#processEvent(org.eclipse.swt.widgets.Event)
-	 */
-	public void processEvent(Event e) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.macro.IWritable#write(java.lang.String, java.io.PrintWriter)
-	 */
-	public void write(String indent, PrintWriter writer) {
-		writer.print(indent);
-		writer.print("<command type=\"");
-		writer.print(getType());
-		writer.print("\" contextId=\"");
-		writer.print(getWidgetId().getContextId());
-		writer.print("\" widgetId=\"");
-		writer.print(getWidgetId().getWidgetId());
-		writer.print("\"");
-		writer.println("/>");
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.macro.IPlayable#playback(org.eclipse.swt.widgets.Composite)
-	 */
-	public boolean playback(Display display, Composite parent, IProgressMonitor monitor) throws CoreException {
-		if (parent.isDisposed())
-			return false;
-		CommandTarget target = MacroUtil.locateCommandTarget(parent, getWidgetId(), getStartLine());
-		if (target != null)
-			target.setFocus();
-		return true;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/IIndexHandler.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/IIndexHandler.java
deleted file mode 100644
index 8313495..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/IIndexHandler.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Classes that implement this interface are registered with
- * the macro manager to handle cases where the user interrupted
- * the recording process to insert a named index. Upon playback,
- * index handler will be called to handle the named index
- * when reached in the script.
- *
- * @since 3.1
- */
-
-public interface IIndexHandler {
-	/**
-	 * Evaluates the state of the platform at the provided script
-	 * index. Error status returned from the method will cause
-	 * the script manager to stop the script execution and
-	 * throw a <code>CoreException</code>.
-	 * 
-	 * @param shell the active shell when the index was reached
-	 * @param indexId the unique identifier of the index
-	 * inserted in the script
-	 * @return <code>Status.OK_STATUS</code> if the script can proceed, or 
-	 * an error status otherwise.
-	 */
-	IStatus processIndex(Shell shell, String indexId);
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/IPlayable.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/IPlayable.java
deleted file mode 100644
index 835306a..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/IPlayable.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-
-public interface IPlayable {
-	boolean playback(Display display, Composite parent, IProgressMonitor monitor) throws CoreException;
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/IRecorderListener.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/IRecorderListener.java
deleted file mode 100644
index a0889f1..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/IRecorderListener.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-public interface IRecorderListener {
-	int STOP = 1;
-	int INDEX = 2;
-
-	void recordingStarted();
-
-	void recordingStopped();
-
-	/**
-	 * Called when the user pressed Ctrl+Shift+F10 (index)
-	 * or Ctrl+Shift+F11 (stop) to interrupt
-	 * the recording process. Clients may use this event
-	 * to insert named indexes, stop the recording etc.
-	 * @param type <code>STOP</code> or <code>INDEX</code>
-	 */
-	void recordingInterrupted(int type);
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/IWidgetResolver.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/IWidgetResolver.java
deleted file mode 100644
index 3a56ee4..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/IWidgetResolver.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * This interface is registered using extension point 
- * <code>org.eclipse.ui.macro</code> return unique identifier
- * from a provided widget. The identifier must be reproducable
- * between sessions so that it can be used to locate the
- * widget on playback.
- * 
- * @since 3.1
- */
-public interface IWidgetResolver {
-	/**
-	 * Returns a unique identifier for the provided widget.
-	 * @param widget the widget to identify
-	 * @return unique identifier that can be used to locate the
-	 * widget or <code>null</code> if none can be found.
-	 */
-	String getUniqueId(Widget widget);
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/IWritable.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/IWritable.java
deleted file mode 100644
index 6615269..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/IWritable.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.io.PrintWriter;
-
-public interface IWritable {
-	void write(String indent, PrintWriter writer);
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/KeyCommand.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/KeyCommand.java
deleted file mode 100644
index 823da13..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/KeyCommand.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.io.PrintWriter;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.commands.ExecutionException;
-import org.eclipse.ui.commands.ICommand;
-import org.eclipse.ui.commands.IWorkbenchCommandSupport;
-import org.eclipse.ui.commands.NotHandledException;
-
-public class KeyCommand extends MacroCommand {
-	public static final String TYPE = "key-binding";
-	private String commandId;
-
-	/**
-	 * @param widgetId
-	 */
-	public KeyCommand(WidgetIdentifier widgetId, String commandId) {
-		super(widgetId);
-		this.commandId = commandId;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.macro.MacroCommand#getType()
-	 */
-	public String getType() {
-		return TYPE;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.macro.MacroCommand#processEvent(org.eclipse.swt.widgets.Event)
-	 */
-	public void processEvent(Event e) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.macro.IWritable#write(java.lang.String, java.io.PrintWriter)
-	 */
-	public void write(String indent, PrintWriter writer) {
-		writer.print(indent);
-		writer.print("<command type=\"");
-		writer.print(getType());
-		writer.print("\" contextId=\"");
-		writer.print(getWidgetId().getContextId());
-		writer.print("\" widgetId=\"");
-		writer.print(getWidgetId().getWidgetId());
-		writer.print("\" commandId=\"");
-		writer.print(commandId);
-		writer.println("\"/>");
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.internal.macro.IPlayable#playback(org.eclipse.swt.widgets.Display, org.eclipse.swt.widgets.Composite, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public boolean playback(Display display, Composite parent, IProgressMonitor monitor) throws CoreException {
-		CommandTarget target = MacroUtil.locateCommandTarget(parent, getWidgetId(), getStartLine());
-		if (target == null)
-			return false;
-		IWorkbenchCommandSupport csupport = PlatformUI.getWorkbench().getCommandSupport();
-		ICommand command = csupport.getCommandManager().getCommand(commandId);
-		if (command != null) {
-			try {
-				command.execute(null);
-				return true;
-			} catch (ExecutionException e) {
-				MacroPlugin.logException(e);
-			} catch (NotHandledException e) {
-				MacroPlugin.logException(e);
-			}
-		}
-		return false;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/Macro.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/Macro.java
deleted file mode 100644
index 6ea3756..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/Macro.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Stack;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-import org.w3c.dom.Node;
-
-public class Macro implements IWritable, IPlayable {
-	private static final String SYNTAX_VERSION = "0.1";
-	private transient IIndexHandler indexHandler;
-	ArrayList shells;
-	private String name;
-	private Stack shellStack;
-
-	public Macro() {
-		shells = new ArrayList();
-	}
-
-	public Macro(String name) {
-		this();
-		this.name = name;
-	}
-
-	void addShell(Node node, Hashtable lineTable) {
-		String sid = MacroUtil.getAttribute(node, "id");
-		MacroCommandShell shell = new MacroCommandShell(null, sid);
-		shell.load(node, lineTable);
-		shells.add(shell);
-	}
-
-	public void initializeForRecording(Display display) {
-		shellStack = new Stack();
-		shells.clear();
-		Shell currentShell = display.getActiveShell();
-		MacroCommandShell commandShell = createCommandShell(currentShell);
-		shellStack.push(commandShell);
-		shells.add(commandShell);
-	}
-
-	private MacroCommandShell createCommandShell(Shell shell) {
-		WidgetIdentifier wi = MacroUtil.getWidgetIdentifier(shell);
-		if (wi == null)
-			return null;
-		return new MacroCommandShell(shell, wi.getWidgetId());
-	}
-
-	private boolean isCurrent(Shell shell) {
-		if (shellStack.isEmpty())
-			return false;
-		MacroCommandShell cshell = (MacroCommandShell) shellStack.peek();
-		return cshell.tracks(shell);
-	}
-
-	public void stopRecording() {
-		reset();
-	}
-
-	public boolean addEvent(Event event) throws Exception {
-		if (isIgnorableEvent(event))
-			return false;
-		try {
-			if (event.widget instanceof Shell) {
-				switch (event.type) {
-					case SWT.Activate :
-						activateShell((Shell) event.widget);
-						break;
-					case SWT.Close :
-						boolean stop = closeShell((Shell) event.widget);
-						if (stop)
-							return true;
-						break;
-				}
-			} else if (getTopShell() != null) {
-				getTopShell().addEvent(event);
-			}
-		} catch (Exception e) {
-			throw e;
-		}
-		return false;
-	}
-
-	private boolean isIgnorableEvent(Event e) {
-		Shell shell = e.display.getActiveShell();
-		if (shell != null) {
-			Boolean ivalue = (Boolean) shell.getData(MacroManager.IGNORE);
-			if (ivalue != null && ivalue.equals(Boolean.TRUE))
-				return true;
-		}
-		return false;
-	}
-
-	public void addPause() {
-		getTopShell().addPause();
-	}
-
-	public void addIndex(String id) {
-		getTopShell().addIndex(id);
-	}
-
-	public MacroCommandShell getTopShell() {
-		if (shellStack.isEmpty())
-			return null;
-		return (MacroCommandShell) shellStack.peek();
-	}
-
-	private void activateShell(Shell shell) {
-		Object data = shell.getData();
-		if (data instanceof Dialog) {
-			if (!isCurrent(shell)) {
-				MacroCommandShell commandShell = createCommandShell(shell);
-				getTopShell().addCommandShell(commandShell);
-				shellStack.push(commandShell);
-			}
-		} else if (data instanceof Window) {
-			updateStack();
-			if (!isCurrent(shell)) {
-				// pop the current
-				popStack();
-				MacroCommandShell commandShell = createCommandShell(shell);
-				shellStack.push(commandShell);
-				shells.add(commandShell);
-			}
-		}
-	}
-
-	private void popStack() {
-		if (shellStack.isEmpty())
-			return;
-		MacroCommandShell top = (MacroCommandShell) shellStack.pop();
-		top.extractExpectedReturnCode();
-	}
-
-	private boolean closeShell(Shell shell) {
-		if (shellStack.isEmpty())
-			return false;
-		MacroCommandShell top = (MacroCommandShell) shellStack.peek();
-		if (top.tracks(shell))
-			popStack();
-		return shellStack.isEmpty();
-	}
-
-	private void updateStack() {
-		while (shellStack.size() > 0) {
-			MacroCommandShell top = getTopShell();
-			if (top.isDisposed())
-				popStack();
-			else
-				break;
-		}
-	}
-
-	private void closeSecondaryShells() {
-	}
-
-	public String[] getExistingIndices() {
-		ArrayList list = new ArrayList();
-		for (int i = 0; i < shells.size(); i++) {
-			MacroCommandShell shell = (MacroCommandShell) shells.get(i);
-			shell.addExistingIndices(list);
-		}
-		return (String[]) list.toArray(new String[list.size()]);
-	}
-
-	public boolean playback(Display display, Composite parent, IProgressMonitor monitor) throws CoreException {
-		reset();
-		String mname = name != null ? name : "macro";
-		monitor.beginTask("Executing " + mname + " ...", shells.size());
-		for (int i = 0; i < shells.size(); i++) {
-			MacroCommandShell shell = (MacroCommandShell) shells.get(i);
-			shell.setIndexHandler(getIndexHandler());
-			final Shell[] sh = new Shell[1];
-			display.syncExec(new Runnable() {
-				public void run() {
-					sh[0] = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-				}
-			});
-			try {
-				boolean result = shell.playback(display, sh[0], new SubProgressMonitor(monitor, 1));
-				if (!result)
-					return false;
-			} catch (CoreException e) {
-				closeSecondaryShells();
-				throw e;
-			}
-		}
-		return true;
-	}
-
-	private void reset() {
-		shellStack = null;
-	}
-
-	public void write(String indent, PrintWriter writer) {
-		writer.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
-		writer.print("<macro version=\"");
-		writer.print(SYNTAX_VERSION);
-		writer.println("\">");
-		String cindent = "   ";
-		for (int i = 0; i < shells.size(); i++) {
-			MacroCommandShell cshell = (MacroCommandShell) shells.get(i);
-			cshell.write(cindent, writer);
-		}
-		writer.println("</macro>");
-	}
-
-	public IIndexHandler getIndexHandler() {
-		return indexHandler;
-	}
-
-	public void setIndexHandler(IIndexHandler indexHandler) {
-		this.indexHandler = indexHandler;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroCommand.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroCommand.java
deleted file mode 100644
index b6c73c6..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroCommand.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.util.Hashtable;
-import java.util.Map;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.swt.widgets.Event;
-import org.w3c.dom.Node;
-
-public abstract class MacroCommand implements IWritable, IPlayable {
-	private WidgetIdentifier widgetId;
-	private int[] range;
-
-	public MacroCommand(WidgetIdentifier widgetId) {
-		this.widgetId = widgetId;
-	}
-
-	public abstract String getType();
-
-	public abstract void processEvent(Event e);
-
-	protected void load(Node node, Hashtable lineTable) {
-		String cid = MacroUtil.getAttribute(node, "contextId");
-		String wid = MacroUtil.getAttribute(node, "widgetId");
-		if (wid != null && cid != null)
-			widgetId = new WidgetIdentifier(new Path(cid), new Path(wid));
-		bindSourceLocation(node, lineTable);
-	}
-
-	void bindSourceLocation(Node node, Map lineTable) {
-		Integer[] lines = (Integer[]) lineTable.get(node);
-		if (lines != null) {
-			range = new int[2];
-			range[0] = lines[0].intValue();
-			range[1] = lines[1].intValue();
-		}
-	}
-
-	public int getStartLine() {
-		if (range == null)
-			return -1;
-		return range[0];
-	}
-
-	public int getStopLine() {
-		if (range == null)
-			return -1;
-		return range[1];
-	}
-
-	public boolean mergeEvent(Event e) {
-		return false;
-	}
-
-	public WidgetIdentifier getWidgetId() {
-		return widgetId;
-	}
-
-	public String toString() {
-		return "MacroCommand [" + getType() + ", line " + getStartLine() + "]";
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroCommandShell.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroCommandShell.java
deleted file mode 100644
index 71765b8..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroCommandShell.java
+++ /dev/null
@@ -1,548 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.SWTError;
-import org.eclipse.swt.SWTException;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.custom.TableTree;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.commands.IWorkbenchCommandSupport;
-import org.eclipse.ui.keys.KeySequence;
-import org.eclipse.ui.keys.KeyStroke;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class MacroCommandShell extends MacroInstruction {
-	private ArrayList commands;
-
-	private int expectedReturnCode;
-
-	private transient Event lastEvent;
-
-	private transient Display display;
-
-	private transient Shell shell;
-
-	private transient IIndexHandler indexHandler;
-
-	private transient Window window;
-
-	private static class NestedShell implements Listener, Runnable {
-		private MacroCommandShell cshell;
-
-		private Display display;
-
-		private Shell nshell;
-
-		private boolean released;
-
-		private CoreException exception;
-
-		private IProgressMonitor monitor;
-
-		public NestedShell(Display display, MacroCommandShell cshell, IProgressMonitor monitor) {
-			this.display = display;
-			this.cshell = cshell;
-			this.monitor = monitor;
-		}
-
-		public void handleEvent(Event e) {
-			if (e.widget instanceof Shell) {
-				// shell activated
-				Shell shell = (Shell) e.widget;
-				IPath path = MacroUtil.getShellId(shell);
-				String sid = path.toString();
-				if (sid.equals(cshell.getId())) {
-					shell.getDisplay().removeFilter(SWT.Activate, this);
-					released = true;
-					this.nshell = shell;
-					shell.getDisplay().asyncExec(this);
-				}
-			}
-		}
-
-		public boolean getResult() {
-			return cshell.matchesReturnCode();
-		}
-
-		public boolean isReleased() {
-			return released;
-		}
-
-		public void run() {
-			try {
-				cshell.playback(display, nshell, monitor);
-			} catch (CoreException e) {
-				this.exception = e;
-				if (nshell != null && !nshell.isDisposed())
-					nshell.close();
-			}
-		}
-
-		public CoreException getException() {
-			return exception;
-		}
-	}
-
-	public MacroCommandShell() {
-		this(null, null);
-	}
-
-	public MacroCommandShell(Shell shell, String path) {
-		super(path);
-		commands = new ArrayList();
-		this.shell = shell;
-		hookWindow(false);
-	}
-
-	private void hookWindow(boolean playback) {
-		if (shell != null) {
-			if (!playback)
-				doHookWindow();
-			else
-				display.syncExec(new Runnable() {
-					public void run() {
-						doHookWindow();
-					}
-				});
-		}
-	}
-
-	private void doHookWindow() {
-		Object data = shell.getData();
-		if (data != null && data instanceof Window)
-			this.window = (Window) data;
-	}
-
-	public void load(Node node, Hashtable lineTable) {
-		super.load(node, lineTable);
-
-		String codeId = MacroUtil.getAttribute(node, "return-code");
-		if (codeId != null) {
-			try {
-				expectedReturnCode = new Integer(codeId).intValue();
-			} catch (NumberFormatException e) {
-			}
-		}
-		NodeList children = node.getChildNodes();
-		for (int i = 0; i < children.getLength(); i++) {
-			Node child = children.item(i);
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				String name = child.getNodeName();
-				if (name.equals("command"))
-					processCommand(child, lineTable);
-				else if (name.equals("shell"))
-					processShell(child, lineTable);
-				else if (name.equals("index"))
-					processIndex(child, lineTable);
-			}
-		}
-	}
-
-	private void processCommand(Node node, Hashtable lineTable) {
-		String wid = MacroUtil.getAttribute(node, "widgetId");
-		String cid = MacroUtil.getAttribute(node, "contextId");
-		String type = MacroUtil.getAttribute(node, "type");
-		if (type == null)
-			return;
-		MacroCommand command = null;
-		WidgetIdentifier wi = (wid != null && cid != null) ? new WidgetIdentifier(new Path(wid), new Path(cid)) : null;
-		if (type.equals(ModifyCommand.TYPE))
-			command = new ModifyCommand(wi);
-		else if (type.equals(BooleanSelectionCommand.TYPE))
-			command = new BooleanSelectionCommand(wi);
-		else if (type.equals(StructuredSelectionCommand.ITEM_SELECT) || type.equals(StructuredSelectionCommand.DEFAULT_SELECT))
-			command = new StructuredSelectionCommand(wi, type);
-		else if (type.equals(ExpansionCommand.TYPE))
-			command = new ExpansionCommand(wi);
-		else if (type.equals(CheckCommand.TYPE))
-			command = new CheckCommand(wi);
-		else if (type.equals(FocusCommand.TYPE))
-			command = new FocusCommand(wi);
-		else if (type.equals(ChoiceSelectionCommand.TYPE))
-			command = new ChoiceSelectionCommand(wi);
-		else if (type.equals(WaitCommand.TYPE))
-			command = new WaitCommand();
-		if (command != null) {
-			command.load(node, lineTable);
-			commands.add(command);
-		}
-	}
-
-	private void processShell(Node node, Hashtable lineTable) {
-		MacroCommandShell shell = new MacroCommandShell();
-		shell.load(node, lineTable);
-		commands.add(shell);
-	}
-
-	private void processIndex(Node node, Hashtable lineTable) {
-		MacroIndex index = new MacroIndex();
-		index.load(node, lineTable);
-		commands.add(index);
-	}
-
-	public void addCommandShell(MacroCommandShell cshell) {
-		commands.add(cshell);
-	}
-
-	public void write(String indent, PrintWriter writer) {
-		writer.print(indent);
-		writer.print("<shell id=\"");
-		writer.print(getId());
-		writer.print("\" return-code=\"");
-		writer.print(expectedReturnCode + "");
-		writer.println("\">");
-		String cindent = indent + "   ";
-		for (int i = 0; i < commands.size(); i++) {
-			IWritable writable = (IWritable) commands.get(i);
-			if (i < commands.size() - 1 || !(writable instanceof WaitCommand))
-				writable.write(cindent, writer);
-		}
-		writer.print(indent);
-		writer.println("</shell>");
-	}
-
-	public void addEvent(Event event) {
-		if (event.widget instanceof Control) {
-			if (((Control) event.widget).isVisible() == false)
-				return;
-		}
-		MacroCommand command = createCommand(event);
-		if (command != null) {
-			command.processEvent(event);
-			MacroCommand lastCommand = getLastCommand();
-			if (lastCommand != null && lastCommand.getWidgetId().equals(command.getWidgetId()) && lastCommand.getType().equals(FocusCommand.TYPE) && isFocusCommand(command.getType())) {
-				// focus followed by select or modify - focus implied
-				commands.remove(lastCommand);
-			}
-			commands.add(command);
-			lastEvent = event;
-		}
-	}
-
-	public void addPause() {
-		WaitCommand command = new WaitCommand();
-		MacroCommand lastCommand = getLastCommand();
-		if (lastCommand != null && lastCommand.getType() != WaitCommand.TYPE)
-			commands.add(command);
-	}
-
-	public void addIndex(String id) {
-		commands.add(new MacroIndex(id));
-	}
-
-	public void extractExpectedReturnCode() {
-		if (window != null)
-			expectedReturnCode = window.getReturnCode();
-	}
-
-	public boolean matchesReturnCode() {
-		if (window != null) {
-			return window.getReturnCode() == expectedReturnCode;
-		}
-		return true;
-	}
-
-	private boolean isFocusCommand(String type) {
-		return type.equals(BooleanSelectionCommand.TYPE) || type.equals(StructuredSelectionCommand.ITEM_SELECT) || type.equals(StructuredSelectionCommand.DEFAULT_SELECT) || type.equals(ExpansionCommand.TYPE) || type.equals(CheckCommand.TYPE) || type.equals(ModifyCommand.TYPE);
-	}
-
-	protected MacroCommand createCommand(Event event) {
-		MacroCommand lastCommand = getLastCommand();
-		if (lastEvent != null && lastEvent.widget.equals(event.widget)) {
-			if (lastEvent.type == event.type || (lastEvent.type == SWT.Selection && event.type == SWT.DefaultSelection)) {
-				if (lastCommand != null && lastCommand.mergeEvent(event))
-					return null;
-			}
-		}
-		MacroCommand command = null;
-		WidgetIdentifier wi = MacroUtil.getWidgetIdentifier(event.widget);
-		if (wi == null)
-			return null;
-
-		switch (event.type) {
-			case SWT.Modify :
-				if (!isEditable(event.widget))
-					return null;
-				command = new ModifyCommand(wi);
-				break;
-			case SWT.Selection :
-			case SWT.DefaultSelection :
-				command = createSelectionCommand(wi, event);
-				break;
-			case SWT.FocusIn :
-				command = new FocusCommand(wi);
-				break;
-			case SWT.Expand :
-			case SWT.Collapse :
-				command = new ExpansionCommand(wi);
-				break;
-			/*
-			 * case SWT.KeyUp: command = findKeyBinding(wi, event); break;
-			 */
-		}
-		return command;
-	}
-
-	private boolean isEditable(Widget widget) {
-		if (widget instanceof Control) {
-			Control control = (Control) widget;
-			if (!control.isEnabled())
-				return false;
-			if (control instanceof Text)
-				return ((Text) control).getEditable();
-			if (control instanceof Combo || control instanceof CCombo)
-				return ((control.getStyle() & SWT.READ_ONLY) == 0);
-			if (control instanceof StyledText)
-				return ((StyledText) control).getEditable();
-		}
-		return true;
-	}
-
-	private MacroCommand createSelectionCommand(WidgetIdentifier wid, Event event) {
-		if (event.widget instanceof MenuItem || event.widget instanceof ToolItem || event.widget instanceof Button) {
-			String wId = wid.getWidgetId();
-			if (wId.endsWith("org.eclipse.pde.ui.tests.StopAction"))
-				return null;
-			if (wId.endsWith("org.eclipse.pde.ui.tests.IndexAction"))
-				return null;
-			return new BooleanSelectionCommand(wid);
-		}
-		if (event.widget instanceof Tree || event.widget instanceof Table || event.widget instanceof TableTree) {
-			if (event.detail == SWT.CHECK)
-				return new CheckCommand(wid);
-			String type = event.type == SWT.DefaultSelection ? StructuredSelectionCommand.DEFAULT_SELECT : StructuredSelectionCommand.ITEM_SELECT;
-			return new StructuredSelectionCommand(wid, type);
-		}
-		if (event.widget instanceof TabFolder || event.widget instanceof CTabFolder)
-			return new ChoiceSelectionCommand(wid);
-		if (event.widget instanceof Combo || event.widget instanceof CCombo)
-			return new ChoiceSelectionCommand(wid);
-		return null;
-	}
-
-	protected MacroCommand findKeyBinding(WidgetIdentifier wid, Event e) {
-		System.out.println("mask=" + e.stateMask + ", char=" + e.character);
-		java.util.List keyStrokes = MacroUtil.generatePossibleKeyStrokes(e);
-		if (keyStrokes.size() == 0)
-			return null;
-		for (int i = 0; i < keyStrokes.size(); i++) {
-			if (!((KeyStroke) keyStrokes.get(i)).isComplete())
-				return null;
-		}
-		System.out.println("keyStrokes=" + keyStrokes);
-		IWorkbenchCommandSupport csupport = PlatformUI.getWorkbench().getCommandSupport();
-		KeySequence keySequence = KeySequence.getInstance(keyStrokes);
-		System.out.println("keySequence=" + keySequence);
-		String commandId = csupport.getCommandManager().getPerfectMatch(keySequence);
-		System.out.println("Command id=" + commandId);
-		if (commandId == null)
-			return null;
-		return new KeyCommand(wid, commandId);
-	}
-
-	private MacroCommand getLastCommand() {
-		if (commands.size() > 0) {
-			Object item = commands.get(commands.size() - 1);
-			if (item instanceof MacroCommand)
-				return (MacroCommand) item;
-		}
-		return null;
-	}
-
-	public boolean isDisposed() {
-		return this.shell != null && this.shell.isDisposed();
-	}
-
-	public void close() {
-		if (this.shell != null && !this.shell.isDisposed())
-			this.shell.close();
-	}
-
-	public boolean tracks(Shell shell) {
-		if (this.shell != null && this.shell.equals(shell))
-			return true;
-		return false;
-	}
-
-	public boolean playback(final Display display, Composite parent, IProgressMonitor monitor) throws CoreException {
-		if (parent instanceof Shell) {
-			this.shell = (Shell) parent;
-			this.display = display;
-			hookWindow(true);
-		}
-
-		NestedShell nestedShell = null;
-
-		monitor.beginTask("", commands.size());
-
-		for (int i = 0; i < commands.size(); i++) {
-			Object c = commands.get(i);
-			if (c instanceof MacroIndex) {
-				String id = ((MacroIndex) c).getId();
-				if (id != null && indexHandler != null) {
-					IStatus status = indexHandler.processIndex(shell, id);
-					if (status.getSeverity() == IStatus.OK)
-						continue;
-					throw new CoreException(status);
-				}
-				// ignore the index
-				continue;
-			}
-			IPlayable playable = (IPlayable) c;
-			if (i < commands.size() - 1) {
-				// check the next command
-				IPlayable next = (IPlayable) commands.get(i + 1);
-				if (next instanceof MacroCommandShell) {
-					// this command will open a new shell
-					// add a listener before it is too late
-					MacroCommandShell nestedCommand = (MacroCommandShell) next;
-					nestedShell = new NestedShell(display, nestedCommand, new SubProgressMonitor(monitor, 1));
-					final NestedShell fnestedShell = nestedShell;
-					display.syncExec(new Runnable() {
-						public void run() {
-							display.addFilter(SWT.Activate, fnestedShell);
-						}
-					});
-				}
-			}
-			if (playable instanceof MacroCommand) {
-				boolean last = i == commands.size() - 1;
-				playInGUIThread(display, playable, last, monitor);
-				monitor.worked(1);
-			} else if (nestedShell != null) {
-				CoreException e = null;
-				if (nestedShell.isReleased() == false) {
-					final NestedShell fnestedShell = nestedShell;
-					display.syncExec(new Runnable() {
-						public void run() {
-							display.removeFilter(SWT.Activate, fnestedShell);
-						}
-					});
-				}
-				e = nestedShell.getException();
-				boolean result = nestedShell.getResult();
-				nestedShell = null;
-				if (e != null)
-					throw e;
-				if (!result)
-					return false;
-			}
-		}
-		shell = null;
-		return true;
-	}
-
-	void addExistingIndices(ArrayList list) {
-		for (int i = 0; i < commands.size(); i++) {
-			Object c = commands.get(i);
-			if (c instanceof MacroIndex) {
-				list.add(((MacroIndex) c).getId());
-			} else if (c instanceof MacroCommandShell) {
-				((MacroCommandShell) c).addExistingIndices(list);
-			}
-		}
-	}
-
-	private void playInGUIThread(final Display display, final IPlayable playable, boolean last, final IProgressMonitor monitor) throws CoreException {
-		final CoreException[] ex = new CoreException[1];
-
-		Runnable runnable = new Runnable() {
-			public void run() {
-				try {
-					//System.out.println("Executing: "+playable.toString());
-					playable.playback(display, MacroCommandShell.this.shell, monitor);
-					MacroUtil.processDisplayEvents(display);
-				} catch (ClassCastException e) {
-					ex[0] = createPlaybackException(playable, e);
-				} catch (CoreException e) {
-					ex[0] = e;
-				} catch (SWTException e) {
-					ex[0] = createPlaybackException(playable, e);
-				} catch (SWTError error) {
-					ex[0] = createPlaybackException(playable, error);
-				}
-			}
-		};
-		// if (last)
-		// shell.getDisplay().asyncExec(runnable);
-		// else
-		// display.syncExec(runnable);
-		if (playable instanceof WaitCommand) {
-			playable.playback(display, this.shell, monitor);
-		} else
-			display.syncExec(runnable);
-
-		try {
-			Thread.sleep(100);
-		} catch (InterruptedException e) {
-		}
-
-		// for (;;) {
-		// if (display.isDisposed() || !display.readAndDispatch())
-		// break;
-		// }
-
-		if (ex[0] != null)
-			throw ex[0];
-	}
-
-	public IIndexHandler getIndexHandler() {
-		return indexHandler;
-	}
-
-	public void setIndexHandler(IIndexHandler indexHandler) {
-		this.indexHandler = indexHandler;
-		for (int i = 0; i < commands.size(); i++) {
-			Object c = commands.get(i);
-			if (c instanceof MacroCommandShell) {
-				MacroCommandShell child = (MacroCommandShell) c;
-				child.setIndexHandler(indexHandler);
-			}
-		}
-	}
-
-	private CoreException createPlaybackException(IPlayable playable, Throwable th) {
-		IStatus status = new Status(IStatus.ERROR, "org.eclipse.pde.ui.tests", IStatus.OK, "Error while executing a macro command: " + playable.toString(), th);
-		return new CoreException(status);
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroIndex.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroIndex.java
deleted file mode 100644
index c7cf700..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroIndex.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.io.PrintWriter;
-
-public class MacroIndex extends MacroInstruction {
-
-	public MacroIndex() {
-		super(null);
-	}
-
-	public MacroIndex(String id) {
-		super(id);
-	}
-
-	public void write(String indent, PrintWriter writer) {
-		writer.print(indent);
-		writer.print("<index id=\"");
-		writer.print(getId());
-		writer.println("\"/>");
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroInstruction.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroInstruction.java
deleted file mode 100644
index 80d5b04..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroInstruction.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.util.Hashtable;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.w3c.dom.Node;
-
-public abstract class MacroInstruction implements IWritable, IPlayable {
-	private int[] range;
-	private String id;
-
-	public MacroInstruction(String id) {
-		this.id = id;
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	protected void load(Node node, Hashtable lineTable) {
-		this.id = MacroUtil.getAttribute(node, "id");
-		bindSourceLocation(node, lineTable);
-	}
-
-	void bindSourceLocation(Node node, Map lineTable) {
-		Integer[] lines = (Integer[]) lineTable.get(node);
-		if (lines != null) {
-			range = new int[2];
-			range[0] = lines[0].intValue();
-			range[1] = lines[1].intValue();
-		}
-	}
-
-	public int getStartLine() {
-		if (range == null)
-			return -1;
-		return range[0];
-	}
-
-	public int getStopLine() {
-		if (range == null)
-			return -1;
-		return range[1];
-	}
-
-	public boolean playback(Display display, Composite parent, IProgressMonitor monitor) throws CoreException {
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroManager.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroManager.java
deleted file mode 100644
index 98324ee..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroManager.java
+++ /dev/null
@@ -1,339 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Vector;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.IJobManager;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.PlatformUI;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-public class MacroManager {
-	public static final String IGNORE = "__macro_ignore__";
-	public static final int IDLE = 0;
-
-	public static final int RUNNING = 1;
-
-	public static final int DONE = 2;
-
-	private Macro currentMacro;
-
-	private IIndexHandler indexHandler;
-
-	class DisplayListener implements Listener {
-		public void handleEvent(Event event) {
-			onEvent(event);
-		}
-	}
-
-	class JobListener extends JobChangeAdapter {
-		private int state = IDLE;
-
-		public void running(IJobChangeEvent event) {
-			if (!event.getJob().isSystem() && state == IDLE)
-				state = RUNNING;
-		}
-
-		public void done(IJobChangeEvent event) {
-			if (!event.getJob().isSystem() && state == RUNNING)
-				state = DONE;
-		}
-
-		public void reset() {
-			state = IDLE;
-		}
-
-		public int getState() {
-			return state;
-		}
-	}
-
-	private DisplayListener listener;
-
-	private JobListener jobListener;
-
-	private Vector listeners;
-
-	private ArrayList widgetResolvers;
-	private SAXParser parser;
-
-	public MacroManager() {
-		listener = new DisplayListener();
-		jobListener = new JobListener();
-		listeners = new Vector();
-	}
-
-	public void addRecorderListener(IRecorderListener listener) {
-		if (!listeners.contains(listener))
-			listeners.add(listener);
-	}
-
-	public void addIndex(String indexId) {
-		if (currentMacro != null) {
-			currentMacro.addIndex(indexId);
-		}
-	}
-
-	public void removeRecorderListener(IRecorderListener listener) {
-		if (listeners.contains(listener))
-			listeners.remove(listener);
-	}
-
-	public boolean isRecording() {
-		return currentMacro != null;
-	}
-
-	public void startRecording() {
-		Display display = PlatformUI.getWorkbench().getDisplay();
-		hookListeners(display);
-		currentMacro = new Macro();
-		currentMacro.initializeForRecording(display);
-		IRecorderListener[] array = (IRecorderListener[]) listeners.toArray(new IRecorderListener[listeners.size()]);
-		for (int i = 0; i < array.length; i++) {
-			array[i].recordingStarted();
-		}
-	}
-
-	public String[] getExistingIndices() {
-		if (currentMacro != null) {
-			return currentMacro.getExistingIndices();
-		}
-		return new String[0];
-	}
-
-	public Macro stopRecording() {
-		Display display = PlatformUI.getWorkbench().getDisplay();
-		unhookListeners(display);
-		currentMacro.stopRecording();
-		Macro newMacro = currentMacro;
-		currentMacro = null;
-		IRecorderListener[] array = (IRecorderListener[]) listeners.toArray(new IRecorderListener[listeners.size()]);
-		for (int i = 0; i < array.length; i++) {
-			array[i].recordingStopped();
-		}
-		return newMacro;
-	}
-
-	public void hookListeners(Display display) {
-		display.addFilter(SWT.KeyDown, listener);
-		display.addFilter(SWT.Selection, listener);
-		display.addFilter(SWT.DefaultSelection, listener);
-		display.addFilter(SWT.Expand, listener);
-		display.addFilter(SWT.Collapse, listener);
-		display.addFilter(SWT.Modify, listener);
-		display.addFilter(SWT.Activate, listener);
-		display.addFilter(SWT.Close, listener);
-		display.addFilter(SWT.FocusIn, listener);
-		IJobManager jobManager = Platform.getJobManager();
-		jobManager.addJobChangeListener(jobListener);
-	}
-
-	public void unhookListeners(Display display) {
-		display.removeFilter(SWT.KeyDown, listener);
-		display.removeFilter(SWT.Selection, listener);
-		display.removeFilter(SWT.DefaultSelection, listener);
-		display.removeFilter(SWT.Expand, listener);
-		display.removeFilter(SWT.Collapse, listener);
-		display.removeFilter(SWT.Modify, listener);
-		display.removeFilter(SWT.Activate, listener);
-		display.removeFilter(SWT.Close, listener);
-		display.removeFilter(SWT.FocusIn, listener);
-		IJobManager jobManager = Platform.getJobManager();
-		jobManager.removeJobChangeListener(jobListener);
-	}
-
-	public void shutdown() {
-		if (currentMacro != null) {
-			Display display = PlatformUI.getWorkbench().getDisplay();
-			unhookListeners(display);
-			currentMacro.stopRecording();
-			currentMacro = null;
-		}
-	}
-
-	/**
-	 * Plays a provided macro stream. The method will close the input stream
-	 * upon parsing.
-	 * 
-	 * @param is
-	 * @throws CoreException
-	 */
-	public boolean play(final Display display, IRunnableContext context, String scriptName, InputStream is) throws CoreException {
-		XMLDefaultHandler handler = createMacroDocument(is);
-		Node root = handler.getDocumentElement();
-		NodeList children = root.getChildNodes();
-
-		final Macro macro = new Macro(scriptName);
-		for (int i = 0; i < children.getLength(); i++) {
-			Node child = children.item(i);
-			if (child.getNodeName().equals("shell")) {
-				macro.addShell(child, handler.getLineTable());
-			}
-		}
-		// discard the DOM
-		handler = null;
-
-		macro.setIndexHandler(getIndexHandler());
-
-		final boolean[] result = new boolean[1];
-
-		IRunnableWithProgress op = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) throws InvocationTargetException {
-				try {
-					//System.out.println("Start macro: "+macro.getName());
-					result[0] = macro.playback(display, null, monitor);
-				} catch (CoreException e) {
-					throw new InvocationTargetException(e);
-				} catch (ClassCastException e) {
-					throw new InvocationTargetException(e);
-				} finally {
-					monitor.done();
-					//System.out.println("Stop macro: "+macro.getName());
-				}
-			}
-		};
-		try {
-			context.run(true, true, op);
-		} catch (InterruptedException e) {
-		} catch (InvocationTargetException e) {
-			MacroPlugin.logException(e);
-			return false;
-		}
-		return result[0];
-	}
-
-	private XMLDefaultHandler createMacroDocument(InputStream is) throws CoreException {
-		XMLDefaultHandler handler = null;
-		try {
-			SAXParser parser = getParser();
-			handler = new XMLDefaultHandler();
-			parser.parse(is, handler);
-		} catch (SAXException e) {
-			MacroUtil.throwCoreException("Error parsing the macro file", 0, e);
-		} catch (IOException e) {
-			MacroUtil.throwCoreException("Error parsing the macro file", 0, e);
-		} finally {
-			try {
-				is.close();
-			} catch (IOException e) {
-			}
-		}
-		return handler;
-	}
-
-	private SAXParser getParser() throws CoreException {
-		if (parser == null) {
-			try {
-				return SAXParserFactory.newInstance().newSAXParser();
-			} catch (ParserConfigurationException e) {
-				MacroUtil.throwCoreException("Error parsing the macro file", 0, e);
-			} catch (SAXException e) {
-				MacroUtil.throwCoreException("Error parsing the macro file", 0, e);
-			}
-		}
-		return parser;
-	}
-
-	private void onEvent(Event event) {
-		try {
-			if (event.type == SWT.KeyDown) {
-				if ((event.stateMask & SWT.SHIFT) != 0 && (event.stateMask & SWT.CTRL) != 0) {
-					int key = event.keyCode & SWT.KEY_MASK;
-					if (key == SWT.F11)
-						notifyInterrupt(IRecorderListener.STOP);
-					else if (key == SWT.F10)
-						notifyInterrupt(IRecorderListener.INDEX);
-				}
-				return;
-			}
-			if ((event.type == SWT.Close || event.type == SWT.Activate) && !(event.widget instanceof Shell))
-				return;
-			if (jobListener.getState() == RUNNING || jobListener.getState() == DONE)
-				currentMacro.addPause();
-			jobListener.reset();
-			boolean stop = currentMacro.addEvent(event);
-			if (stop) {
-				notifyInterrupt(IRecorderListener.STOP);
-			}
-		} catch (Exception e) {
-			MacroPlugin.logException(e);
-			stopRecording();
-		}
-	}
-
-	private void notifyInterrupt(int type) {
-		IRecorderListener[] array = (IRecorderListener[]) listeners.toArray(new IRecorderListener[listeners.size()]);
-		for (int i = 0; i < array.length; i++) {
-			array[i].recordingInterrupted(type);
-		}
-	}
-
-	public String resolveWidget(Widget widget) {
-		if (widgetResolvers == null)
-			loadWidgetResolvers();
-		for (int i = 0; i < widgetResolvers.size(); i++) {
-			IWidgetResolver resolver = (IWidgetResolver) widgetResolvers.get(i);
-			String id = resolver.getUniqueId(widget);
-			if (id != null)
-				return id;
-		}
-		return null;
-	}
-
-	private void loadWidgetResolvers() {
-		widgetResolvers = new ArrayList();
-		IConfigurationElement[] elements = Platform.getExtensionRegistry().getConfigurationElementsFor("org.eclipse.pde.ui.tests.macroSupport");
-		for (int i = 0; i < elements.length; i++) {
-			if (elements[i].getName().equals("widgetResolver")) {
-				try {
-					Object obj = elements[i].createExecutableExtension("class");
-					if (obj instanceof IWidgetResolver)
-						widgetResolvers.add(obj);
-				} catch (CoreException e) {
-					System.out.println(e);
-				}
-			}
-		}
-	}
-
-	public IIndexHandler getIndexHandler() {
-		return indexHandler;
-	}
-
-	public void setIndexHandler(IIndexHandler indexHandler) {
-		this.indexHandler = indexHandler;
-	}
-
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroPlugin.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroPlugin.java
deleted file mode 100644
index f42749a..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroPlugin.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class MacroPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static MacroPlugin plugin;
-
-	private MacroManager recorder;
-
-	/**
-	 * The constructor.
-	 */
-	public MacroPlugin() {
-		super();
-		plugin = this;
-		recorder = new MacroManager();
-	}
-
-	public MacroManager getMacroManager() {
-		return recorder;
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		recorder.shutdown();
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static MacroPlugin getDefault() {
-		return plugin;
-	}
-
-	public static void logException(Throwable e) {
-		logException(e, null, null);
-	}
-
-	public static void logException(Throwable e, final String title, String message) {
-		if (e instanceof InvocationTargetException) {
-			e = ((InvocationTargetException) e).getTargetException();
-		}
-		IStatus status = null;
-		if (e instanceof CoreException)
-			status = ((CoreException) e).getStatus();
-		else {
-			if (message == null)
-				message = e.getMessage();
-			if (message == null)
-				message = e.toString();
-			status = new Status(IStatus.ERROR, "org.eclipse.pde.ui.tests", IStatus.OK, message, e);
-		}
-		ResourcesPlugin.getPlugin().getLog().log(status);
-		Display display = Display.getCurrent();
-		if (display == null)
-			display = Display.getDefault();
-		final IStatus fstatus = status;
-		display.asyncExec(new Runnable() {
-			public void run() {
-				ErrorDialog.openError(null, title, null, fstatus);
-			}
-		});
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroUtil.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroUtil.java
deleted file mode 100644
index 808b39c..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/MacroUtil.java
+++ /dev/null
@@ -1,950 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.CoolBarManager;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.ICoolBarManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.ToolBarContributionItem;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.jface.window.ApplicationWindow;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.IWizardPage;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.CoolBar;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.ToolBar;
-import org.eclipse.swt.widgets.ToolItem;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.IPluginContribution;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.internal.EditorSite;
-import org.eclipse.ui.internal.PartPane;
-import org.eclipse.ui.internal.PartSite;
-import org.eclipse.ui.keys.SWTKeySupport;
-import org.w3c.dom.Node;
-
-public class MacroUtil {
-	private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
-	/**
-	 * Returns the path where counters of the given event are stored, or null if
-	 * we are not keeping records of the given event.
-	 * 
-	 * @param event
-	 * @return
-	 */
-	public static WidgetIdentifier getWidgetIdentifier(Widget widget) {
-		if (widget instanceof MenuItem) {
-
-			MenuItem menuItem = (MenuItem) widget;
-
-			if (onMenubar(menuItem)) {
-				return new WidgetIdentifier(new Path("menus"), new Path(getActionId(menuItem))); //$NON-NLS-1$
-			}
-			Control c = widget.getDisplay().getFocusControl();
-			WidgetIdentifier ci = getControlIdentifier(c);
-			if (ci == null)
-				return null;
-			return new WidgetIdentifier(new Path("popup").append(ci.getFullyQualifiedPath()), new Path(getActionId(menuItem))); //$NON-NLS-1$
-		} else if (widget instanceof ToolItem) {
-			ToolItem toolItem = (ToolItem) widget;
-
-			if (onToolbar(toolItem))
-				return new WidgetIdentifier(new Path("toolbar"), new Path(getActionId(toolItem))); //$NON-NLS-1$
-			// local toolbar somewhere - locate the parent
-			// first
-			ToolBar toolBar = toolItem.getParent();
-			WidgetIdentifier controlId = getControlIdentifier(toolBar);
-			IPath localPath = controlId.getFullyQualifiedPath();
-			return new WidgetIdentifier(new Path("local-toolbar").append(localPath), new Path(getActionId(toolItem)));
-		} else if (widget instanceof Shell) {
-			return new WidgetIdentifier(new Path("shell"), getShellId((Shell) widget));
-		} else if (widget instanceof Control) {
-			return getControlIdentifier((Control) widget);
-		} else if (widget instanceof Menu) {
-			return new WidgetIdentifier(new Path("menu"), new Path(getActionId((Menu) widget)));
-		}
-		return null;
-	}
-
-	public static IPath getShellId(Shell shell) {
-		Object data = shell.getData();
-		String id = "";
-		if (data instanceof WizardDialog) {
-			id = data.getClass().getName().toString();
-		} else if (data instanceof Window) {
-			id = data.getClass().getName().toString();
-		}
-		return new Path(id);
-	}
-
-	public static WidgetIdentifier getControlIdentifier(Control control) {
-		Shell shell = control.getShell();
-		Object data = shell.getData();
-		if (data instanceof WizardDialog) {
-			// in wizard
-			WizardDialog wd = (WizardDialog) data;
-			IWizardPage page = wd.getCurrentPage();
-			if (page == null)
-				return null;
-			Control pageControl = page.getControl();
-			String relativePath = computeRelativePath((Composite) pageControl, null, control);
-			if (relativePath != null) {
-				IPath path = new Path("wizard-page").append(page.getName());
-				return new WidgetIdentifier(path, new Path(relativePath));
-			}
-			// check for wizard buttons
-			if (control instanceof Button) {
-				relativePath = computeRelativePath(shell, (Composite) pageControl, control);
-				return new WidgetIdentifier(new Path("wizard"), new Path(relativePath));
-			}
-			return null;
-		} else if (data instanceof IWorkbenchWindow) {
-			IWorkbenchWindow window = (IWorkbenchWindow) data;
-			IWorkbenchPage page = window.getActivePage();
-			IWorkbenchPart part = page.getActivePart();
-			IWorkbenchPartSite site = part.getSite();
-			IPath path;
-			if (part instanceof IViewPart)
-				path = new Path("view").append(site.getId());
-			else if (part instanceof IEditorPart) {
-				String inputName = ((IEditorPart) part).getEditorInput().getName();
-				path = new Path("editor").append(site.getId()).append(inputName);
-			} else
-				return null;
-			PartSite partSite = (PartSite) site;
-			PartPane pane = partSite.getPane();
-			Composite paneComposite = (Composite) pane.getControl();
-			// If the control we are looking for is a local tool bar,
-			// go up one level
-			if (part instanceof IViewPart && control instanceof ToolBar)
-				paneComposite = paneComposite.getParent();
-			String relativePath = computeRelativePath(paneComposite, null, control);
-			if (relativePath != null) {
-				return new WidgetIdentifier(path, new Path(relativePath));
-			}
-		} else {
-			// unknown shell - fetch controls starting from the shell
-			String relativePath = computeRelativePath(shell, null, control);
-			return new WidgetIdentifier(new Path("shell"), new Path(relativePath));
-		}
-		return null;
-	}
-
-	private static String computeRelativePath(Composite parent, Composite skip, Control control) {
-		int[] counter = new int[1];
-		counter[0] = 0;
-		boolean result = computeControlToken(parent, skip, control, counter);
-		if (!result && skip == null)
-			return null;
-		int index = result ? counter[0] : 0;
-		return getControlId(control, index);
-	}
-
-	private static String getControlId(Control control, int index) {
-		MacroManager recorder = MacroPlugin.getDefault().getMacroManager();
-		String controlId = recorder.resolveWidget(control);
-		if (controlId == null)
-			controlId = index + "";
-		return control.getClass().getName() + "#" + controlId;
-	}
-
-	private static boolean computeControlToken(Composite parent, Composite skip, Control control, int[] counter) {
-		Control[] children = parent.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			Control child = children[i];
-
-			if (!child.isVisible())
-				continue;
-
-			if (child.getClass().equals(control.getClass())) {
-				// same type - increment counter
-				counter[0]++;
-				if (control.equals(child)) {
-					// bingo
-					return true;
-				}
-			} else if (child instanceof Composite) {
-				if (skip != null && child.equals(skip))
-					continue;
-				boolean status = computeControlToken((Composite) child, skip, control, counter);
-				if (status)
-					return true;
-			}
-		}
-		return false;
-	}
-
-	public static boolean isInputControl(Control control) {
-		return true;
-	}
-
-	/**
-	 * @param menuItem
-	 * @return
-	 */
-	private static boolean onMenubar(MenuItem menuItem) {
-		Menu parent = menuItem.getParent();
-		MenuItem parentItem = parent.getParentItem();
-
-		if (parentItem != null) {
-			return onMenubar(parentItem);
-		}
-
-		Shell theShell = parent.getShell();
-
-		return parent == theShell.getMenuBar();
-	}
-
-	private static boolean onToolbar(ToolItem toolItem) {
-		ToolBar toolBar = toolItem.getParent();
-		Shell shell = toolBar.getShell();
-		Object data = shell.getData();
-		if (data instanceof ApplicationWindow) {
-			ApplicationWindow window = (ApplicationWindow) data;
-			ToolBarManager mng = window.getToolBarManager();
-			if (mng != null) {
-				if (mng.getControl() != null && mng.getControl() == toolBar)
-					return true;
-			}
-			CoolBarManager cmng = window.getCoolBarManager();
-			if (cmng != null) {
-				CoolBar cbar = cmng.getControl();
-				Composite parent = toolBar.getParent();
-				while (parent != null) {
-					if (parent == cbar)
-						return true;
-					parent = parent.getParent();
-				}
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * @param toolItem
-	 * @return
-	 */
-	private static String getActionId(ToolItem toolItem) {
-		Object data = toolItem.getData();
-		if (data != null && (data instanceof IContributionItem)) {
-			String result = getActionId((IContributionItem) data);
-			if (!result.equals(EMPTY_STRING)) {
-				return result;
-			}
-		}
-
-		return "readablename/" + getDisplayName(toolItem); //$NON-NLS-1$
-	}
-
-	/**
-	 * @param toolItem
-	 * @return
-	 */
-	private static String getDisplayName(ToolItem toolItem) {
-		String name = toolItem.getText();
-
-		if (name != null && !name.equals(EMPTY_STRING)) {
-			return name;
-		}
-
-		name = toolItem.getToolTipText();
-
-		if (name != null) {
-			return name;
-		}
-
-		return "unknown"; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns an identifier for the given MenuItem, based on its user-readable
-	 * strings
-	 * 
-	 * @param menuItem
-	 * @return
-	 */
-	private static String getDisplayName(MenuItem menuItem) {
-
-		if (menuItem.getParent() == null || menuItem.getParent().getParentItem() == null) {
-			return removeChar(menuItem.getText(), '&');
-		}
-
-		return getDisplayName(menuItem.getParent()) + "/" //$NON-NLS-1$
-				+ removeChar(menuItem.getText(), '&');
-	}
-
-	/**
-	 * Returns an identifier for the given Menu, based on its user-readable
-	 * strings
-	 * 
-	 * @param menu
-	 * @return
-	 */
-	private static String getDisplayName(Menu menu) {
-
-		MenuItem parentItem = menu.getParentItem();
-
-		if (parentItem == null) {
-			return EMPTY_STRING;
-		}
-
-		return getDisplayName(parentItem);
-	}
-
-	protected String getContribId(MenuItem menuItem) {
-		Object data = menuItem.getData();
-		if (data != null && (data instanceof IContributionItem)) {
-			String result = ((IContributionItem) data).getId();
-
-			if (result != null) {
-				return result;
-			}
-		}
-
-		return EMPTY_STRING;
-	}
-
-	/**
-	 * @param menuItem
-	 * @return
-	 */
-	private static String getActionId(MenuItem menuItem) {
-		Object data = menuItem.getData();
-		if (data != null && (data instanceof IContributionItem)) {
-			String result = getActionId((IContributionItem) data);
-			if (!result.equals(EMPTY_STRING)) {
-				return result;
-			}
-		}
-
-		// return EMPTY_STRING;
-
-		return "readablename/" + getDisplayName(menuItem); //$NON-NLS-1$
-	}
-
-	private static String getActionId(Menu menu) {
-		Object data = menu.getData();
-		if (data != null && (data instanceof IContributionItem)) {
-			String result = getActionId((IContributionItem) data);
-			if (!result.equals(EMPTY_STRING)) {
-				return result;
-			}
-		}
-
-		// return EMPTY_STRING;
-
-		return "readablename/" + getDisplayName(menu); //$NON-NLS-1$
-	}
-
-	private static String getActionId(IContributionItem contrib) {
-		String id = null;
-
-		if (contrib instanceof IPluginContribution) {
-			id = ((IPluginContribution) contrib).getLocalId();
-		}
-		if (id == null)
-			id = contrib.getId();
-
-		if (id != null) {
-			return "contribid/" + id; //$NON-NLS-1$
-		}
-
-		if (contrib instanceof ActionContributionItem) {
-			ActionContributionItem actionItem = (ActionContributionItem) contrib;
-
-			id = actionItem.getId();
-
-			if (id != null) {
-				return "actionid/" + id; //$NON-NLS-1$
-			}
-
-			IAction action = actionItem.getAction();
-
-			id = action.getActionDefinitionId();
-
-			if (id != null) {
-				return "defid/" + id; //$NON-NLS-1$
-			}
-
-			return "actionclass/" + action.getClass().getName(); //$NON-NLS-1$
-		}
-		return "contribclass/" + contrib.getClass().getName(); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.instrumentation.IDataProvider#getDefaultValue(org.eclipse.core.runtime.IPath)
-	 */
-	public Object getDefaultValue(IPath node) throws CoreException {
-		return null;
-	}
-
-	private MenuItem getMenuItem(Menu menu, IPath menuPath) {
-		if (menuPath.isEmpty()) {
-			return null;
-		}
-
-		String toFind = menuPath.segment(0);
-		MenuItem[] items = menu.getItems();
-
-		for (int idx = 0; idx < items.length; idx++) {
-			MenuItem item = items[idx];
-
-			String itemName = removeChar(item.getText(), '&');
-
-			if (itemName.equals(toFind)) {
-				return getMenuItem(item, menuPath.removeFirstSegments(1));
-			}
-		}
-
-		return null;
-	}
-
-	private MenuItem getMenuItem(MenuItem menu, IPath menuPath) {
-		if (menuPath.isEmpty()) {
-			return menu;
-		}
-
-		Menu subMenu = menu.getMenu();
-		if (subMenu == null) {
-			return null;
-		}
-
-		return getMenuItem(subMenu, menuPath);
-
-	}
-
-	public static String removeChar(String input, char toRemove) {
-		StringBuffer buf = new StringBuffer(input.length());
-
-		int last = 0;
-		for (int pos = input.indexOf(toRemove); pos != -1; pos = input.indexOf(toRemove, last)) {
-			buf.append(input.substring(last, pos));
-			last = pos + 1;
-		}
-
-		buf.append(input.substring(last, input.length()));
-
-		return buf.toString();
-	}
-
-	public static String getAttribute(Node node, String name) {
-		Node value = node.getAttributes().getNamedItem(name);
-		if (value != null)
-			return value.getNodeValue();
-		return null;
-	}
-
-	public static String getNormalizedText(String source) {
-		if (source == null)
-			return "";
-		//String result = source.replace('\t', ' ');
-		String result = source;
-		result = result.trim();
-		return result;
-	}
-
-	public static String getWritableText(String input) {
-		String result = input.trim();
-		StringBuffer buf = new StringBuffer();
-		for (int i = 0; i < result.length(); i++) {
-			char c = result.charAt(i);
-			switch (c) {
-				case '<' :
-					buf.append("&lt;"); //$NON-NLS-1$
-					break;
-				case '>' :
-					buf.append("&gt;"); //$NON-NLS-1$
-					break;
-				case '&' :
-					buf.append("&amp;"); //$NON-NLS-1$
-					break;
-				case '\'' :
-					buf.append("&apos;"); //$NON-NLS-1$
-					break;
-				case '\"' :
-					buf.append("&quot;"); //$NON-NLS-1$
-					break;
-				default :
-					buf.append(c);
-			}
-		}
-		return buf.toString();
-	}
-
-	public static CommandTarget locateCommandTarget(Composite parent, WidgetIdentifier wid, int line) throws CoreException {
-		return locateCommandTarget(parent, wid, null, line);
-	}
-
-	public static CommandTarget locateCommandTarget(Composite parent, WidgetIdentifier wid, ArrayList parents, int line) throws CoreException {
-		Shell shell = (Shell) parent;
-
-		String firstToken = wid.contextPath.segment(0);
-		IPath wpath = wid.widgetPath;
-		Iterator iter = parents != null ? parents.iterator() : null;
-		if (firstToken.equals("menus"))
-			return locateMenuBarItem(shell, wpath, iter, line);
-		if (firstToken.equals("popup"))
-			return locatePopupMenuItem(shell, wid, iter, line);
-		if (firstToken.equals("toolbar"))
-			return locateToolItem(shell, wpath, line);
-		if (firstToken.equals("local-toolbar"))
-			return locateLocalToolItem(shell, wid, line);
-		if (firstToken.equals("wizard"))
-			return locateWizardControl(shell, wpath, line);
-		if (firstToken.equals("shell"))
-			return locateShellControl(shell, wpath, line);
-
-		String id = wid.contextPath.segment(1);
-		if (firstToken.equals("wizard-page"))
-			return locateWizardPageControl(shell, id, wpath, line);
-		if (firstToken.equals("view"))
-			return locateViewControl(shell, id, wpath, line);
-		if (firstToken.equals("editor")) {
-			String inputName = wid.contextPath.segment(2);
-			return locateEditorControl(shell, id, inputName, wpath, line);
-		}
-		return null;
-	}
-
-	private static CommandTarget locateMenuBarItem(Shell shell, IPath path, Iterator parents, int line) throws CoreException {
-		MenuItem item = null;
-		Object data = shell.getData();
-		Menu menuBar = shell.getMenuBar();
-
-		if (data instanceof ApplicationWindow && parents != null) {
-			ApplicationWindow window = (ApplicationWindow) data;
-			MenuManager manager = window.getMenuBarManager();
-			item = locateMenuItem(manager, path.toString(), parents, line);
-		} else {
-			item = locateMenuItem(menuBar, path.toString(), line);
-		}
-		if (item != null)
-			return new CommandTarget(item, menuBar);
-		throwCoreException("Cannot locate menu item: " + path.toString(), line);
-		return null;
-	}
-
-	private static MenuItem locateMenuItem(Menu menu, String id, int line) {
-		MenuItem[] items = menu.getItems();
-
-		for (int i = 0; i < items.length; i++) {
-			MenuItem item = items[i];
-
-			Menu submenu = item.getMenu();
-			if (submenu != null) {
-				MenuItem hit = locateMenuItem(submenu, id, line);
-				if (hit != null)
-					return hit;
-			} else {
-				String itemId = getActionId(item);
-				if (itemId != null && id.equals(itemId))
-					return item;
-			}
-		}
-		return null;
-	}
-
-	private static MenuItem locateMenuItem(MenuManager mng, String id, Iterator parents, int line) {
-		IContributionItem[] items = mng.getItems();
-
-		String parentId = null;
-		if (parents.hasNext())
-			parentId = (String) parents.next();
-
-		for (int i = 0; i < items.length; i++) {
-			IContributionItem citem = items[i];
-
-			if (citem instanceof MenuManager) {
-				MenuManager submenu = (MenuManager) citem;
-				String subId = submenu.getId();
-
-				if (subId.equals(parentId)) {
-					// show this menu to force dynamic items
-					// to show
-					Menu menu = submenu.getMenu();
-					forceMenuOpen(null, menu);
-
-					MenuItem hit = locateMenuItem(submenu, id, parents, line);
-					forceMenuClosed(menu);
-					if (hit != null)
-						return hit;
-				}
-			} else {
-				String itemId = getActionId(citem);
-				if (itemId != null && id.equals(itemId)) {
-					MenuItem hit = locateMenuItem(mng.getMenu(), id, line);
-					if (hit != null)
-						return hit;
-				}
-			}
-		}
-		return null;
-	}
-
-	private static void forceMenuOpen(Control c, Menu menu) {
-		Event e = new Event();
-		e.type = SWT.Show;
-		e.widget = menu;
-		/*
-		if (c!=null) {
-			Point midpoint = c.getSize();
-			midpoint.x /= 2;
-			midpoint.y /= 2;
-			midpoint = c.toDisplay(midpoint);
-			menu.setLocation(midpoint);
-		}
-		*/
-		//menu.setVisible(true);
-		menu.notifyListeners(e.type, e);
-		processDisplayEvents(menu.getDisplay());
-	}
-
-	private static void forceMenuClosed(Menu menu) {
-		Event e = new Event();
-		e.type = SWT.Hide;
-		//menu.setVisible(false);
-		e.widget = menu;
-		menu.notifyListeners(e.type, e);
-		processDisplayEvents(menu.getDisplay());
-	}
-
-	public static void processDisplayEvents(Display display) {
-		for (;;) {
-			if (!display.readAndDispatch())
-				break;
-		}
-	}
-
-	private static CommandTarget locatePopupMenuItem(Shell shell, WidgetIdentifier wid, Iterator parents, int line) throws CoreException {
-		IPath contextPath = wid.contextPath.removeFirstSegments(1);
-		IPath wpath = new Path(contextPath.lastSegment());
-		contextPath = contextPath.removeLastSegments(1);
-		CommandTarget target = locateCommandTarget(shell, new WidgetIdentifier(contextPath, wpath), line);
-		if (target != null) {
-			Control control = (Control) target.getWidget();
-			Menu popupMenu = control.getMenu();
-			if (popupMenu != null) {
-				forceMenuOpen(control, popupMenu);
-				MenuItem menuItem = locateMenuItem(popupMenu, wid.getWidgetId(), line);
-				forceMenuClosed(popupMenu);
-				if (menuItem != null) {
-					return new CommandTarget(menuItem, control);
-				}
-			}
-		}
-		throwCoreException("Cannot locate pop-up menu item: " + wid.getWidgetId(), line);
-		return null;
-	}
-
-	private static CommandTarget locateToolItem(Shell shell, IPath path, int line) throws CoreException {
-		Object data = shell.getData();
-		CommandTarget target = null;
-		if (data instanceof ApplicationWindow) {
-			ApplicationWindow window = (ApplicationWindow) data;
-			CoolBarManager coolMng = window.getCoolBarManager();
-			if (coolMng != null) {
-				target = locateToolItem(coolMng, path.toString(), line);
-			}
-			ToolBarManager toolMng = window.getToolBarManager();
-			if (toolMng != null) {
-				target = locateToolItem(toolMng, path.toString(), line);
-			}
-		}
-		if (target == null)
-			throwCoreException("Cannot locate pop-up menu item: " + path.toString(), line);
-		return target;
-	}
-
-	private static CommandTarget locateToolItem(ICoolBarManager coolMng, String id, int line) {
-		IContributionItem[] items = coolMng.getItems();
-		for (int i = 0; i < items.length; i++) {
-			if (items[i] instanceof ToolBarContributionItem) {
-				ToolBarContributionItem item = (ToolBarContributionItem) items[i];
-				IToolBarManager toolMng = item.getToolBarManager();
-				CommandTarget target = locateToolItem((ToolBarManager) toolMng, id, line);
-				if (target != null)
-					return target;
-			}
-		}
-		return null;
-	}
-
-	private static CommandTarget locateToolItem(ToolBarManager toolMng, String id, int line) {
-		return locateToolItem(toolMng.getControl(), id, line);
-	}
-
-	private static CommandTarget locateToolItem(ToolBar toolBar, String id, int line) {
-		ToolItem[] items = toolBar.getItems();
-		for (int i = 0; i < items.length; i++) {
-			ToolItem item = items[i];
-			String itemId = getActionId(item);
-			if (itemId != null && itemId.equals(id))
-				return new CommandTarget(item, toolBar);
-		}
-		return null;
-	}
-
-	private static CommandTarget locateLocalToolItem(Shell shell, WidgetIdentifier wid, int line) throws CoreException {
-		IPath wpath = wid.contextPath.removeFirstSegments(1);
-		String firstToken = wpath.segment(0);
-
-		if (firstToken.equals("view")) {
-			String id = wpath.segment(1);
-			IViewPart view = locateView(shell, id, line);
-			if (view != null) {
-				PartPane pane = getPartPane(view);
-				processDisplayEvents(shell.getDisplay());
-				Composite parent = pane.getControl().getParent();
-				Control c = locateVisibleChild((Composite) parent, null, wpath.removeFirstSegments(2));
-				if (c != null) {
-					//TODO bad cast
-					ToolBarManager mng = (ToolBarManager) view.getViewSite().getActionBars().getToolBarManager();
-					CommandTarget target = locateToolItem(mng, wid.getWidgetId(), line);
-					if (target != null)
-						return target;
-				}
-			}
-		}
-		throwCoreException("Cannot locate local tool bar item: " + wid.getFullyQualifiedId().toString(), line);
-		return null;
-	}
-
-	private static WizardCommandTarget locateWizardControl(Shell shell, IPath wpath, int line) throws CoreException {
-		WizardDialog wdialog = (WizardDialog) shell.getData();
-		IWizardPage page = wdialog.getCurrentPage();
-		Composite pparent = (Composite) page.getControl();
-		Control control = locateVisibleChild(shell, pparent, wpath);
-		if (control == null)
-			throwCoreException("Cannot locate wizard control: " + wpath.toString(), line);
-		if (control.isDisposed())
-			throwCoreException("Wizard control is disposed: " + wpath.toString(), line);
-		return new WizardCommandTarget(control, wdialog);
-	}
-
-	private static WindowCommandTarget locateShellControl(Shell shell, IPath wpath, int line) throws CoreException {
-		Window window = (Window) shell.getData();
-		Control control = locateVisibleChild(shell, null, wpath);
-		if (control == null)
-			throwCoreException("Cannot locate shell control: " + wpath.toString(), line);
-		if (control.isDisposed())
-			throwCoreException("Shell control is disposed: " + wpath.toString(), line);
-		return new WindowCommandTarget(control, window);
-	}
-
-	private static WizardCommandTarget locateWizardPageControl(Shell shell, String id, IPath wpath, int line) throws CoreException {
-		Control control = null;
-		Object data = shell.getData();
-		if (data instanceof WizardDialog) {
-			WizardDialog wdialog = (WizardDialog) data;
-			IWizardPage page = wdialog.getCurrentPage();
-			String pname = page.getName();
-			// assert page
-			if (pname.equals(id) == false)
-				throwCoreException("Unexpected wizard page: " + pname + ", expected " + id, line);
-			Composite pparent = (Composite) page.getControl();
-			control = locateVisibleChild(pparent, null, wpath);
-			if (control != null)
-				return new WizardCommandTarget(control, wdialog);
-		}
-		if (control == null)
-			throwCoreException("Cannot locate wizard page control: " + wpath.toString(), line);
-		return null;
-	}
-
-	private static IViewPart locateView(Shell shell, String id, int line) throws CoreException {
-		Object data = shell.getData();
-
-		if (data instanceof IWorkbenchWindow) {
-			IWorkbenchWindow window = (IWorkbenchWindow) data;
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-				IViewPart view = page.showView(id);
-				return view;
-			}
-		}
-		throwCoreException("Cannot locate view: " + id, line);
-		return null;
-	}
-
-	private static PartPane getPartPane(IViewPart part) {
-		IWorkbenchPartSite site = part.getSite();
-		PartPane pane = ((PartSite) site).getPane();
-		return pane;
-	}
-
-	private static ViewCommandTarget locateViewControl(Shell shell, String id, IPath wpath, int line) throws CoreException {
-		Control control = null;
-
-		IViewPart view = locateView(shell, id, line);
-		if (view != null) {
-			PartPane pane = getPartPane(view);
-			Control c = pane.getControl();
-			control = locateVisibleChild((Composite) c, null, wpath);
-			if (control != null) {
-				return new ViewCommandTarget(control, view);
-			}
-		}
-		throwCoreException("Cannot locate view control: " + wpath.toString(), line);
-		return null;
-	}
-
-	private static EditorCommandTarget locateEditorControl(Shell shell, String id, String inputName, IPath wpath, int line) throws CoreException {
-		Control control = null;
-
-		Object data = shell.getData();
-
-		if (data instanceof IWorkbenchWindow) {
-			IWorkbenchWindow window = (IWorkbenchWindow) data;
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null) {
-				IEditorReference[] erefs = page.getEditorReferences();
-				IEditorPart editor = null;
-				for (int i = 0; i < erefs.length; i++) {
-					IEditorReference eref = erefs[i];
-					if (eref.getId().equals(id)) {
-						// check the input
-						IEditorPart part = eref.getEditor(true);
-						if (part.getEditorInput().getName().equals(inputName)) {
-							editor = part;
-							break;
-						}
-					}
-				}
-				if (editor != null) {
-					IEditorSite site = editor.getEditorSite();
-					PartPane pane = ((EditorSite) site).getPane();
-					Control c = pane.getControl();
-					control = locateVisibleChild((Composite) c, null, wpath);
-					if (control != null) {
-						return new EditorCommandTarget(control, editor);
-					}
-				}
-			}
-		}
-		if (control == null)
-			throwCoreException("Cannot locate editor control: " + wpath.toString(), line);
-		return null;
-	}
-
-	private static Control locateVisibleChild(Composite parent, Composite skip, IPath wpath) {
-		int[] counter = new int[1];
-		counter[0] = 0;
-		String wid = wpath.toString();
-		int sloc = wid.lastIndexOf('#');
-		if (sloc == -1)
-			return null;
-		String wclassName = wid.substring(0, sloc);
-		return locateVisibleChild(parent, skip, wid, wclassName, counter);
-	}
-
-	private static Control locateVisibleChild(Composite parent, Composite skip, String id, String wclassName, int[] counter) {
-		Control[] children = parent.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			Control child = children[i];
-
-			if (child.getClass().getName().equals(wclassName)) {
-				// same type - increment counter
-				if (child.isVisible() == false)
-					continue;
-				counter[0]++;
-				String cid = getControlId(child, counter[0]);
-				if (cid.equals(id)) {
-					// bingo
-					return child;
-				}
-			} else if (child instanceof Composite) {
-				if (skip != null && child.equals(skip))
-					continue;
-				if (!child.isVisible())
-					continue;
-				Control c = locateVisibleChild((Composite) child, skip, id, wclassName, counter);
-				if (c != null)
-					return c;
-			}
-		}
-		return null;
-	}
-
-	public static void throwCoreException(String message, int line) throws CoreException {
-		throwCoreException(message, line, null);
-	}
-
-	public static void throwCoreException(String message, int line, Throwable t) throws CoreException {
-		if (line > 0)
-			message = "Line " + line + ": " + message;
-		Status s = new Status(IStatus.ERROR, "org.eclipse.ui.macro", IStatus.OK, message, t);
-		throw new CoreException(s);
-	}
-
-	public static java.util.List generatePossibleKeyStrokes(Event event) {
-		final java.util.List keyStrokes = new ArrayList(3);
-
-		/*
-		 * If this is not a keyboard event, then there are no key strokes. This
-		 * can happen if we are listening to focus traversal events.
-		 */
-		if ((event.stateMask == 0) && (event.keyCode == 0) && (event.character == 0)) {
-			return keyStrokes;
-		}
-
-		// Add each unique key stroke to the list for consideration.
-		final int firstAccelerator = SWTKeySupport.convertEventToUnmodifiedAccelerator(event);
-		keyStrokes.add(SWTKeySupport.convertAcceleratorToKeyStroke(firstAccelerator));
-
-		// We shouldn't allow delete to undergo shift resolution.
-		if (event.character == SWT.DEL) {
-			return keyStrokes;
-		}
-
-		final int secondAccelerator = SWTKeySupport.convertEventToUnshiftedModifiedAccelerator(event);
-		if (secondAccelerator != firstAccelerator) {
-			keyStrokes.add(SWTKeySupport.convertAcceleratorToKeyStroke(secondAccelerator));
-		}
-
-		final int thirdAccelerator = SWTKeySupport.convertEventToModifiedAccelerator(event);
-		if ((thirdAccelerator != secondAccelerator) && (thirdAccelerator != firstAccelerator)) {
-			keyStrokes.add(SWTKeySupport.convertAcceleratorToKeyStroke(thirdAccelerator));
-		}
-
-		return keyStrokes;
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/ModifyCommand.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/ModifyCommand.java
deleted file mode 100644
index 035fce7..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/ModifyCommand.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.io.PrintWriter;
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.swt.widgets.Widget;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class ModifyCommand extends MacroCommand {
-	public static final String TYPE = "modify";
-
-	private String text;
-
-	public ModifyCommand(WidgetIdentifier wid) {
-		super(wid);
-	}
-
-	public String getType() {
-		return TYPE;
-	}
-
-	public boolean mergeEvent(Event e) {
-		return doProcessEvent(e);
-	}
-
-	public void processEvent(Event e) {
-		doProcessEvent(e);
-	}
-
-	protected void load(Node node, Hashtable lineTable) {
-		super.load(node, lineTable);
-
-		NodeList children = node.getChildNodes();
-		for (int i = 0; i < children.getLength(); i++) {
-			Node child = children.item(i);
-			if (child.getNodeType() == Node.TEXT_NODE) {
-				text = MacroUtil.getNormalizedText(child.getNodeValue());
-				break;
-			}
-		}
-	}
-
-	private boolean doProcessEvent(Event e) {
-		String text = extractText(e.widget);
-		if (text != null) {
-			this.text = text;
-			return true;
-		}
-		return false;
-	}
-
-	private String extractText(Widget widget) {
-		if (widget instanceof Text)
-			return ((Text) widget).getText();
-		if (widget instanceof Combo)
-			return ((Combo) widget).getText();
-		if (widget instanceof CCombo)
-			return ((CCombo) widget).getText();
-		if (widget instanceof StyledText)
-			return MacroUtil.getWritableText(((StyledText) widget).getText());
-		return null;
-	}
-
-	public void write(String indent, PrintWriter writer) {
-		writer.print(indent);
-		writer.print("<command type=\"");
-		writer.print(getType());
-		writer.print("\" contextId=\"");
-		writer.print(getWidgetId().getContextId());
-		writer.print("\" widgetId=\"");
-		writer.print(getWidgetId().getWidgetId());
-		writer.println("\">");
-		if (text != null) {
-			writer.print(indent);
-			writer.print(text);
-			writer.println();
-		}
-		writer.print(indent);
-		writer.println("</command>");
-	}
-
-	public boolean playback(Display display, Composite parent, IProgressMonitor monitor) throws CoreException {
-		if (parent.isDisposed())
-			return false;
-		CommandTarget target = MacroUtil.locateCommandTarget(parent, getWidgetId(), getStartLine());
-		if (target != null) {
-			target.setFocus();
-			Widget widget = target.getWidget();
-			if (widget instanceof Text)
-				((Text) widget).setText(text);
-			else if (widget instanceof Combo)
-				((Combo) widget).setText(text);
-			else if (widget instanceof CCombo)
-				((CCombo) widget).setText(text);
-			else if (widget instanceof StyledText)
-				((StyledText) widget).setText(text);
-		}
-		return true;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/StructuredSelectionCommand.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/StructuredSelectionCommand.java
deleted file mode 100644
index 442df06..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/StructuredSelectionCommand.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.util.ArrayList;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.TableTree;
-import org.eclipse.swt.custom.TableTreeItem;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-
-public class StructuredSelectionCommand extends AbstractStructuredCommand {
-	private String type;
-	public static final String DEFAULT_SELECT = "default-select";
-	public static final String ITEM_SELECT = "item-select";
-
-	public StructuredSelectionCommand(WidgetIdentifier wid, String type) {
-		super(wid);
-		items = new ArrayList();
-		this.type = type;
-	}
-
-	public boolean mergeEvent(Event e) {
-		if (e.type == SWT.DefaultSelection) {
-			this.type = DEFAULT_SELECT;
-		}
-		return super.mergeEvent(e);
-	}
-
-	public String getType() {
-		return type;
-	}
-
-	protected Widget[] getItemsForEvent(Event event) {
-		if (event.widget instanceof Tree) {
-			return ((Tree) event.widget).getSelection();
-		} else if (event.widget instanceof Table) {
-			return ((Table) event.widget).getSelection();
-		} else if (event.widget instanceof TableTree) {
-			return ((TableTree) event.widget).getSelection();
-		}
-		return super.getItemsForEvent(event);
-	}
-
-	protected void playTreeCommand(Tree tree, TreeItem[] matches) {
-		tree.setSelection(matches);
-		fireEvent(tree, matches);
-	}
-
-	private void fireEvent(Widget widget, Widget[] items) {
-		Event e = new Event();
-		e.widget = widget;
-		e.type = type.equals(ITEM_SELECT) ? SWT.Selection : SWT.DefaultSelection;
-		e.item = items.length > 0 ? items[0] : null;
-		widget.notifyListeners(e.type, e);
-	}
-
-	protected void playTableCommand(Table table, TableItem[] matches) {
-		table.setSelection(matches);
-		fireEvent(table, matches);
-	}
-
-	protected void playTableTreeCommand(TableTree tableTree, TableTreeItem[] matches) {
-		tableTree.setSelection(matches);
-		fireEvent(tableTree, matches);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/ToggleStructuredCommand.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/ToggleStructuredCommand.java
deleted file mode 100644
index ec26b09..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/ToggleStructuredCommand.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.io.PrintWriter;
-import java.util.Hashtable;
-
-import org.eclipse.swt.widgets.Event;
-import org.w3c.dom.Node;
-
-public abstract class ToggleStructuredCommand extends AbstractStructuredCommand {
-	protected boolean value;
-
-	/**
-	 * @param wid
-	 */
-	public ToggleStructuredCommand(WidgetIdentifier wid) {
-		super(wid);
-	}
-
-	public boolean mergeEvent(Event e) {
-		return false;
-	}
-
-	protected void load(Node node, Hashtable lineTable) {
-		super.load(node, lineTable);
-		String att = MacroUtil.getAttribute(node, "value");
-		this.value = att != null && att.equals("true");
-	}
-
-	protected void writeAdditionalAttributes(PrintWriter writer) {
-		writer.print(" value=\"");
-		writer.print(value ? "true" : "false");
-		writer.print("\"");
-	}
-
-	public boolean getValue() {
-		return value;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/ViewCommandTarget.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/ViewCommandTarget.java
deleted file mode 100644
index 1f3210a..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/ViewCommandTarget.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-
-public class ViewCommandTarget extends CommandTarget {
-	public ViewCommandTarget(Widget widget, IViewPart view) {
-		super(widget, view);
-	}
-
-	public IViewPart getView() {
-		return (IViewPart) getContext();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.macro.CommandTarget#ensureVisible()
-	 */
-	public void ensureVisible() {
-		IViewPart view = getView();
-		IWorkbenchPage page = view.getViewSite().getPage();
-		page.activate(view);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/WaitCommand.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/WaitCommand.java
deleted file mode 100644
index cf203d9..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/WaitCommand.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.io.PrintWriter;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.IJobManager;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
-
-public class WaitCommand extends MacroCommand {
-	public static final String TYPE = "wait";
-	private static final WidgetIdentifier nullIdentifier = new WidgetIdentifier(new Path(""), new Path(""));
-
-	private static class JobListener extends JobChangeAdapter {
-		private int counter = 0;
-		private IProgressMonitor monitor;
-		private Thread t;
-
-		public JobListener(IProgressMonitor monitor, Thread t, int number) {
-			this.counter = number;
-			this.monitor = monitor;
-			this.t = t;
-		}
-
-		private synchronized void change(int increment) {
-			this.counter += increment;
-			if (counter == 0) {
-				monitor.subTask("");
-				synchronized (t) {
-					t.interrupt();
-				}
-			}
-		}
-
-		public void running(IJobChangeEvent event) {
-			Job job = event.getJob();
-			if (!job.isSystem())
-				change(1);
-		}
-
-		public void done(IJobChangeEvent event) {
-			Job job = event.getJob();
-			if (!job.isSystem())
-				change(-1);
-		}
-	}
-
-	public WaitCommand() {
-		super(nullIdentifier);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.macro.MacroCommand#getType()
-	 */
-	public String getType() {
-		return TYPE;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.macro.MacroCommand#processEvent(org.eclipse.swt.widgets.Event)
-	 */
-	public void processEvent(Event e) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.macro.IWritable#write(java.lang.String,
-	 *      java.io.PrintWriter)
-	 */
-	public void write(String indent, PrintWriter writer) {
-		writer.print(indent);
-		writer.print("<command type=\"");
-		writer.print(getType());
-		writer.print("\"");
-		writer.println("/>");
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.macro.IPlayable#playback(org.eclipse.swt.widgets.Composite)
-	 */
-	public boolean playback(Display display, Composite parent, IProgressMonitor monitor) throws CoreException {
-		if (parent.isDisposed())
-			return false;
-		IJobManager jobManager = Platform.getJobManager();
-		int nrunning = getNumberOfRunningJobs(jobManager);
-		if (nrunning == 0)
-			return true;
-		String message = "Waiting for the background jobs...";
-		JobListener listener = new JobListener(monitor, Thread.currentThread(), nrunning);
-		jobManager.addJobChangeListener(listener);
-		monitor.subTask(message);
-		try {
-			Thread.sleep(30000);
-		} catch (InterruptedException e) {
-		}
-		jobManager.removeJobChangeListener(listener);
-		return true;
-	}
-
-	private int getNumberOfRunningJobs(IJobManager manager) {
-		int count = 0;
-		Job[] jobs = manager.find(null);
-		for (int i = 0; i < jobs.length; i++) {
-			if (!jobs[i].isSystem() && jobs[i].getState() == Job.RUNNING)
-				count++;
-		}
-		return count;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/WidgetIdentifier.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/WidgetIdentifier.java
deleted file mode 100644
index 8ddc672..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/WidgetIdentifier.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import org.eclipse.core.runtime.IPath;
-
-public class WidgetIdentifier {
-	public IPath contextPath;
-	public IPath widgetPath;
-
-	public WidgetIdentifier(IPath contextPath, IPath widgetPath) {
-		this.contextPath = contextPath;
-		this.widgetPath = widgetPath;
-	}
-
-	public String getContextId() {
-		return contextPath.toString();
-	}
-
-	public String getWidgetId() {
-		return widgetPath.toString();
-	}
-
-	public IPath getFullyQualifiedPath() {
-		return contextPath.append(widgetPath);
-	}
-
-	public String getFullyQualifiedId() {
-		return getFullyQualifiedPath().toString();
-	}
-
-	public boolean equals(Object obj) {
-		if (obj == null)
-			return false;
-		if (obj == this)
-			return true;
-		if (obj instanceof WidgetIdentifier) {
-			WidgetIdentifier wid = (WidgetIdentifier) obj;
-			return wid.contextPath.equals(contextPath) && wid.widgetPath.equals(widgetPath);
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/WindowCommandTarget.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/WindowCommandTarget.java
deleted file mode 100644
index 44b7e51..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/WindowCommandTarget.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Widget;
-
-public class WindowCommandTarget extends CommandTarget {
-	/**
-	 * @param widget
-	 * @param context
-	 */
-	public WindowCommandTarget(Widget widget, Window window) {
-		super(widget, window);
-	}
-
-	Window getWindow() {
-		return (Window) getContext();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.macro.CommandTarget#ensureVisible()
-	 */
-	public void ensureVisible() {
-		Window window = getWindow();
-		window.getShell().setActive();
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/WizardCommandTarget.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/WizardCommandTarget.java
deleted file mode 100644
index c9becc8..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/WizardCommandTarget.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.Widget;
-
-public class WizardCommandTarget extends WindowCommandTarget {
-	/**
-	 * @param widget
-	 * @param window
-	 */
-	public WizardCommandTarget(Widget widget, Window window) {
-		super(widget, window);
-	}
-
-	public WizardDialog getWizardDialog() {
-		return (WizardDialog) getWindow();
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/XMLDefaultHandler.java b/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/XMLDefaultHandler.java
deleted file mode 100644
index 508fa84..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro Manager/org/eclipse/pde/internal/ui/tests/macro/XMLDefaultHandler.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.util.Hashtable;
-import java.util.Stack;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-import org.xml.sax.Attributes;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-public class XMLDefaultHandler extends DefaultHandler {
-
-	private org.w3c.dom.Document fDocument;
-
-	private Locator fLocator;
-
-	private Hashtable fLineTable;
-
-	private Element fRootElement;
-
-	private Stack fElementStack = new Stack();
-
-	public XMLDefaultHandler() {
-		fLineTable = new Hashtable();
-	}
-
-	public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
-		Element element = fDocument.createElement(qName);
-		for (int i = 0; i < attributes.getLength(); i++) {
-			element.setAttribute(attributes.getQName(i), attributes.getValue(i));
-		}
-
-		Integer lineNumber = new Integer(fLocator.getLineNumber());
-		Integer[] range = new Integer[] {lineNumber, new Integer(-1)};
-		fLineTable.put(element, range);
-		if (fRootElement == null)
-			fRootElement = element;
-		else
-			((Element) fElementStack.peek()).appendChild(element);
-		fElementStack.push(element);
-	}
-
-	public void endElement(String uri, String localName, String qName) throws SAXException {
-		Integer[] range = (Integer[]) fLineTable.get(fElementStack.pop());
-		range[1] = new Integer(fLocator.getLineNumber());
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.xml.sax.helpers.DefaultHandler#setDocumentLocator(org.xml.sax.Locator)
-	 */
-	public void setDocumentLocator(Locator locator) {
-		fLocator = locator;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.xml.sax.helpers.DefaultHandler#startDocument()
-	 */
-	public void startDocument() throws SAXException {
-		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-		try {
-			fDocument = factory.newDocumentBuilder().newDocument();
-		} catch (ParserConfigurationException e) {
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.xml.sax.helpers.DefaultHandler#endDocument()
-	 */
-	public void endDocument() throws SAXException {
-		fDocument.appendChild(fRootElement);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.xml.sax.helpers.DefaultHandler#processingInstruction(java.lang.String,
-	 *      java.lang.String)
-	 */
-	public void processingInstruction(String target, String data) throws SAXException {
-		fDocument.appendChild(fDocument.createProcessingInstruction(target, data));
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.xml.sax.helpers.DefaultHandler#characters(char[], int, int)
-	 */
-	public void characters(char[] characters, int start, int length) throws SAXException {
-		StringBuffer buff = new StringBuffer();
-		for (int i = 0; i < length; i++) {
-			buff.append(characters[start + i]);
-		}
-		Text text = fDocument.createTextNode(buff.toString());
-		if (fRootElement == null)
-			fDocument.appendChild(text);
-		else
-			((Element) fElementStack.peek()).appendChild(text);
-	}
-
-	public Node getDocumentElement() {
-		fDocument.getDocumentElement().normalize();
-		return fDocument.getDocumentElement();
-	}
-
-	public org.w3c.dom.Document getDocument() {
-		fDocument.getDocumentElement().normalize();
-		return fDocument;
-	}
-
-	public Hashtable getLineTable() {
-		return fLineTable;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/DefaultIndexHandler.java b/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/DefaultIndexHandler.java
deleted file mode 100644
index 8d57937..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/DefaultIndexHandler.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Shell;
-
-public class DefaultIndexHandler implements IIndexHandler {
-
-	public DefaultIndexHandler() {
-	}
-
-	public IStatus processIndex(final Shell shell, String indexId) {
-		final String message = "Index reached: " + indexId;
-
-		final IStatus[] result = new IStatus[1];
-
-		shell.getDisplay().syncExec(new Runnable() {
-			public void run() {
-				MessageDialog.openInformation(shell, "Macro Playback", message);
-				result[0] = Status.OK_STATUS;
-			}
-		});
-		return result[0];
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/DefaultWidgetResolver.java b/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/DefaultWidgetResolver.java
deleted file mode 100644
index 4f47844..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/DefaultWidgetResolver.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.pde.core.IIdentifiable;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.internal.core.ifeature.IFeatureModel;
-import org.eclipse.swt.custom.CTabFolder;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IPluginContribution;
-
-public class DefaultWidgetResolver implements IWidgetResolver {
-	public String getUniqueId(Widget widget) {
-		Object data = widget.getData();
-
-		// direct resolution (widget-independent)
-		if (data instanceof IPluginContribution)
-			return ((IPluginContribution) data).getLocalId();
-
-		// widget-specific resolution
-		if (widget instanceof TreeItem || widget instanceof TableItem) {
-			if (data instanceof IJavaElement)
-				return ((IJavaElement) data).getPath().toString();
-			if (data instanceof IResource)
-				return ((IResource) data).getFullPath().toString();
-			if (data instanceof IClasspathContainer)
-				return ((IClasspathContainer) data).getPath().toString();
-			if (data instanceof IPluginModelBase)
-				return ((IPluginModelBase) data).getPluginBase().getId();
-			if (data instanceof IFeatureModel)
-				return ((IFeatureModel) data).getFeature().getId();
-			if (data instanceof IIdentifiable)
-				return ((IIdentifiable) data).getId();
-		}
-		if (widget instanceof Button) {
-			if (data instanceof Integer)
-				return "ButtonId=" + ((Integer) data).intValue();
-		}
-		if (widget instanceof TabFolder || widget instanceof CTabFolder) {
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/IndexAction.java b/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/IndexAction.java
deleted file mode 100644
index c55ff95..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/IndexAction.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-public class IndexAction implements IWorkbenchWindowActionDelegate, IRecorderListener {
-	private IAction action;
-
-	/**
-	 * The constructor.
-	 */
-	public IndexAction() {
-		MacroManager recorder = MacroPlugin.getDefault().getMacroManager();
-		recorder.addRecorderListener(this);
-	}
-
-	/**
-	 * The action has been activated. The argument of the
-	 * method represents the 'real' action sitting
-	 * in the workbench UI.
-	 * @see IWorkbenchWindowActionDelegate#run
-	 */
-	public void run(IAction action) {
-		MacroManager recorder = MacroPlugin.getDefault().getMacroManager();
-		this.action = action;
-		if (!recorder.isRecording()) {
-			action.setEnabled(false);
-			return;
-		}
-		RecordBlock.getInstance().insertIndex();
-	}
-
-	/**
-	 * Selection in the workbench has been changed. We 
-	 * can change the state of the 'real' action here
-	 * if we want, but this can only happen after 
-	 * the delegate has been created.
-	 * @see IWorkbenchWindowActionDelegate#selectionChanged
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-
-	public void recordingStarted() {
-		if (action != null)
-			action.setEnabled(true);
-	}
-
-	public void recordingStopped() {
-		if (action != null)
-			action.setEnabled(false);
-	}
-
-	public void recordingInterrupted(int type) {
-	}
-
-	/**
-	 * We can use this method to dispose of any system
-	 * resources we previously allocated.
-	 * @see IWorkbenchWindowActionDelegate#dispose
-	 */
-	public void dispose() {
-		MacroManager recorder = MacroPlugin.getDefault().getMacroManager();
-		recorder.removeRecorderListener(this);
-		RecordBlock.dispose();
-	}
-
-	/**
-	 * We will cache window object in order to
-	 * be able to provide parent shell for the message dialog.
-	 * @see IWorkbenchWindowActionDelegate#init
-	 */
-	public void init(IWorkbenchWindow window) {
-		RecordBlock.init(window);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/IndexPage.java b/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/IndexPage.java
deleted file mode 100644
index 8f04462..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/IndexPage.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-
-public class IndexPage extends WizardPage {
-	private String indexId;
-	private Text text;
-	private TableViewer tableViewer;
-	private String[] existingIndices;
-
-	class ExistingProvider implements IStructuredContentProvider {
-		public Object[] getElements(Object inputElement) {
-			return existingIndices;
-		}
-
-		public void dispose() {
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-	}
-
-	public IndexPage(String[] existingIndices) {
-		super("index");
-		setTitle("Script index");
-		setDescription("Enter a unique id for the script index. The index will be processed by index handled during execution of the script.");
-		this.existingIndices = existingIndices;
-	}
-
-	public void createControl(Composite parent) {
-		Composite container = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		container.setLayout(layout);
-		Label label = new Label(container, SWT.NULL);
-		label.setText("&Index identifier:");
-		text = new Text(container, SWT.SINGLE | SWT.BORDER);
-		text.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				updateStatus();
-			}
-		});
-		text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		label = new Label(container, SWT.NULL);
-		label.setText("&Existing indices:");
-		tableViewer = new TableViewer(container, SWT.BORDER);
-		tableViewer.setContentProvider(new ExistingProvider());
-		tableViewer.setInput(this);
-		tableViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
-		tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				IStructuredSelection sel = (IStructuredSelection) event.getSelection();
-				Object obj = sel.getFirstElement();
-				if (obj != null)
-					text.setText(obj.toString());
-			}
-		});
-		setPageComplete(false);
-		setControl(container);
-	}
-
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if (visible)
-			text.setFocus();
-	}
-
-	private void updateStatus() {
-		String id = text.getText();
-		String errorMessage = null;
-		if (id.length() == 0) {
-			errorMessage = "Index id cannot be empty.";
-		} else {
-			boolean exists = false;
-			for (int i = 0; i < existingIndices.length; i++) {
-				if (id.equals(existingIndices[i])) {
-					exists = true;
-					break;
-				}
-			}
-			if (exists)
-				errorMessage = "Index id already exists.";
-		}
-		setErrorMessage(errorMessage);
-		setPageComplete(errorMessage == null);
-		if (errorMessage == null)
-			this.indexId = id;
-	}
-
-	public String getIndexId() {
-		return indexId;
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/IndexWizard.java b/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/IndexWizard.java
deleted file mode 100644
index 4380211..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/IndexWizard.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import org.eclipse.jface.wizard.Wizard;
-
-public class IndexWizard extends Wizard {
-	private IndexPage page;
-	private MacroManager macroManager;
-
-	public IndexWizard(MacroManager manager) {
-		this.macroManager = manager;
-		setWindowTitle("Macro Recorder");
-	}
-
-	public void addPages() {
-		page = new IndexPage(macroManager.getExistingIndices());
-		addPage(page);
-	}
-
-	public boolean performFinish() {
-		String indexId = page.getIndexId();
-		if (indexId != null) {
-			macroManager.addIndex(indexId);
-		}
-		return true;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/NewMacroWizard.java b/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/NewMacroWizard.java
deleted file mode 100644
index b8bba5d..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/NewMacroWizard.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.ISelectionService;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
-
-public class NewMacroWizard extends Wizard {
-	private String contents;
-	private NewMacroPage page;
-
-	class NewMacroPage extends WizardNewFileCreationPage {
-		public NewMacroPage(IStructuredSelection ssel) {
-			super("newFile", ssel);
-			setTitle("Macro script name");
-			setDescription("Select the target location and the name of the new script (extension *.emc).");
-		}
-
-		public InputStream getInitialContents() {
-			InputStream is = null;
-			try {
-				is = new ByteArrayInputStream(contents.getBytes("UTF8"));
-			} catch (UnsupportedEncodingException e) {
-			}
-			return is;
-		}
-	}
-
-	public NewMacroWizard(String contents) {
-		this.contents = contents;
-		setWindowTitle("Macro Recorder");
-	}
-
-	public void addPages() {
-		ISelectionService sservice = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService();
-		ISelection selection = sservice.getSelection();
-		IStructuredSelection ssel;
-		if (!(selection instanceof IStructuredSelection))
-			ssel = new StructuredSelection();
-		else
-			ssel = (IStructuredSelection) selection;
-
-		page = new NewMacroPage(ssel);
-		addPage(page);
-	}
-
-	public boolean performFinish() {
-		IFile file = page.createNewFile();
-		return file != null;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/PlaybackAction.java b/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/PlaybackAction.java
deleted file mode 100644
index d5cb65c..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/PlaybackAction.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * Our sample action implements workbench action delegate.
- * The action proxy will be created by the workbench and
- * shown in the UI. When the user tries to use the action,
- * this delegate will be created and execution will be 
- * delegated to it.
- * @see IWorkbenchWindowActionDelegate
- */
-public class PlaybackAction implements IWorkbenchWindowActionDelegate {
-	private IWorkbenchWindow window;
-
-	/**
-	 * The constructor.
-	 */
-	public PlaybackAction() {
-	}
-
-	/**
-	 * The action has been activated. The argument of the
-	 * method represents the 'real' action sitting
-	 * in the workbench UI.
-	 * @see IWorkbenchWindowActionDelegate#run
-	 */
-	public void run(IAction action) {
-		ISelection selection = window.getSelectionService().getSelection();
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection ssel = (IStructuredSelection) selection;
-			Object el = ssel.getFirstElement();
-			if (el instanceof IFile) {
-				action.setEnabled(false);
-				runFile((IFile) el);
-				action.setEnabled(true);
-			}
-		}
-	}
-
-	private void runFile(IFile file) {
-		try {
-			InputStream is = file.getContents();
-			MacroManager mng = MacroPlugin.getDefault().getMacroManager();
-			mng.setIndexHandler(new DefaultIndexHandler());
-			mng.play(window.getShell().getDisplay(), window, file.getName(), is);
-			mng.setIndexHandler(null);
-		} catch (CoreException e) {
-			MacroPlugin.logException(e);
-		}
-	}
-
-	/**
-	 * Selection in the workbench has been changed. We 
-	 * can change the state of the 'real' action here
-	 * if we want, but this can only happen after 
-	 * the delegate has been created.
-	 * @see IWorkbenchWindowActionDelegate#selectionChanged
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-
-	/**
-	 * We can use this method to dispose of any system
-	 * resources we previously allocated.
-	 * @see IWorkbenchWindowActionDelegate#dispose
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * We will cache window object in order to
-	 * be able to provide parent shell for the message dialog.
-	 * @see IWorkbenchWindowActionDelegate#init
-	 */
-	public void init(IWorkbenchWindow window) {
-		this.window = window;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/RecordAction.java b/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/RecordAction.java
deleted file mode 100644
index 2b515bf..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/RecordAction.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-/**
- * Our sample action implements workbench action delegate.
- * The action proxy will be created by the workbench and
- * shown in the UI. When the user tries to use the action,
- * this delegate will be created and execution will be 
- * delegated to it.
- * @see IWorkbenchWindowActionDelegate
- */
-public class RecordAction implements IWorkbenchWindowActionDelegate, IRecorderListener {
-	private IAction action;
-
-	/**
-	 * The constructor.
-	 */
-	public RecordAction() {
-		MacroManager recorder = MacroPlugin.getDefault().getMacroManager();
-		recorder.addRecorderListener(this);
-	}
-
-	/**
-	 * The action has been activated. The argument of the
-	 * method represents the 'real' action sitting
-	 * in the workbench UI.
-	 * @see IWorkbenchWindowActionDelegate#run
-	 */
-	public void run(IAction action) {
-		MacroManager recorder = MacroPlugin.getDefault().getMacroManager();
-		this.action = action;
-		if (recorder.isRecording()) {
-			action.setEnabled(false);
-			return;
-		}
-		RecordBlock.getInstance().startRecording();
-	}
-
-	/**
-	 * Selection in the workbench has been changed. We 
-	 * can change the state of the 'real' action here
-	 * if we want, but this can only happen after 
-	 * the delegate has been created.
-	 * @see IWorkbenchWindowActionDelegate#selectionChanged
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-
-	/**
-	 * We can use this method to dispose of any system
-	 * resources we previously allocated.
-	 * @see IWorkbenchWindowActionDelegate#dispose
-	 */
-	public void dispose() {
-		MacroManager recorder = MacroPlugin.getDefault().getMacroManager();
-		recorder.removeRecorderListener(this);
-		RecordBlock.dispose();
-	}
-
-	public void recordingStarted() {
-		this.action.setEnabled(false);
-	}
-
-	public void recordingStopped() {
-		this.action.setEnabled(true);
-	}
-
-	public void recordingInterrupted(int type) {
-	}
-
-	/**
-	 * We will cache window object in order to
-	 * be able to provide parent shell for the message dialog.
-	 * @see IWorkbenchWindowActionDelegate#init
-	 */
-	public void init(IWorkbenchWindow window) {
-		RecordBlock.init(window);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/RecordBlock.java b/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/RecordBlock.java
deleted file mode 100644
index fe8f4ee..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/RecordBlock.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-
-public class RecordBlock implements IRecorderListener {
-	private IWorkbenchWindow window;
-	private static RecordBlock instance;
-
-	private RecordBlock() {
-	}
-
-	public static RecordBlock getInstance() {
-		if (instance == null) {
-			instance = new RecordBlock();
-		}
-		return instance;
-	}
-
-	public static void init(IWorkbenchWindow window) {
-		if (instance == null) {
-			getInstance().internalInit(window);
-		}
-	}
-
-	private void internalInit(IWorkbenchWindow window) {
-		this.window = window;
-		MacroManager recorder = MacroPlugin.getDefault().getMacroManager();
-		recorder.addRecorderListener(this);
-	}
-
-	public static void dispose() {
-		if (instance != null) {
-			instance.internalDispose();
-			instance = null;
-		}
-	}
-
-	private void internalDispose() {
-		MacroManager recorder = MacroPlugin.getDefault().getMacroManager();
-		recorder.removeRecorderListener(this);
-	}
-
-	public void startRecording() {
-		MacroManager recorder = MacroPlugin.getDefault().getMacroManager();
-		recorder.startRecording();
-	}
-
-	public void stopRecording() {
-		MacroManager recorder = MacroPlugin.getDefault().getMacroManager();
-		Macro macro = recorder.stopRecording();
-		StringWriter swriter = new StringWriter();
-		PrintWriter pwriter = new PrintWriter(swriter);
-		macro.write("", pwriter);
-		pwriter.close();
-		try {
-			swriter.close();
-		} catch (IOException e) {
-			System.out.println(e);
-		}
-		String contents = swriter.toString();
-		NewMacroWizard wizard = new NewMacroWizard(contents);
-		WizardDialog wd = new WizardDialog(window.getShell(), wizard);
-		wd.setMinimumPageSize(500, 500);
-		wd.open();
-	}
-
-	public void recordingStarted() {
-	}
-
-	public void recordingStopped() {
-	}
-
-	public void recordingInterrupted(int interruptType) {
-		if (interruptType == STOP)
-			stopRecording();
-		else if (interruptType == INDEX)
-			insertIndex();
-	}
-
-	public void insertIndex() {
-		MacroManager recorder = MacroPlugin.getDefault().getMacroManager();
-		IndexWizard wizard = new IndexWizard(recorder);
-		WizardDialog wd = new WizardDialog(window.getShell(), wizard);
-		//wd.setMinimumPageSize(300, 400);
-		wd.create();
-		wd.getShell().setData(MacroManager.IGNORE, Boolean.TRUE);
-		wd.getShell().setSize(300, 400);
-		wd.open();
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/StopAction.java b/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/StopAction.java
deleted file mode 100644
index 43d46e0..0000000
--- a/ui/org.eclipse.pde.ui.tests/Macro UI/org/eclipse/pde/internal/ui/tests/macro/StopAction.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.internal.ui.tests.macro;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-public class StopAction implements IWorkbenchWindowActionDelegate, IRecorderListener {
-	private IAction action;
-
-	/**
-	 * The constructor.
-	 */
-	public StopAction() {
-		MacroManager recorder = MacroPlugin.getDefault().getMacroManager();
-		recorder.addRecorderListener(this);
-	}
-
-	/**
-	 * The action has been activated. The argument of the
-	 * method represents the 'real' action sitting
-	 * in the workbench UI.
-	 * @see IWorkbenchWindowActionDelegate#run
-	 */
-	public void run(IAction action) {
-		MacroManager recorder = MacroPlugin.getDefault().getMacroManager();
-		this.action = action;
-		if (!recorder.isRecording()) {
-			action.setEnabled(false);
-			return;
-		}
-		RecordBlock.getInstance().stopRecording();
-	}
-
-	/**
-	 * Selection in the workbench has been changed. We 
-	 * can change the state of the 'real' action here
-	 * if we want, but this can only happen after 
-	 * the delegate has been created.
-	 * @see IWorkbenchWindowActionDelegate#selectionChanged
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-
-	public void recordingStarted() {
-		if (action != null)
-			action.setEnabled(true);
-	}
-
-	public void recordingStopped() {
-		if (action != null)
-			action.setEnabled(false);
-	}
-
-	public void recordingInterrupted(int type) {
-	}
-
-	/**
-	 * We can use this method to dispose of any system
-	 * resources we previously allocated.
-	 * @see IWorkbenchWindowActionDelegate#dispose
-	 */
-	public void dispose() {
-		MacroManager recorder = MacroPlugin.getDefault().getMacroManager();
-		recorder.removeRecorderListener(this);
-		RecordBlock.dispose();
-	}
-
-	/**
-	 * We will cache window object in order to
-	 * be able to provide parent shell for the message dialog.
-	 * @see IWorkbenchWindowActionDelegate#init
-	 */
-	public void init(IWorkbenchWindow window) {
-		RecordBlock.init(window);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/about.html b/ui/org.eclipse.pde.ui.tests/about.html
deleted file mode 100644
index 4602330..0000000
--- a/ui/org.eclipse.pde.ui.tests/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.tests/build.properties b/ui/org.eclipse.pde.ui.tests/build.properties
deleted file mode 100644
index ee1b147..0000000
--- a/ui/org.eclipse.pde.ui.tests/build.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.tests.jar = src/,\
-                   Macro Manager/,\
-                   Macro UI/
-output.tests.jar = bin/
-bin.includes = tests.jar,\
-               plugin.xml,\
-               test.xml,\
-               about.html,\
-               schema/,\
-               icons/,\
-               META-INF/,\
-               tests/
diff --git a/ui/org.eclipse.pde.ui.tests/icons/external_tools.gif b/ui/org.eclipse.pde.ui.tests/icons/external_tools.gif
deleted file mode 100644
index b05bf3e..0000000
--- a/ui/org.eclipse.pde.ui.tests/icons/external_tools.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.tests/icons/run_exc.gif b/ui/org.eclipse.pde.ui.tests/icons/run_exc.gif
deleted file mode 100644
index 57f4102..0000000
--- a/ui/org.eclipse.pde.ui.tests/icons/run_exc.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.tests/icons/sample.gif b/ui/org.eclipse.pde.ui.tests/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/ui/org.eclipse.pde.ui.tests/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.tests/icons/suspend_co.gif b/ui/org.eclipse.pde.ui.tests/icons/suspend_co.gif
deleted file mode 100644
index 161e3f5..0000000
--- a/ui/org.eclipse.pde.ui.tests/icons/suspend_co.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.tests/icons/terminate_co.gif b/ui/org.eclipse.pde.ui.tests/icons/terminate_co.gif
deleted file mode 100644
index dc47edf..0000000
--- a/ui/org.eclipse.pde.ui.tests/icons/terminate_co.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.pde.ui.tests/plugin.xml b/ui/org.eclipse.pde.ui.tests/plugin.xml
deleted file mode 100644
index 20b60c8..0000000
--- a/ui/org.eclipse.pde.ui.tests/plugin.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-   
-     <extension-point id="macroSupport" name="Macro Support" schema="schema/macroSupport.exsd"/>
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="Sample Action Set"
-            visible="true"
-            id="org.eclipse.ui.macro.actionSet">
-         <menu
-               label="&amp;Macros..."
-               path="window/additions"
-               id="macro">
-            <separator name="group1"/>
-         </menu>
-         <action
-               toolbarPath="sampleGroup"
-               label="&amp;Start Recording"
-               class="org.eclipse.pde.internal.ui.tests.macro.RecordAction"
-               tooltip="Start Recording"
-               icon="icons/external_tools.gif"
-               menubarPath="window/macro/group1"
-               id="org.eclipse.pde.ui.tests.RecordAction"/>
-         <action
-               class="org.eclipse.pde.internal.ui.tests.macro.IndexAction"
-               definitionId="org.eclipse.pde.ui.tests.index"
-               icon="icons/suspend_co.gif"
-               id="org.eclipse.pde.ui.tests.IndexAction"
-               label="&amp;Pause for Indexing"
-               menubarPath="window/macro/group1"
-               toolbarPath="sampleGroup"
-               tooltip="Pause for Indexing"/>
-         <action
-               class="org.eclipse.pde.internal.ui.tests.macro.StopAction"
-               definitionId="org.eclipse.pde.ui.tests.stopRecording"
-               icon="icons/terminate_co.gif"
-               id="org.eclipse.pde.ui.tests.StopAction"
-               label="S&amp;top Recording"
-               menubarPath="window/macro/group1"
-               toolbarPath="sampleGroup"
-               tooltip="Stop Recording"/>
-         <action
-               enablesFor="1"
-               toolbarPath="sampleGroup"
-               label="&amp;Playback"
-               icon="icons/run_exc.gif"
-               tooltip="&amp;Run Macro"
-               class="org.eclipse.pde.internal.ui.tests.macro.PlaybackAction"
-               menubarPath="window/macro/group1"
-               id="org.eclipse.pde.ui.tests.PlaybackAction">
-            <enablement>
-            	<and>
-   					<objectClass name="org.eclipse.core.resources.IFile"/>
-   						<objectState name="extension" value="emc"/>
-  				</and>
- 			</enablement>
- 		</action>
-     </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.pde.ui.tests.macroSupport">
-      <widgetResolver class="org.eclipse.pde.internal.ui.tests.macro.DefaultWidgetResolver"/>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <command
-            description="Stops the recording of the macro"
-            categoryId="org.eclipse.ui.category.window"
-            name="Stop Macro Recording"
-            id="org.eclipse.pde.ui.tests.stopRecording"/>
-     <command
-            description="Places a named index in the macro"
-            categoryId="org.eclipse.ui.category.window"
-            name="Index Macro"
-            id="org.eclipse.pde.ui.tests.index"/>
-      <keyBinding
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            commandId="org.eclipse.pde.ui.tests.stopRecording"
-            keySequence="Ctrl+Shift+F11"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <keyBinding
-            contextId="org.eclipse.ui.contexts.dialogAndWindow"
-            commandId="org.eclipse.pde.ui.tests.index"
-            keySequence="Ctrl+Shift+F10"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration"/>            
-   </extension>
-</plugin>
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.tests/schema/macroSupport.exsd b/ui/org.eclipse.pde.ui.tests/schema/macroSupport.exsd
deleted file mode 100644
index 0547335..0000000
--- a/ui/org.eclipse.pde.ui.tests/schema/macroSupport.exsd
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.pde.ui.tests">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.pde.ui.tests" id="macroSupport" name="Macro Support"/>
-      </appInfo>
-      <documentation>
-         [Enter description of this extension point.]
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="widgetResolver" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="widgetResolver">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.macro.IWidgetResolver"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2005 IBM Corporation and others.
-
-&lt;br&gt;
-
-All rights reserved. This program and the accompanying materials are made 
-
-available under the terms of the Eclipse Public License v1.0 which 
-
-accompanies this distribution, and is available at 
-
-&lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;.
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/AllPDETests.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/AllPDETests.java
deleted file mode 100644
index 9be64bc..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/AllPDETests.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.pde.ui.tests.imports.AllImportTests;
-import org.eclipse.pde.ui.tests.model.bundle.AllBundleModelTests;
-import org.eclipse.pde.ui.tests.model.cheatsheet.AllCheatSheetModelTests;
-import org.eclipse.pde.ui.tests.model.xml.AllXMLModelTests;
-import org.eclipse.pde.ui.tests.target.AllTargetTests;
-import org.eclipse.pde.ui.tests.wizards.AllNewProjectTests;
-
-public class AllPDETests {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test Suite for org.eclipse.pde.ui"); //$NON-NLS-1$
-		suite.addTest(AllTargetTests.suite());
-		suite.addTest(AllNewProjectTests.suite());
-		suite.addTest(AllImportTests.suite());
-		suite.addTest(AllBundleModelTests.suite());
-		suite.addTest(AllXMLModelTests.suite());
-		suite.addTest(AllCheatSheetModelTests.suite());
-		return suite;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/NewProjectTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/NewProjectTestCase.java
deleted file mode 100644
index 4598521..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/NewProjectTestCase.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-public abstract class NewProjectTestCase extends PDETestCase {
-
-	protected void verifyProjectExistence() {
-		assertTrue("Project does not exist", getProject().exists()); //$NON-NLS-1$
-	}
-
-	protected IProject getProject() {
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		return root.getProject(getProjectName());
-	}
-
-	protected boolean hasNature(String nature) {
-		boolean hasNature = false;
-		try {
-			hasNature = getProject().hasNature(nature);
-		} catch (CoreException e) {
-		}
-		return hasNature;
-	}
-
-	protected abstract String getProjectName();
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/PDETestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/PDETestCase.java
deleted file mode 100644
index 526d452..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/PDETestCase.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.PlatformUI;
-
-public abstract class PDETestCase extends TestCase {
-
-	protected Shell getShell() {
-		return PlatformUI.getWorkbench().getDisplay().getActiveShell();
-	}
-
-	protected void tearDown() {
-		IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-		IProject[] projects = workspaceRoot.getProjects();
-		try {
-			for (int i = 0; i < projects.length; i++) {
-				projects[i].delete(true, new NullProgressMonitor());
-			}
-		} catch (CoreException e) {
-		}
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/AllImportTests.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/AllImportTests.java
deleted file mode 100644
index c31aa67..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/AllImportTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.imports;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllImportTests {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test Suite to test the plug-in and feature import wizards."); //$NON-NLS-1$
-		suite.addTest(ImportWithLinksTestCase.suite());
-		suite.addTest(ImportAsBinaryTestCase.suite());
-		suite.addTest(ImportAsSourceTestCase.suite());
-		suite.addTest(ImportFeatureProjectsTestCase.suite());
-		return suite;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/BaseImportTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/BaseImportTestCase.java
deleted file mode 100644
index d5213e8..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/BaseImportTestCase.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.imports;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jdt.core.*;
-import org.eclipse.pde.core.plugin.IPluginModelBase;
-import org.eclipse.pde.core.plugin.PluginRegistry;
-import org.eclipse.pde.internal.core.PDECore;
-import org.eclipse.pde.internal.ui.PDEPlugin;
-import org.eclipse.pde.internal.ui.wizards.imports.PluginImportOperation;
-import org.eclipse.pde.internal.ui.wizards.imports.PluginImportWizard.ImportQuery;
-import org.eclipse.pde.ui.tests.PDETestCase;
-
-public abstract class BaseImportTestCase extends PDETestCase {
-	
-	protected abstract int getType();
-	protected abstract void verifyProject(String projectName, boolean isJava);
-	
-	public void testImportLinksJAR() {
-		doSingleImport("org.eclipse.pde.core", true);
-	}
-
-	public void testImportLinksFlat() {
-		doSingleImport("org.eclipse.jdt.debug", true);
-	}
-
-	public void testImportLinksNotJavaFlat() {
-		doSingleImport("org.eclipse.pde.source", false);
-	}
-
-	public void testImportLinksNotJavaJARd() {
-		doSingleImport("org.eclipse.jdt.doc.user", false);
-	}
-	
-	private void doSingleImport(String bundleSymbolicName, boolean isJava) {
-		IPluginModelBase modelToImport = PluginRegistry.findModel(bundleSymbolicName);
-		assertNull(modelToImport.getUnderlyingResource());
-		runOperation(new IPluginModelBase[] {modelToImport}, getType());
-		verifyProject(modelToImport, isJava);
-	}
-	
-	public void testImportLinksMultiple() {
-		IPluginModelBase[] modelsToImport = getModels(new String[] {"org.eclipse.core.filebuffers", "org.eclipse.jdt.doc.user", "org.eclipse.pde.build"});
-		runOperation(modelsToImport, getType());
-		for (int i = 0; i < modelsToImport.length; i++) {
-			verifyProject(modelsToImport[i], i != 1);
-		}
-	}
-	
-	protected void runOperation(IPluginModelBase[] models, int type) {
-		PluginImportOperation.IImportQuery query = new ImportQuery(getShell());
-		PluginImportOperation.IImportQuery executionQuery = new ImportQuery(getShell());
-		final PluginImportOperation op = new PluginImportOperation(models, type, query, executionQuery, false);
-
-		try {
-			PDEPlugin.getWorkspace().run(op, new NullProgressMonitor());
-		} catch (OperationCanceledException e) {
-			fail("Import Operation failed: " + e);
-		} catch (CoreException e) {
-			fail("Import Operation failed: " + e);
-		}
-	}
-
-	protected IPluginModelBase[] getModels(String[] symbolicNames) {
-		IPluginModelBase[] models = new IPluginModelBase[symbolicNames.length];
-		for (int i = 0; i < symbolicNames.length; i++) {
-			IPluginModelBase model = PluginRegistry.findModel(symbolicNames[i]);
-			assertNull(model.getUnderlyingResource());
-			models[i] = model;
-		}
-		return models;
-	}
-	
-	protected void verifyProject(IPluginModelBase modelImported, boolean isJava) {
-		String id = modelImported.getPluginBase().getId();
-		verifyProject(id, isJava);
-	}
-
-	protected IProject verifyProject(String projectName) {
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		IProject project = root.getProject(projectName);
-		assertTrue("Project " + projectName + " does not exist", project.exists());
-		return project;
-	}
-
-	protected boolean checkSourceAttached(IJavaProject jProject) throws CoreException {
-		IPackageFragmentRoot[] roots = jProject.getPackageFragmentRoots();
-		for (int i = 0; i < roots.length; i++) {
-			IClasspathEntry entry = roots[i].getRawClasspathEntry();
-			if (entry.getEntryKind() != IClasspathEntry.CPE_LIBRARY || entry.getEntryKind() != IClasspathEntry.CPE_CONTAINER || !entry.getPath().equals(PDECore.REQUIRED_PLUGINS_CONTAINER_PATH))
-				continue;
-			if (roots[i].getSourceAttachmentPath() == null)
-				return false;
-		}
-		return true;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/ImportAsBinaryTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/ImportAsBinaryTestCase.java
deleted file mode 100644
index abbdab4..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/ImportAsBinaryTestCase.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.imports;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.*;
-import org.eclipse.pde.internal.core.PDECore;
-import org.eclipse.pde.internal.core.natures.PDE;
-import org.eclipse.pde.internal.ui.wizards.imports.PluginImportOperation;
-
-public class ImportAsBinaryTestCase extends BaseImportTestCase {
-
-	private static int TYPE = PluginImportOperation.IMPORT_BINARY;
-
-	public static Test suite() {
-		return new TestSuite(ImportAsBinaryTestCase.class);
-	}
-	
-	protected int getType() {
-		return TYPE;
-	}
-
-	protected void verifyProject(String projectName, boolean isJava) {
-		try {
-			IProject project = verifyProject(projectName);
-			assertEquals(PDECore.BINARY_PROJECT_VALUE, project.getPersistentProperty(PDECore.EXTERNAL_PROJECT_PROPERTY));
-			assertTrue(project.hasNature(PDE.PLUGIN_NATURE));
-			assertEquals(isJava, project.hasNature(JavaCore.NATURE_ID));
-			if (isJava) {
-				IJavaProject jProject = JavaCore.create(project);
-				assertTrue(checkSourceAttached(jProject));
-				assertTrue(checkLibraryEntry(jProject));
-			}
-		} catch (CoreException e) {
-			fail(e.getMessage());
-		}
-	}
-
-	private boolean checkLibraryEntry(IJavaProject jProject) throws JavaModelException {
-		IClasspathEntry[] entries = jProject.getRawClasspath();
-		for (int i = 0; i < entries.length; i++) {
-			if (entries[i].getEntryKind() == IClasspathEntry.CPE_LIBRARY)
-				return true;
-		}
-		return false;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/ImportAsSourceTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/ImportAsSourceTestCase.java
deleted file mode 100644
index 268e7af..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/ImportAsSourceTestCase.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.imports;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.pde.internal.core.natures.PDE;
-import org.eclipse.pde.internal.ui.wizards.imports.PluginImportOperation;
-
-public class ImportAsSourceTestCase extends BaseImportTestCase {
-
-	private static int TYPE = PluginImportOperation.IMPORT_WITH_SOURCE;
-
-	public static Test suite() {
-		return new TestSuite(ImportAsSourceTestCase.class);
-	}
-
-	protected int getType() {
-		return TYPE;
-	}
-
-	protected void verifyProject(String projectName, boolean isJava) {
-		try {
-			IProject project = verifyProject(projectName);
-			assertTrue(project.hasNature(PDE.PLUGIN_NATURE));
-			assertEquals(isJava, project.hasNature(JavaCore.NATURE_ID));
-			if (isJava) {
-				IJavaProject jProject = JavaCore.create(project);
-				assertTrue(checkSourceAttached(jProject));
-				assertTrue(checkSourceFolder(jProject));
-			}
-		} catch (CoreException e) {
-			fail(e.getMessage());
-		}
-	}
-
-	private boolean checkSourceFolder(IJavaProject jProject) throws JavaModelException {
-		IClasspathEntry[] entries = jProject.getRawClasspath();
-		for (int i = 0; i < entries.length; i++) {
-			if (entries[i].getEntryKind() == IClasspathEntry.CPE_SOURCE)
-				return true;
-		}
-		return false;
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/ImportFeatureProjectsTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/ImportFeatureProjectsTestCase.java
deleted file mode 100644
index da0eccc..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/ImportFeatureProjectsTestCase.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.imports;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.pde.internal.core.PDECore;
-import org.eclipse.pde.internal.core.ifeature.IFeatureInstallHandler;
-import org.eclipse.pde.internal.core.ifeature.IFeatureModel;
-import org.eclipse.pde.internal.core.ifeature.IFeaturePlugin;
-import org.eclipse.pde.internal.core.natures.PDE;
-import org.eclipse.pde.internal.ui.PDEPlugin;
-import org.eclipse.pde.internal.ui.wizards.imports.FeatureImportOperation;
-import org.eclipse.pde.internal.ui.wizards.imports.FeatureImportWizard.ReplaceQuery;
-import org.eclipse.pde.ui.tests.NewProjectTestCase;
-
-public class ImportFeatureProjectsTestCase extends NewProjectTestCase {
-
-	private String fProjectName;
-
-	public static Test suite() {
-		return new TestSuite(ImportFeatureProjectsTestCase.class);
-	}
-
-	protected void tearDown() {
-		fProjectName = null;
-		super.tearDown();
-	}
-
-	protected String getProjectName() {
-		return fProjectName;
-	}
-
-	private void lookingAtProject(IFeatureModel model) {
-		String name = model.getFeature().getId();
-
-		IFeaturePlugin[] plugins = model.getFeature().getPlugins();
-		for (int i = 0; i < plugins.length; i++) {
-			if (name.equals(plugins[i].getId())) {
-				name += "-feature"; //$NON-NLS-1$
-				break;
-			}
-
-		}
-		fProjectName = name;
-	}
-
-	private void importFeature(IFeatureModel[] models, boolean binary) {
-		FeatureImportOperation op = new FeatureImportOperation(models, binary, null, new ReplaceQuery(getShell()));
-		try {
-			PDEPlugin.getWorkspace().run(op, new NullProgressMonitor());
-			if (models.length > 0)
-				lookingAtProject(models[0]);
-		} catch (OperationCanceledException e) {
-			fail("Feature import failed...");
-		} catch (CoreException e) {
-			fail("Feature import failed...");
-		}
-	}
-
-	private void verifyNatures() {
-		IFeatureModel[] imported = PDECore.getDefault().getFeatureModelManager().getWorkspaceModels();
-		for (int i = 0; i < imported.length; i++) {
-			lookingAtProject(imported[i]);
-			assertTrue("Verifying feature nature...", hasNature(PDE.FEATURE_NATURE));
-			IFeatureInstallHandler installHandler = imported[i].getFeature().getInstallHandler();
-			boolean shouldHaveJavaNature = installHandler != null ? installHandler.getLibrary() != null : false;
-			assertTrue("Verifying java nature...", hasNature(JavaCore.NATURE_ID) == shouldHaveJavaNature);
-		}
-	}
-
-	private void verifyFeature(boolean isBinary) {
-		IFeatureModel[] imported = PDECore.getDefault().getFeatureModelManager().getWorkspaceModels();
-		for (int i = 0; i < imported.length; i++) {
-			lookingAtProject(imported[i]);
-			try {
-				assertTrue("Verifing feature is binary...", isBinary == PDECore.BINARY_PROJECT_VALUE.equals(getProject().getPersistentProperty(PDECore.EXTERNAL_PROJECT_PROPERTY)));
-			} catch (CoreException e) {
-			}
-		}
-	}
-
-	protected void verifyProjectExistence() {
-		IFeatureModel[] imported = PDECore.getDefault().getFeatureModelManager().getWorkspaceModels();
-		for (int i = 0; i < imported.length; i++) {
-			lookingAtProject(imported[i]);
-			super.verifyProjectExistence();
-		}
-	}
-
-	public void testImportFeature() {
-		IFeatureModel[] model = PDECore.getDefault().getFeatureModelManager().getModels();
-		if (model.length == 0)
-			return;
-		boolean binary = false;
-		importFeature(new IFeatureModel[] {model[0]}, binary);
-		verifyProjectExistence();
-		verifyNatures();
-		verifyFeature(binary);
-	}
-
-	public void testImportBinaryFeature() {
-		IFeatureModel[] model = PDECore.getDefault().getFeatureModelManager().getModels();
-		if (model.length == 0)
-			return;
-		boolean binary = true;
-		importFeature(new IFeatureModel[] {model[0]}, binary);
-		verifyProjectExistence();
-		verifyNatures();
-		verifyFeature(binary);
-	}
-
-	public void testImportMulitpleFeatures() {
-		IFeatureModel[] models = PDECore.getDefault().getFeatureModelManager().getModels();
-		if (models.length == 0)
-			return;
-		boolean binary = false;
-		importFeature(models, binary);
-		verifyProjectExistence();
-		verifyNatures();
-		verifyFeature(binary);
-		IFeatureModel[] imported = PDECore.getDefault().getFeatureModelManager().getWorkspaceModels();
-		assertTrue("Verifing number models imported...", imported.length == models.length);
-	}
-
-	public void testFeaturePlugins() {
-		IFeatureModel[] model = PDECore.getDefault().getFeatureModelManager().getModels();
-		if (model.length == 0)
-			return;
-		boolean binary = false;
-		importFeature(new IFeatureModel[] {model[0]}, binary);
-		verifyProjectExistence();
-		verifyNatures();
-		verifyFeature(binary);
-		IFeatureModel[] imported = PDECore.getDefault().getFeatureModelManager().getWorkspaceModels();
-		assertTrue("Verifing number models imported...", imported.length == 1);
-		IFeaturePlugin[] plugins = model[0].getFeature().getPlugins();
-		if (plugins != null) {
-			IFeaturePlugin[] importedFeaturePlugins = getFeaturePluginsFrom(model[0].getFeature().getId(), imported);
-			assertNotNull("Verifying feature plugins exist...", importedFeaturePlugins);
-			assertTrue("Verifying total equal feature plugins...", plugins.length == importedFeaturePlugins.length);
-		}
-	}
-
-	private IFeaturePlugin[] getFeaturePluginsFrom(String id, IFeatureModel[] imported) {
-		for (int i = 0; i < imported.length; i++)
-			if (imported[i].getFeature().getId().equals(id))
-				return imported[0].getFeature().getPlugins();
-		return null;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/ImportWithLinksTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/ImportWithLinksTestCase.java
deleted file mode 100644
index 614693c..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/imports/ImportWithLinksTestCase.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.imports;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jdt.core.*;
-import org.eclipse.pde.internal.core.BinaryRepositoryProvider;
-import org.eclipse.pde.internal.core.natures.PDE;
-import org.eclipse.pde.internal.ui.wizards.imports.PluginImportOperation;
-import org.eclipse.team.core.RepositoryProvider;
-
-public class ImportWithLinksTestCase extends BaseImportTestCase {
-
-	private static int TYPE = PluginImportOperation.IMPORT_BINARY_WITH_LINKS;
-
-	public static Test suite() {
-		return new TestSuite(ImportWithLinksTestCase.class);
-	}
-	
-	protected int getType() {
-		return TYPE;
-	}
-	
-	protected void verifyProject(String projectName, boolean isJava) {
-		try {
-			IProject project = verifyProject(projectName);
-			RepositoryProvider provider = RepositoryProvider.getProvider(project);
-			assertTrue(provider instanceof BinaryRepositoryProvider);
-			assertTrue(project.hasNature(PDE.PLUGIN_NATURE));
-			assertEquals(isJava, project.hasNature(JavaCore.NATURE_ID));
-			if (isJava) {
-				IJavaProject jProject = JavaCore.create(project);
-				assertTrue(checkSourceAttached(jProject));
-				assertTrue(checkLibraryEntry(jProject));
-			}
-		} catch (CoreException e) {
-			fail(e.getMessage());
-		}
-	}
-
-	private boolean checkLibraryEntry(IJavaProject jProject) throws JavaModelException {
-		IClasspathEntry[] entries = jProject.getRawClasspath();
-		for (int i = 0; i < entries.length; i++) {
-			if (entries[i].getEntryKind() == IClasspathEntry.CPE_LIBRARY)
-				return true;
-		}
-		return false;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/AllBundleModelTests.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/AllBundleModelTests.java
deleted file mode 100644
index 0086722..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/AllBundleModelTests.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.bundle;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllBundleModelTests {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test Suite for testing the bundle model"); //$NON-NLS-1$
-		suite.addTest(ImportPackageTestCase.suite());
-		suite.addTest(ExportPackageTestCase.suite());
-		suite.addTest(BundleClasspathTestCase.suite());
-		suite.addTest(BundleActivatorTestCase.suite());
-		suite.addTest(BundleNameTestCase.suite());
-		suite.addTest(BundleLocalizationTestCase.suite());
-		suite.addTest(LazyStartTestCase.suite());
-		suite.addTest(RequireBundleTestCase.suite());
-		suite.addTest(ExecutionEnvironmentTestCase.suite());
-		suite.addTest(BundleSymbolicNameTestCase.suite());
-		suite.addTest(BundleVendorTestCase.suite());
-		suite.addTest(BundleVersionTestCase.suite());
-		suite.addTest(FragmentHostTestCase.suite());
-		return suite;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleActivatorTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleActivatorTestCase.java
deleted file mode 100644
index 73f1ff9..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleActivatorTestCase.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.bundle;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
-import org.eclipse.pde.internal.core.text.bundle.BundleActivatorHeader;
-import org.eclipse.text.edits.TextEdit;
-import org.osgi.framework.Constants;
-
-public class BundleActivatorTestCase extends BundleModelTestCase {
-
-	public static Test suite() {
-		return new TestSuite(BundleActivatorTestCase.class);
-	}
-
-	public BundleActivatorTestCase() {
-		super(Constants.BUNDLE_ACTIVATOR);
-	}
-
-	public void testGetActivator() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": com.package.Activator\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-		assertEquals(((BundleActivatorHeader) header).getClassName(), "com.package.Activator");
-	}
-
-	public void testSetActivator() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNull(header);
-
-		fModel.getBundle().setHeader(fHeaderName, "com.package.Activator");
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(ops.length, 1);
-
-		ops[0].apply(fDocument);
-
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals(fHeaderName + ": com.package.Activator\n", fDocument.get(pos, length));
-	}
-
-	public void testChangeExistingActivator() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": com.package.Activator\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-
-		((BundleActivatorHeader) header).setClassName("com.package.BundleActivator");
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(ops.length, 1);
-
-		ops[0].apply(fDocument);
-
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals(fHeaderName + ": com.package.BundleActivator\n", fDocument.get(pos, length));
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleClasspathTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleClasspathTestCase.java
deleted file mode 100644
index d1c62a1..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleClasspathTestCase.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.bundle;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
-import org.eclipse.pde.internal.core.text.bundle.BundleClasspathHeader;
-import org.eclipse.text.edits.TextEdit;
-import org.osgi.framework.Constants;
-
-public class BundleClasspathTestCase extends MultiLineHeaderTestCase {
-
-	public static Test suite() {
-		return new TestSuite(BundleClasspathTestCase.class);
-	}
-
-	public BundleClasspathTestCase() {
-		super(Constants.BUNDLE_CLASSPATH);
-	}
-
-	public void testAddLibrary() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": com.example.abc\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		((BundleClasspathHeader) header).addLibrary("com.example.xyz");
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-
-		assertEquals(6, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(5));
-
-		int pos = fDocument.getLineOffset(4);
-		int length = fDocument.getLineLength(4);
-		assertEquals(" com.example.xyz\n", fDocument.get(pos, length));
-	}
-
-	public void testRemoveLibrary() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": com.example.abc,\n");
-		buffer.append(" com.example.xyz\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		((BundleClasspathHeader) header).removeLibrary("com.example.abc");
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals(fHeaderName + ": com.example.xyz\n", fDocument.get(pos, length));
-	}
-
-	public void testRemoveOnlyLibrary() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": com.example.abc\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		((BundleClasspathHeader) header).removeLibrary("com.example.abc");
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-
-		assertEquals(4, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(3));
-
-		assertEquals(fDocument.get().indexOf(fHeaderName), -1);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleLocalizationTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleLocalizationTestCase.java
deleted file mode 100644
index 756e64e..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleLocalizationTestCase.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.bundle;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
-import org.eclipse.pde.internal.core.text.bundle.BundleLocalizationHeader;
-import org.eclipse.text.edits.TextEdit;
-import org.osgi.framework.Constants;
-
-public class BundleLocalizationTestCase extends BundleModelTestCase {
-
-	public static Test suite() {
-		return new TestSuite(BundleLocalizationTestCase.class);
-	}
-
-	public BundleLocalizationTestCase() {
-		super(Constants.BUNDLE_LOCALIZATION);
-	}
-
-	public void testGetLocalization() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": plugin\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-		assertEquals(((BundleLocalizationHeader) header).getLocalization(), "plugin");
-	}
-
-	public void testSetLocalization() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNull(header);
-
-		fModel.getBundle().setHeader(fHeaderName, "plugin");
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(ops.length, 1);
-
-		ops[0].apply(fDocument);
-
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals(fHeaderName + ": plugin\n", fDocument.get(pos, length));
-	}
-
-	public void testChangeExistingLocalization() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": oldLocalization\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-
-		((BundleLocalizationHeader) header).setLocalization("plugin");
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(ops.length, 1);
-
-		ops[0].apply(fDocument);
-
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals(fHeaderName + ": plugin\n", fDocument.get(pos, length));
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleModelTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleModelTestCase.java
deleted file mode 100644
index 304fbad..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleModelTestCase.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.bundle;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
-import org.eclipse.pde.internal.core.text.bundle.BundleModel;
-import org.eclipse.pde.internal.core.text.bundle.BundleTextChangeListener;
-
-public abstract class BundleModelTestCase extends TestCase {
-
-	protected Document fDocument;
-	protected BundleModel fModel;
-	protected BundleTextChangeListener fListener;
-	protected String fHeaderName;
-
-	public BundleModelTestCase(String headerName) {
-		fHeaderName = headerName;
-	}
-
-	protected void setUp() throws Exception {
-		fDocument = new Document();
-	}
-
-	protected void load() {
-		load(false);
-	}
-
-	protected void load(boolean addListener) {
-		try {
-			fModel = new BundleModel(fDocument, false);
-			fModel.load();
-			if (!fModel.isLoaded() || !fModel.isValid())
-				fail("model cannot be loaded");
-			if (addListener) {
-				fListener = new BundleTextChangeListener(fModel.getDocument());
-				fModel.addModelChangedListener(fListener);
-			}
-		} catch (CoreException e) {
-			fail("model cannot be loaded");
-		}
-	}
-
-	public void testAbsentHeader() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		assertNull(fModel.getBundle().getManifestHeader(fHeaderName));
-	}
-
-	public void testPresentHeader() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": com.example.abc\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		assertNotNull(fModel.getBundle().getManifestHeader(fHeaderName));
-	}
-
-	public void testHeaderOffset1() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": com.example.abc\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertEquals(fDocument.getLineOffset(3), header.getOffset());
-	}
-
-	public void testHeaderOffset2() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append(fHeaderName);
-		buffer.append(": com.example.abc\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertEquals(fDocument.getLineOffset(2), header.getOffset());
-	}
-
-	public void testHeaderLength() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": com.example.abc\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertEquals(fDocument.getLineLength(3), header.getLength());
-	}
-
-	public void testHeaderLengthWithWindowsDelimiter() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\r\n");
-		buffer.append("Bundle-ManifestVersion: 2\r\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\r\n");
-		buffer.append(fHeaderName);
-		buffer.append(": com.example.abc\r\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertEquals(fDocument.getLineLength(3), header.getLength());
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleNameTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleNameTestCase.java
deleted file mode 100644
index 5136547..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleNameTestCase.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.bundle;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
-import org.eclipse.pde.internal.core.text.bundle.BundleNameHeader;
-import org.eclipse.text.edits.TextEdit;
-import org.osgi.framework.Constants;
-
-public class BundleNameTestCase extends BundleModelTestCase {
-
-	public static Test suite() {
-		return new TestSuite(BundleNameTestCase.class);
-	}
-
-	public BundleNameTestCase() {
-		super(Constants.BUNDLE_NAME);
-	}
-
-	public void testGetName() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": Bundle Name\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-		assertEquals(((BundleNameHeader) header).getBundleName(), "Bundle Name");
-	}
-
-	public void testSetName() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNull(header);
-
-		fModel.getBundle().setHeader(fHeaderName, "Bundle Name");
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(ops.length, 1);
-
-		ops[0].apply(fDocument);
-
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals(fHeaderName + ": Bundle Name\n", fDocument.get(pos, length));
-	}
-
-	public void testChangeExistingName() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": Old Bundle Name\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-
-		fModel.getBundle().setHeader(fHeaderName, "Bundle Name");
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(ops.length, 1);
-
-		ops[0].apply(fDocument);
-
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals(fHeaderName + ": Bundle Name\n", fDocument.get(pos, length));
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleSymbolicNameTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleSymbolicNameTestCase.java
deleted file mode 100644
index 396a39c..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleSymbolicNameTestCase.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.bundle;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
-import org.eclipse.pde.internal.core.text.bundle.BundleSymbolicNameHeader;
-import org.eclipse.text.edits.TextEdit;
-import org.osgi.framework.Constants;
-
-public class BundleSymbolicNameTestCase extends BundleModelTestCase {
-
-	public BundleSymbolicNameTestCase() {
-		super(Constants.BUNDLE_SYMBOLICNAME);
-	}
-
-	public static Test suite() {
-		return new TestSuite(BundleSymbolicNameTestCase.class);
-	}
-
-	public void testAbsentHeader() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		assertNull(fModel.getBundle().getManifestHeader(Constants.BUNDLE_SYMBOLICNAME));
-	}
-
-	public void testPresentHeader() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymbolicName: com.example.xyz\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		assertNotNull(fModel.getBundle().getManifestHeader(Constants.BUNDLE_SYMBOLICNAME));
-	}
-
-	public void testHeaderOffset1() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymbolicName: com.example.xyz\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_SYMBOLICNAME);
-		assertEquals(fDocument.getLineOffset(2), header.getOffset());
-	}
-
-	public void testHeaderOffset2() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymbolicName: com.example.xyz\n");
-		buffer.append("Require-Bundle: com.example.abc\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_SYMBOLICNAME);
-		assertEquals(fDocument.getLineOffset(2), header.getOffset());
-	}
-
-	public void testHeaderLength() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymbolicName: com.example.xyz\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_SYMBOLICNAME);
-		assertEquals(fDocument.getLineLength(2), header.getLength());
-	}
-
-	public void testHeaderLengthWithWindowsDelimiter() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\r\n");
-		buffer.append("Bundle-ManifestVersion: 2\r\n");
-		buffer.append("Bundle-SymbolicName: com.example.xyz\r\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_SYMBOLICNAME);
-		assertEquals(fDocument.getLineLength(2), header.getLength());
-	}
-
-	public void testAddBundleSymbolicName() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Require-Bundle: com.example.xyz\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		fModel.getBundle().setHeader(Constants.BUNDLE_SYMBOLICNAME, "com.example.abc");
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_SYMBOLICNAME);
-		assertNotNull(header);
-		assertEquals("Bundle-SymbolicName: com.example.abc\n", header.write());
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(buffer.toString() + header.write(), fDocument.get());
-	}
-
-	public void testRemoveBundleSymbolicName() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymbolicName: com.example.xyz\n");
-		buffer.append("Require-Bundle: com.example.abc\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_SYMBOLICNAME);
-		assertNotNull(header);
-
-		((BundleSymbolicNameHeader) header).setId("");
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(4, fDocument.getNumberOfLines());
-	}
-
-	public void testChangeBundleSymbolicName() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymbolicName: com.example.xyz\n");
-		buffer.append("Require-Bundle: com.example.abc\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_SYMBOLICNAME);
-		((BundleSymbolicNameHeader) header).setId("com.example.core");
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(2);
-		int length = fDocument.getLineLength(2);
-
-		assertEquals("Bundle-SymbolicName: com.example.core\n", fDocument.get(pos, length));
-	}
-
-	public void testReadSingletonDirective() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymbolicName: com.example.xyz; singleton:=true\n");
-		buffer.append("Require-Bundle: com.example.abc\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_SYMBOLICNAME);
-		assertNotNull(header);
-		assertTrue(((BundleSymbolicNameHeader) header).isSingleton());
-	}
-
-	public void testAddSingletonDirective() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymbolicName: com.example.xyz\n");
-		buffer.append("Require-Bundle: org.eclipse.osgi\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_SYMBOLICNAME);
-		assertNotNull(header);
-		((BundleSymbolicNameHeader) header).setSingleton(true);
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(2);
-		int length = fDocument.getLineLength(2);
-		assertEquals("Bundle-SymbolicName: com.example.xyz;singleton:=true\n", fDocument.get(pos, length));
-	}
-
-	public void testRemoveSingletonDirective() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymbolicName: com.example.xyz; singleton:=true\n");
-		buffer.append("Require-Bundle: org.eclipse.osgi;resolution:=optional\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_SYMBOLICNAME);
-		assertNotNull(header);
-		((BundleSymbolicNameHeader) header).setSingleton(false);
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(2);
-		int length = fDocument.getLineLength(2);
-		assertEquals("Bundle-SymbolicName: com.example.xyz\n", fDocument.get(pos, length));
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleVendorTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleVendorTestCase.java
deleted file mode 100644
index 893cf0a..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleVendorTestCase.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.bundle;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
-import org.eclipse.pde.internal.core.text.bundle.BundleVendorHeader;
-import org.eclipse.text.edits.TextEdit;
-import org.osgi.framework.Constants;
-
-public class BundleVendorTestCase extends BundleModelTestCase {
-
-	public BundleVendorTestCase() {
-		super(Constants.BUNDLE_VENDOR);
-	}
-
-	public static Test suite() {
-		return new TestSuite(BundleVendorTestCase.class);
-	}
-
-	public void testAddBundleVendor() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		fModel.getBundle().setHeader(Constants.BUNDLE_VENDOR, "eclipse.org");
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_VENDOR);
-		assertNotNull(header);
-		assertEquals("Bundle-Vendor: eclipse.org\n", header.write());
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(buffer.toString() + header.write(), fDocument.get());
-	}
-
-	public void testRemoveBundleVendor() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Bundle-Vendor: eclipse.org\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_VENDOR);
-		assertNotNull(header);
-		((BundleVendorHeader) header).setVendor("");
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(4, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(3));
-	}
-
-	public void testChangeBundleVendor() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Bundle-Vendor: eclipse.org\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_VENDOR);
-		assertNotNull(header);
-		((BundleVendorHeader) header).setVendor("Eclipse PDE");
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-
-		StringBuffer expected = new StringBuffer("Bundle-Vendor: Eclipse PDE\n");
-		assertEquals(expected.toString(), fDocument.get(pos, length));
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleVersionTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleVersionTestCase.java
deleted file mode 100644
index 3492161..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/BundleVersionTestCase.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.bundle;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
-import org.eclipse.pde.internal.core.text.bundle.BundleVersionHeader;
-import org.eclipse.text.edits.TextEdit;
-import org.osgi.framework.Constants;
-
-public class BundleVersionTestCase extends BundleModelTestCase {
-
-	public BundleVersionTestCase() {
-		super(Constants.BUNDLE_VERSION);
-	}
-
-	public static Test suite() {
-		return new TestSuite(BundleVersionTestCase.class);
-	}
-
-	public void testAddVersion() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		fModel.getBundle().setHeader(Constants.BUNDLE_VERSION, "3.2.0.1");
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_VERSION);
-		assertNotNull(header);
-		assertEquals("Bundle-Version: 3.2.0.1\n", header.write());
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(buffer.toString() + header.write(), fDocument.get());
-	}
-
-	public void testRemoveVersion() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Bundle-Version: 3.2.0\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_VERSION);
-		assertNotNull(header);
-
-		((BundleVersionHeader) header).setVersionRange(null);
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(4, fDocument.getNumberOfLines());
-	}
-
-	public void testChangeVersion() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Bundle-Version: 2.1.0\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_VERSION);
-		((BundleVersionHeader) header).setVersionRange("3.2.0");
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3) + fDocument.getLineLength(4);
-
-		assertEquals("Bundle-Version: 3.2.0\n", fDocument.get(pos, length));
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/ExecutionEnvironmentTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/ExecutionEnvironmentTestCase.java
deleted file mode 100644
index 32f494b..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/ExecutionEnvironmentTestCase.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.bundle;
-
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.environments.IExecutionEnvironment;
-import org.eclipse.jdt.launching.environments.IExecutionEnvironmentsManager;
-import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
-import org.eclipse.pde.internal.core.text.bundle.ExecutionEnvironment;
-import org.eclipse.pde.internal.core.text.bundle.RequiredExecutionEnvironmentHeader;
-import org.eclipse.text.edits.TextEdit;
-import org.osgi.framework.Constants;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class ExecutionEnvironmentTestCase extends MultiLineHeaderTestCase {
-
-	public ExecutionEnvironmentTestCase() {
-		super(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
-	}
-
-	public static Test suite() {
-		return new TestSuite(ExecutionEnvironmentTestCase.class);
-	}
-
-	public void testAddExecutionEnvironmentHeader() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		fModel.getBundle().setHeader(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, "J2SE-1.4");
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
-		assertNotNull(header);
-		assertEquals("Bundle-RequiredExecutionEnvironment: J2SE-1.4\n", header.write());
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(buffer.toString() + header.write(), fDocument.get());
-	}
-
-	public void testRemoveExistingExecutionEnvironment() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Bundle-RequiredExecutionEnvironment: J2SE-1.4\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
-		assertNotNull(header);
-
-		ExecutionEnvironment env = ((RequiredExecutionEnvironmentHeader) header).getEnvironments()[0];
-		((RequiredExecutionEnvironmentHeader) header).removeExecutionEnvironment(env);
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(4, fDocument.getNumberOfLines());
-	}
-
-	public void testAddExecutionEnvironment() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Bundle-RequiredExecutionEnvironment: J2SE-1.4\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
-		IExecutionEnvironment env = JavaRuntime.getExecutionEnvironmentsManager().getEnvironment("J2SE-1.5");
-		((RequiredExecutionEnvironmentHeader) header).addExecutionEnvironment(env);
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(6, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(5));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3) + fDocument.getLineLength(4);
-
-		StringBuffer expected = new StringBuffer("Bundle-RequiredExecutionEnvironment: J2SE-1.4,\n");
-		expected.append(" J2SE-1.5\n");
-		assertEquals(expected.toString(), fDocument.get(pos, length));
-	}
-
-	public void testAddMulitplieExecutionEnvironmnets() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Bundle-RequiredExecutionEnvironment: J2SE-1.4\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
-		IExecutionEnvironmentsManager manager = JavaRuntime.getExecutionEnvironmentsManager();
-		IExecutionEnvironment env1 = manager.getEnvironment("CDC-1.1/Foundation-1.1");
-		IExecutionEnvironment env2 = manager.getEnvironment("J2SE-1.5");
-		IExecutionEnvironment env3 = manager.getEnvironment("OSGi/Minimum-1.1");
-		((RequiredExecutionEnvironmentHeader) header).addExecutionEnvironment(env1);
-		((RequiredExecutionEnvironmentHeader) header).addExecutionEnvironment(env2);
-		((RequiredExecutionEnvironmentHeader) header).addExecutionEnvironment(env3);
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(8, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(7));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineOffset(7) - fDocument.getLineOffset(3);
-		StringBuffer expected = new StringBuffer("Bundle-RequiredExecutionEnvironment: J2SE-1.4,\n");
-		expected.append(" CDC-1.1/Foundation-1.1,\n");
-		expected.append(" J2SE-1.5,\n");
-		expected.append(" OSGi/Minimum-1.1\n");
-		assertEquals(expected.toString(), fDocument.get(pos, length));
-	}
-
-	public void testRemoveExecutionEnvironment() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Bundle-RequiredExecutionEnvironment: J2SE-1.4,\n");
-		buffer.append(" CDC-1.1/Foundation-1.1,\n");
-		buffer.append(" OSGi/Minimum-1.1\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
-		ExecutionEnvironment env = ((RequiredExecutionEnvironmentHeader) header).getEnvironments()[1];
-		((RequiredExecutionEnvironmentHeader) header).removeExecutionEnvironment(env);
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(6, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(5));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineOffset(5) - fDocument.getLineOffset(3);
-		StringBuffer expected = new StringBuffer("Bundle-RequiredExecutionEnvironment: J2SE-1.4,\n");
-		expected.append(" OSGi/Minimum-1.1\n");
-		assertEquals(expected.toString(), fDocument.get(pos, length));
-	}
-
-	public void testRemoveMultipleExecutionEnvironments() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Bundle-RequiredExecutionEnvironment: J2SE-1.4,\n");
-		buffer.append(" CDC-1.1/Foundation-1.1,\n");
-		buffer.append(" OSGi/Minimum-1.1\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
-		ExecutionEnvironment[] envs = ((RequiredExecutionEnvironmentHeader) header).getEnvironments();
-		((RequiredExecutionEnvironmentHeader) header).removeExecutionEnvironment(envs[1]);
-		((RequiredExecutionEnvironmentHeader) header).removeExecutionEnvironment(envs[0]);
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals("Bundle-RequiredExecutionEnvironment: OSGi/Minimum-1.1\n", fDocument.get(pos, length));
-	}
-
-	public void testPreserveSpacing() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Bundle-RequiredExecutionEnvironment: \n");
-		buffer.append(" J2SE-1.4\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
-		IExecutionEnvironment env = JavaRuntime.getExecutionEnvironmentsManager().getEnvironment("OSGi/Minimum-1.1");
-		((RequiredExecutionEnvironmentHeader) header).addExecutionEnvironment(env);
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(7, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(6));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineOffset(6) - fDocument.getLineOffset(3);
-
-		StringBuffer expected = new StringBuffer("Bundle-RequiredExecutionEnvironment: \n");
-		expected.append(" J2SE-1.4,\n");
-		expected.append(" OSGi/Minimum-1.1\n");
-		assertEquals(expected.toString(), fDocument.get(pos, length));
-
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/ExportPackageTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/ExportPackageTestCase.java
deleted file mode 100644
index e734c21..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/ExportPackageTestCase.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.bundle;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
-import org.eclipse.pde.internal.core.text.bundle.ExportPackageHeader;
-import org.eclipse.pde.internal.core.text.bundle.ExportPackageObject;
-import org.eclipse.pde.internal.core.text.bundle.PackageFriend;
-import org.eclipse.pde.internal.core.text.bundle.PackageObject;
-import org.eclipse.text.edits.TextEdit;
-import org.osgi.framework.Constants;
-
-public class ExportPackageTestCase extends PackageHeaderTestCase {
-
-	public ExportPackageTestCase() {
-		super(Constants.EXPORT_PACKAGE);
-	}
-
-	public static Test suite() {
-		return new TestSuite(ExportPackageTestCase.class);
-	}
-
-	protected void addPackage(IManifestHeader header, String packageName) {
-		PackageObject packageObject = new PackageObject((ExportPackageHeader) header, packageName, null, null);
-		((ExportPackageHeader) header).addPackage(packageObject);
-	}
-
-	protected PackageObject getPackage(IManifestHeader header, String packageName) {
-		return ((ExportPackageHeader) header).getPackage(packageName);
-	}
-
-	public void testReadInternalPackage() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName + ": com.example.abc;x-internal:=true\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-
-		ExportPackageObject object = (ExportPackageObject) getPackage(header, "com.example.abc");
-		assertNotNull(object);
-		assertEquals(object.getFriends().length, 0);
-		assertTrue(object.isInternal());
-	}
-
-	public void testReadOneFriend() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName + ": com.example.abc;x-friends:=com.example.xyz\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-
-		ExportPackageObject object = (ExportPackageObject) getPackage(header, "com.example.abc");
-		assertNotNull(object);
-		assertTrue(object.isInternal());
-		PackageFriend[] friends = object.getFriends();
-		assertEquals(friends.length, 1);
-		assertTrue(friends[0].getName().equals("com.example.xyz"));
-	}
-
-	public void testReadMultipleFriend() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName + ": com.example.abc;x-friends:=\"com.example.xxx,com.example.yyy,com.example.zzz\"\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-
-		ExportPackageObject object = (ExportPackageObject) getPackage(header, "com.example.abc");
-		assertNotNull(object);
-		assertTrue(object.isInternal());
-		PackageFriend[] friends = object.getFriends();
-		assertEquals(friends.length, 3);
-		assertTrue(friends[0].getName().equals("com.example.xxx"));
-		assertTrue(friends[1].getName().equals("com.example.yyy"));
-		assertTrue(friends[2].getName().equals("com.example.zzz"));
-	}
-
-	public void testSetPackageInternal() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName + ": org.osgi.framework\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-
-		ExportPackageObject object = (ExportPackageObject) getPackage(header, "org.osgi.framework");
-		assertNotNull(object);
-		object.setInternal(true);
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals(fHeaderName + ": org.osgi.framework;x-internal:=true\n", fDocument.get(pos, length));
-	}
-
-	public void testAddPackageFriend() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName + ": org.osgi.framework\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-
-		ExportPackageObject object = (ExportPackageObject) getPackage(header, "org.osgi.framework");
-		assertNotNull(object);
-		object.addFriend(new PackageFriend(object, "org.eclipse.pde.ui"));
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals(fHeaderName + ": org.osgi.framework;x-friends:=\"org.eclipse.pde.ui\"\n", fDocument.get(pos, length));
-	}
-
-	public void testAddPackageFriends() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName + ": org.osgi.framework\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-
-		ExportPackageObject object = (ExportPackageObject) getPackage(header, "org.osgi.framework");
-		assertNotNull(object);
-		object.addFriend(new PackageFriend(object, "org.eclipse.pde.core"));
-		object.addFriend(new PackageFriend(object, "org.eclipse.pde.ui"));
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals(fHeaderName + ": org.osgi.framework;x-friends:=\"org.eclipse.pde.core,org.eclipse.pde.ui\"\n", fDocument.get(pos, length));
-	}
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/FragmentHostTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/FragmentHostTestCase.java
deleted file mode 100644
index 5f9679b..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/FragmentHostTestCase.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.bundle;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
-import org.eclipse.pde.internal.core.text.bundle.FragmentHostHeader;
-import org.eclipse.text.edits.TextEdit;
-import org.osgi.framework.Constants;
-
-public class FragmentHostTestCase extends BundleModelTestCase {
-
-	public FragmentHostTestCase() {
-		super(Constants.FRAGMENT_HOST);
-	}
-
-	public static Test suite() {
-		return new TestSuite(FragmentHostTestCase.class);
-	}
-
-	public void testAddFragmentHost() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		fModel.getBundle().setHeader(Constants.FRAGMENT_HOST, "org.eclipse.pde");
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.FRAGMENT_HOST);
-		assertNotNull(header);
-		assertEquals("Fragment-Host: org.eclipse.pde\n", header.write());
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(buffer.toString() + header.write(), fDocument.get());
-	}
-
-	public void testRemoveFragmentHost() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Fragment-Host: org.eclipse.pde\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.FRAGMENT_HOST);
-		assertNotNull(header);
-		((FragmentHostHeader) header).setHostId("");
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(4, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(3));
-	}
-
-	public void testChangeFragmentHost() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Fragment-Host: org.eclipse.pde\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.FRAGMENT_HOST);
-		assertNotNull(header);
-		((FragmentHostHeader) header).setHostId("org.eclipse.jdt");
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-
-		StringBuffer expected = new StringBuffer("Fragment-Host: org.eclipse.jdt\n");
-		assertEquals(expected.toString(), fDocument.get(pos, length));
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/ImportPackageTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/ImportPackageTestCase.java
deleted file mode 100644
index f2ed0b9..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/ImportPackageTestCase.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.bundle;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
-import org.eclipse.pde.internal.core.text.bundle.ImportPackageHeader;
-import org.eclipse.pde.internal.core.text.bundle.ImportPackageObject;
-import org.eclipse.pde.internal.core.text.bundle.PackageObject;
-import org.eclipse.text.edits.TextEdit;
-import org.osgi.framework.Constants;
-
-public class ImportPackageTestCase extends PackageHeaderTestCase {
-
-	public ImportPackageTestCase() {
-		super(Constants.IMPORT_PACKAGE);
-	}
-
-	public static Test suite() {
-		return new TestSuite(ImportPackageTestCase.class);
-	}
-
-	public void testReadOptionalPackage() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName + ": com.example.abc;resolution:=optional\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-
-		ImportPackageObject object = (ImportPackageObject) getPackage(header, "com.example.abc");
-		assertNotNull(object);
-		assertTrue(object.isOptional());
-	}
-
-	public void testMakePackageOptional() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName + ": org.osgi.framework\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-
-		ImportPackageObject object = (ImportPackageObject) getPackage(header, "org.osgi.framework");
-		assertNotNull(object);
-		object.setOptional(true);
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals(fHeaderName + ": org.osgi.framework;resolution:=optional\n", fDocument.get(pos, length));
-	}
-
-	public void testRemoveOptionalDirective() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName + ": org.osgi.framework;resolution:=optional\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-
-		ImportPackageObject object = (ImportPackageObject) getPackage(header, "org.osgi.framework");
-		assertNotNull(object);
-		object.setOptional(false);
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals(fHeaderName + ": org.osgi.framework\n", fDocument.get(pos, length));
-	}
-
-	protected void addPackage(IManifestHeader header, String packageName) {
-		((ImportPackageHeader) header).addPackage(packageName);
-
-	}
-
-	protected PackageObject getPackage(IManifestHeader header, String packageName) {
-		return ((ImportPackageHeader) header).getPackage(packageName);
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/LazyStartTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/LazyStartTestCase.java
deleted file mode 100644
index 9e6b002..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/LazyStartTestCase.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.bundle;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.internal.core.ICoreConstants;
-import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
-import org.eclipse.pde.internal.core.text.bundle.LazyStartHeader;
-import org.eclipse.text.edits.TextEdit;
-
-public class LazyStartTestCase extends BundleModelTestCase {
-
-	public LazyStartTestCase(String headerName) {
-		super(ICoreConstants.ECLIPSE_AUTOSTART);
-	}
-
-	public static Test suite() {
-		return new TestSuite(BundleLocalizationTestCase.class);
-	}
-
-	public void testGetAutoStart() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": true\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-		assertTrue(((LazyStartHeader) header).isLazyStart());
-	}
-
-	public void testGetAutoStart2() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": false\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-		assertTrue(!((LazyStartHeader) header).isLazyStart());
-	}
-
-	public void testSetLazyStart() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNull(header);
-
-		fModel.getBundle().setHeader(fHeaderName, "plugin");
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(ops.length, 1);
-
-		ops[0].apply(fDocument);
-
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals(fHeaderName + ": plugin\n", fDocument.get(pos, length));
-	}
-
-	public void testChangeExistingLazyStart() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": false\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-
-		((LazyStartHeader) header).setLazyStart(true);
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(ops.length, 1);
-
-		ops[0].apply(fDocument);
-
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals(fHeaderName + ": true\n", fDocument.get(pos, length));
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/MultiLineHeaderTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/MultiLineHeaderTestCase.java
deleted file mode 100644
index b8afe47..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/MultiLineHeaderTestCase.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.bundle;
-
-import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
-
-public abstract class MultiLineHeaderTestCase extends BundleModelTestCase {
-
-	public MultiLineHeaderTestCase(String headerName) {
-		super(headerName);
-	}
-
-	public void testHeaderLengthMultiLines1() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": com.example.abc,\n");
-		buffer.append(" com.example.abc.actions\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertEquals(fDocument.getLineLength(3) + fDocument.getLineLength(4), header.getLength());
-	}
-
-	public void testHeaderLengthMultiLines2() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append(fHeaderName);
-		buffer.append(": com.example.abc,\n");
-		buffer.append(" com.example.abc.actions\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertEquals(fDocument.getLineLength(2) + fDocument.getLineLength(3), header.getLength());
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/PackageHeaderTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/PackageHeaderTestCase.java
deleted file mode 100644
index 3035368..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/PackageHeaderTestCase.java
+++ /dev/null
@@ -1,359 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.bundle;
-
-import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
-import org.eclipse.pde.internal.core.text.bundle.BasePackageHeader;
-import org.eclipse.pde.internal.core.text.bundle.PackageObject;
-import org.eclipse.text.edits.TextEdit;
-
-public abstract class PackageHeaderTestCase extends MultiLineHeaderTestCase {
-
-	public PackageHeaderTestCase(String headerName) {
-		super(headerName);
-	}
-
-	public void testAddExportPackageHeader() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		fModel.getBundle().setHeader(fHeaderName, "com.example.abc");
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-		assertEquals(fHeaderName + ": com.example.abc\n", header.write());
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(buffer.toString() + header.write(), fDocument.get());
-	}
-
-	public void testRemoveExistingExportPackageHeader() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": com.example.abc\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-
-		((BasePackageHeader) header).removePackage("com.example.abc");
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(4, fDocument.getNumberOfLines());
-	}
-
-	public void testAddPackage() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": com.example.abc\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		addPackage(header, "com.example.abc.actions");
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(6, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(5));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3) + fDocument.getLineLength(4);
-
-		StringBuffer expected = new StringBuffer(fHeaderName + ": com.example.abc,\n");
-		expected.append(" com.example.abc.actions\n");
-		assertEquals(expected.toString(), fDocument.get(pos, length));
-	}
-
-	public void testAddImportPackageHeader() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		fModel.getBundle().setHeader(fHeaderName, "com.example.abc");
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-		assertEquals(fHeaderName + ": com.example.abc\n", header.write());
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(buffer.toString() + header.write(), fDocument.get());
-	}
-
-	public void testAddMultiplePackages() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": com.example.abc\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		addPackage(header, "com.example.abc.views");
-		addPackage(header, "com.example.abc.imports");
-		addPackage(header, "com.example.abc.exports");
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(8, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(7));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineOffset(7) - fDocument.getLineOffset(3);
-		StringBuffer expected = new StringBuffer(fHeaderName + ": com.example.abc,\n");
-		expected.append(" com.example.abc.exports,\n");
-		expected.append(" com.example.abc.imports,\n");
-		expected.append(" com.example.abc.views\n");
-		assertEquals(expected.toString(), fDocument.get(pos, length));
-	}
-
-	public void testRemovePackage() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": com.example.abc,\n");
-		buffer.append(" com.example.abc.actions,\n");
-		buffer.append(" com.example.abc.refactoring\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		((BasePackageHeader) header).removePackage("com.example.abc.actions");
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(6, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(5));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineOffset(5) - fDocument.getLineOffset(3);
-		StringBuffer expected = new StringBuffer(fHeaderName + ": com.example.abc,\n");
-		expected.append(" com.example.abc.refactoring\n");
-		assertEquals(expected.toString(), fDocument.get(pos, length));
-	}
-
-	public void testRemoveMultiplePackages() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": com.example.abc,\n");
-		buffer.append(" com.example.abc.actions,\n");
-		buffer.append(" com.example.abc.refactoring\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		((BasePackageHeader) header).removePackage("com.example.abc.actions");
-		((BasePackageHeader) header).removePackage("com.example.abc");
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals(fHeaderName + ": com.example.abc.refactoring\n", fDocument.get(pos, length));
-	}
-
-	public void testReadPackageWithVersion() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": org.osgi.framework;version=\"1.3.0\"\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-
-		PackageObject object = getPackage(header, "org.osgi.framework");
-		assertNotNull(object);
-		assertEquals("1.3.0", object.getVersion());
-	}
-
-	public void testAddVersionToPackage() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": org.osgi.framework\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-
-		PackageObject object = getPackage(header, "org.osgi.framework");
-		assertNotNull(object);
-		object.setVersion("1.3.0");
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals(fHeaderName + ": org.osgi.framework;version=\"1.3.0\"\n", fDocument.get(pos, length));
-	}
-
-	public void testRemoveVersionFromPackage() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": org.osgi.framework\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		assertNotNull(header);
-
-		PackageObject object = getPackage(header, "org.osgi.framework");
-		assertNotNull(object);
-		object.setVersion(null);
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals(fHeaderName + ": org.osgi.framework\n", fDocument.get(pos, length));
-	}
-
-	public void testAddPackageWithWindowsDelimiter() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\r\n");
-		buffer.append("Bundle-ManifestVersion: 2\r\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\r\n");
-		buffer.append(fHeaderName);
-		buffer.append(": com.example.abc\r\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		addPackage(header, "com.example.abc.actions");
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(6, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(5));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3) + fDocument.getLineLength(4);
-
-		StringBuffer expected = new StringBuffer(fHeaderName + ": com.example.abc,\r\n");
-		expected.append(" com.example.abc.actions\r\n");
-		assertEquals(expected.toString(), fDocument.get(pos, length));
-	}
-
-	public void testRemovePackageWithWindowsDelimiter() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\r\n");
-		buffer.append("Bundle-ManifestVersion: 2\r\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\r\n");
-		buffer.append(fHeaderName);
-		buffer.append(": com.example.abc,\r\n");
-		buffer.append(" com.example.abc.actions,\r\n");
-		buffer.append(" com.example.abc.refactoring\r\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		((BasePackageHeader) header).removePackage("com.example.abc.actions");
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(6, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(5));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineOffset(5) - fDocument.getLineOffset(3);
-		StringBuffer expected = new StringBuffer(fHeaderName + ": com.example.abc,\r\n");
-		expected.append(" com.example.abc.refactoring\r\n");
-		assertEquals(expected.toString(), fDocument.get(pos, length));
-	}
-
-	public void testPreserveSpacing() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append(fHeaderName);
-		buffer.append(": \n");
-		buffer.append(" com.example.abc\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(fHeaderName);
-		addPackage(header, "com.example.abc.actions");
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(7, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(6));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineOffset(6) - fDocument.getLineOffset(3);
-
-		StringBuffer expected = new StringBuffer(fHeaderName + ": \n");
-		expected.append(" com.example.abc,\n");
-		expected.append(" com.example.abc.actions\n");
-		assertEquals(expected.toString(), fDocument.get(pos, length));
-
-	}
-
-	protected abstract void addPackage(IManifestHeader header, String packageName);
-
-	protected abstract PackageObject getPackage(IManifestHeader header, String packageName);
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/RequireBundleTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/RequireBundleTestCase.java
deleted file mode 100644
index a78e3dd..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/bundle/RequireBundleTestCase.java
+++ /dev/null
@@ -1,503 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.bundle;
-
-import org.eclipse.pde.internal.core.ibundle.IManifestHeader;
-import org.eclipse.pde.internal.core.text.bundle.RequireBundleHeader;
-import org.eclipse.pde.internal.core.text.bundle.RequireBundleObject;
-import org.eclipse.text.edits.TextEdit;
-import org.osgi.framework.Constants;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class RequireBundleTestCase extends MultiLineHeaderTestCase {
-
-	public RequireBundleTestCase() {
-		super(Constants.REQUIRE_BUNDLE);
-	}
-
-	public static Test suite() {
-		return new TestSuite(RequireBundleTestCase.class);
-	}
-
-	public void testAddRequireBundleHeader() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		fModel.getBundle().setHeader(Constants.REQUIRE_BUNDLE, "com.example.abc");
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.REQUIRE_BUNDLE);
-		assertNotNull(header);
-		assertEquals("Require-Bundle: com.example.abc\n", header.write());
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(buffer.toString() + header.write(), fDocument.get());
-	}
-
-	public void testRemoveExistingRequireBundleHeader() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Require-Bundle: com.example.abc\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.REQUIRE_BUNDLE);
-		assertNotNull(header);
-
-		((RequireBundleHeader) header).removeBundle("com.example.abc");
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(4, fDocument.getNumberOfLines());
-	}
-
-	public void testAddBundle() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Require-Bundle: com.example.abc\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.REQUIRE_BUNDLE);
-		((RequireBundleHeader) header).addBundle("com.example.core");
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(6, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(5));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3) + fDocument.getLineLength(4);
-
-		StringBuffer expected = new StringBuffer("Require-Bundle: com.example.abc,\n");
-		expected.append(" com.example.core\n");
-		assertEquals(expected.toString(), fDocument.get(pos, length));
-	}
-
-	public void testAddMultipleBundles() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Require-Bundle: com.example.abc\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.REQUIRE_BUNDLE);
-		((RequireBundleHeader) header).addBundle("com.example.core");
-		((RequireBundleHeader) header).addBundle("com.example.ui");
-		((RequireBundleHeader) header).addBundle("com.example");
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(8, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(7));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineOffset(7) - fDocument.getLineOffset(3);
-		StringBuffer expected = new StringBuffer("Require-Bundle: com.example.abc,\n");
-		expected.append(" com.example.core,\n");
-		expected.append(" com.example.ui,\n");
-		expected.append(" com.example\n");
-		assertEquals(expected.toString(), fDocument.get(pos, length));
-	}
-
-	public void testRemoveBundle() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Require-Bundle: com.example.abc,\n");
-		buffer.append(" com.example.core,\n");
-		buffer.append(" com.example.ui\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.REQUIRE_BUNDLE);
-		((RequireBundleHeader) header).removeBundle("com.example.core");
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(6, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(5));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineOffset(5) - fDocument.getLineOffset(3);
-		StringBuffer expected = new StringBuffer("Require-Bundle: com.example.abc,\n");
-		expected.append(" com.example.ui\n");
-		assertEquals(expected.toString(), fDocument.get(pos, length));
-	}
-
-	public void testRemoveMultipleBundles() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Require-Bundle: com.example.abc,\n");
-		buffer.append(" com.example.core,\n");
-		buffer.append(" com.example.ui\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.REQUIRE_BUNDLE);
-		((RequireBundleHeader) header).removeBundle("com.example.core");
-		((RequireBundleHeader) header).removeBundle("com.example.abc");
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals("Require-Bundle: com.example.ui\n", fDocument.get(pos, length));
-	}
-
-	public void testReadOptionalBundle() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Require-Bundle: com.example.abc;resolution:=optional\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.REQUIRE_BUNDLE);
-		assertNotNull(header);
-
-		RequireBundleObject bundle = getBundle((RequireBundleHeader) header, "com.example.abc");
-		assertNotNull(bundle);
-		assertTrue(bundle.isOptional());
-	}
-
-	public void testSetGetVersion() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Require-Bundle: org.eclipse.osgi;bundle-version=\"[3.1.0,4.0.0)\"\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.REQUIRE_BUNDLE);
-		assertNotNull(header);
-
-		RequireBundleObject bundle = getBundle((RequireBundleHeader) header, "org.eclipse.osgi");
-		assertNotNull(bundle);
-		assertEquals("[3.1.0,4.0.0)", bundle.getVersion());
-
-		bundle.setVersion("(1.9.9,3.0.9]");
-		assertEquals("(1.9.9,3.0.9]", bundle.getVersion());
-	}
-
-	public void testReadBundleWithVersion() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Require-Bundle: org.eclipse.osgi;bundle-version=\"3.2.0\"\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.REQUIRE_BUNDLE);
-		assertNotNull(header);
-
-		RequireBundleObject bundle = getBundle((RequireBundleHeader) header, "org.eclipse.osgi");
-		assertNotNull(bundle);
-		assertEquals("3.2.0", bundle.getVersion());
-	}
-
-	public void testMakeBundleOptional() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Require-Bundle: org.eclipse.osgi\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.REQUIRE_BUNDLE);
-		assertNotNull(header);
-
-		RequireBundleObject bundle = getBundle((RequireBundleHeader) header, "org.eclipse.osgi");
-		assertNotNull(bundle);
-		bundle.setOptional(true);
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals("Require-Bundle: org.eclipse.osgi;resolution:=optional\n", fDocument.get(pos, length));
-	}
-
-	public void testRemoveOptionalDirective() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Require-Bundle: org.eclipse.osgi;resolution:=optional\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.REQUIRE_BUNDLE);
-		assertNotNull(header);
-
-		RequireBundleObject object = getBundle((RequireBundleHeader) header, "org.eclipse.osgi");
-		assertNotNull(object);
-		object.setOptional(false);
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals("Require-Bundle: org.eclipse.osgi\n", fDocument.get(pos, length));
-	}
-
-	public void testAddVersionToBundle() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Require-Bundle: org.eclipse.osgi\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.REQUIRE_BUNDLE);
-		assertNotNull(header);
-
-		RequireBundleObject object = getBundle((RequireBundleHeader) header, "org.eclipse.osgi");
-		assertNotNull(object);
-		object.setVersion("3.2.0");
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals("Require-Bundle: org.eclipse.osgi;bundle-version=\"3.2.0\"\n", fDocument.get(pos, length));
-	}
-
-	public void testRemoveVersionFromBundle() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Require-Bundle: org.eclipse.osgi\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.REQUIRE_BUNDLE);
-		assertNotNull(header);
-
-		RequireBundleObject object = getBundle((RequireBundleHeader) header, "org.eclipse.osgi");
-		assertNotNull(object);
-		object.setVersion(null);
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals("Require-Bundle: org.eclipse.osgi\n", fDocument.get(pos, length));
-	}
-
-	public void testAddBundleWithWindowsDelimiter() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\r\n");
-		buffer.append("Bundle-ManifestVersion: 2\r\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\r\n");
-		buffer.append("Require-Bundle: com.example.abc\r\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.REQUIRE_BUNDLE);
-		((RequireBundleHeader) header).addBundle("com.example.core");
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(6, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(5));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3) + fDocument.getLineLength(4);
-
-		StringBuffer expected = new StringBuffer("Require-Bundle: com.example.abc,\r\n");
-		expected.append(" com.example.core\r\n");
-		assertEquals(expected.toString(), fDocument.get(pos, length));
-	}
-
-	public void testRemoveBundleWithWindowsDelimiter() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\r\n");
-		buffer.append("Bundle-ManifestVersion: 2\r\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\r\n");
-		buffer.append("Require-Bundle: com.example.abc,\r\n");
-		buffer.append(" com.example.core,\r\n");
-		buffer.append(" com.example.ui\r\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.REQUIRE_BUNDLE);
-		((RequireBundleHeader) header).removeBundle("com.example.core");
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(6, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(5));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineOffset(5) - fDocument.getLineOffset(3);
-		StringBuffer expected = new StringBuffer("Require-Bundle: com.example.abc,\r\n");
-		expected.append(" com.example.ui\r\n");
-		assertEquals(expected.toString(), fDocument.get(pos, length));
-	}
-
-	public void testPreserveSpacing() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Require-Bundle: \n");
-		buffer.append(" com.example.abc\n");
-		fDocument.set(buffer.toString());
-		load(true);
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.REQUIRE_BUNDLE);
-		((RequireBundleHeader) header).addBundle("com.example.core");
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(7, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(6));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineOffset(6) - fDocument.getLineOffset(3);
-
-		StringBuffer expected = new StringBuffer("Require-Bundle: \n");
-		expected.append(" com.example.abc,\n");
-		expected.append(" com.example.core\n");
-		assertEquals(expected.toString(), fDocument.get(pos, length));
-
-	}
-
-	public void testReadBundleReExport() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Require-Bundle: com.example.abc;visibility:=reexport\n");
-		fDocument.set(buffer.toString());
-		load();
-
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.REQUIRE_BUNDLE);
-		assertNotNull(header);
-
-		RequireBundleObject bundle = getBundle((RequireBundleHeader) header, "com.example.abc");
-		assertNotNull(bundle);
-		assertTrue(bundle.isReexported());
-	}
-
-	public void testMakeBundleReExport() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Require-Bundle: org.eclipse.osgi\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.REQUIRE_BUNDLE);
-		assertNotNull(header);
-
-		RequireBundleObject bundle = getBundle((RequireBundleHeader) header, "org.eclipse.osgi");
-		assertNotNull(bundle);
-		bundle.setReexported(true);
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals("Require-Bundle: org.eclipse.osgi;visibility:=reexport\n", fDocument.get(pos, length));
-	}
-
-	public void testRemoveReExport() throws Exception {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Manifest-Version: 1.0\n");
-		buffer.append("Bundle-ManifestVersion: 2\n");
-		buffer.append("Bundle-SymoblicName: com.example.xyz\n");
-		buffer.append("Require-Bundle: org.eclipse.osgi;visibility:=reexport\n");
-		fDocument.set(buffer.toString());
-		load(true);
-		IManifestHeader header = fModel.getBundle().getManifestHeader(Constants.REQUIRE_BUNDLE);
-		assertNotNull(header);
-
-		RequireBundleObject object = getBundle((RequireBundleHeader) header, "org.eclipse.osgi");
-		assertNotNull(object);
-		object.setReexported(false);
-
-		TextEdit[] ops = fListener.getTextOperations();
-		assertEquals(1, ops.length);
-
-		ops[0].apply(fDocument);
-		assertEquals(5, fDocument.getNumberOfLines());
-		assertEquals(0, fDocument.getLineLength(4));
-
-		int pos = fDocument.getLineOffset(3);
-		int length = fDocument.getLineLength(3);
-		assertEquals("Require-Bundle: org.eclipse.osgi\n", fDocument.get(pos, length));
-	}
-
-	private static RequireBundleObject getBundle(RequireBundleHeader header, String id) {
-		RequireBundleObject[] bundles = header.getRequiredBundles();
-		for (int i = 0; i < bundles.length; i++)
-			if (bundles[i].getId().equals(id))
-				return bundles[i];
-		return null;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/cheatsheet/AbstractCheatSheetModelTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/cheatsheet/AbstractCheatSheetModelTestCase.java
deleted file mode 100644
index a958e66..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/cheatsheet/AbstractCheatSheetModelTestCase.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.cheatsheet;
-
-import junit.framework.TestCase;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.pde.internal.core.text.IModelTextChangeListener;
-import org.eclipse.pde.internal.core.text.cheatsheet.simple.SimpleCSModel;
-import org.eclipse.pde.internal.core.text.plugin.XMLTextChangeListener;
-import org.eclipse.text.edits.*;
-
-public abstract class AbstractCheatSheetModelTestCase extends TestCase {
-
-	protected static final String LF = "\n"; //$NON-NLS-1$
-	protected static final String CR = "\r"; //$NON-NLS-1$
-	protected static final String CRLF = CR + LF;
-	
-	protected Document fDocument;
-	protected SimpleCSModel fModel;
-	protected IModelTextChangeListener fListener;
-
-	public AbstractCheatSheetModelTestCase() {
-	}
-
-	protected void setUp() throws Exception {
-		fDocument = new Document();
-	}
-
-	protected void load() {
-		load(false);
-	}
-
-	protected void load(boolean addListener) {
-		try {
-			fModel = new SimpleCSModel(fDocument, false);
-			fModel.load();
-			if (!fModel.isLoaded() || !fModel.isValid())
-				fail("model cannot be loaded");
-			if (addListener) {
-				fListener = new XMLTextChangeListener(fModel.getDocument());
-				fModel.addModelChangedListener(fListener);
-			}
-		} catch (CoreException e) {
-			fail("model cannot be loaded");
-		}
-	}
-	
-	protected void setXMLContents(StringBuffer body, String newline) {
-		StringBuffer sb = new StringBuffer();
-		sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
-		sb.append(newline);
-		sb.append("<cheatsheet title=\"sample cheatsheet\">");
-		sb.append(newline);
-		if (body != null)
-			sb.append(body.toString());
-		sb.append(newline);
-		sb.append("</cheatsheet>");
-		sb.append(newline);
-		fDocument.set(sb.toString());
-	}
-
-	protected void reload() {
-		TextEdit[] ops = fListener.getTextOperations();
-		if (ops.length == 0)
-			return;
-		MultiTextEdit multi = new MultiTextEdit();
-		multi.addChildren(ops);
-		try {
-			multi.apply(fDocument);
-		} catch (MalformedTreeException e) {
-			fail(e.getMessage());
-		} catch (BadLocationException e) {
-			fail(e.getMessage());
-		}
-		load();
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/cheatsheet/AllCheatSheetModelTests.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/cheatsheet/AllCheatSheetModelTests.java
deleted file mode 100644
index 76c4473..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/cheatsheet/AllCheatSheetModelTests.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.cheatsheet;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllCheatSheetModelTests {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test Suite for testing the cheatsheet model"); //$NON-NLS-1$
-		suite.addTestSuite(SimpleCSIntroTestCase.class);
-		return suite;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/cheatsheet/SimpleCSIntroTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/cheatsheet/SimpleCSIntroTestCase.java
deleted file mode 100644
index 0d29e78..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/cheatsheet/SimpleCSIntroTestCase.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.cheatsheet;
-
-import org.eclipse.pde.internal.core.icheatsheet.simple.*;
-
-public class SimpleCSIntroTestCase extends AbstractCheatSheetModelTestCase {
-
-	protected static String INTRO_HREF = "/org.eclipse.platform.doc.user/reference/ref-cheatsheets.htm"; //$NON-NLS-1$
-	protected static String DESCRIPTION = "some description"; //$NON-NLS-1$
-	
-	public void testAddSimpleCSIntro() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("<intro href=\"").append(INTRO_HREF).append("\">");
-		buffer.append(LF);
-		buffer.append("<description>");
-		buffer.append(DESCRIPTION);
-		buffer.append("</description>");
-		buffer.append(LF);
-		buffer.append("</intro>");
-		setXMLContents(buffer, LF);
-		load();
-		
-		ISimpleCS model = fModel.getSimpleCS();
-		String title = model.getTitle();
-		assertEquals("Incorrect title", "sample cheatsheet", title);
-		
-		// check intro
-		ISimpleCSIntro intro = model.getIntro();
-		assertNotNull(intro);
-		assertEquals(intro.getHref(), INTRO_HREF);
-		
-		// check description
-		ISimpleCSDescription description = intro.getDescription();
-		assertNotNull(description);
-		assertEquals(DESCRIPTION, description.getContent());
-	}
-	
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/schema/AllSchemaModelTests.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/schema/AllSchemaModelTests.java
deleted file mode 100644
index a906e9f..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/schema/AllSchemaModelTests.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.schema;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllSchemaModelTests {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test Suite for testing the schema model"); //$NON-NLS-1$
-		return suite;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/AllXMLModelTests.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/AllXMLModelTests.java
deleted file mode 100644
index be30b80..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/AllXMLModelTests.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.xml;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllXMLModelTests {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test Suite for testing the xml model"); //$NON-NLS-1$
-		suite.addTest(BasicXMLTestCase.suite());
-		/* 
-		 * Commented out till XMLTextChangeListener#getTextOperations() 
-		 * gets fixed / updated (see what InputContext does)
-		 */
-		//		suite.addTest(SwapXMLModelTestCase.suite());
-		suite.addTest(StructureXMLModelTestCase.suite());
-		suite.addTest(ExtensionAttributeTestCase.suite());
-		suite.addTest(ExtensionElementTestCase.suite());
-		return suite;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/BasicXMLTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/BasicXMLTestCase.java
deleted file mode 100644
index a3c8217..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/BasicXMLTestCase.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.xml;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.pde.core.plugin.*;
-import org.eclipse.pde.internal.core.text.IDocumentElementNode;
-
-public class BasicXMLTestCase extends XMLModelTestCase {
-
-	public static Test suite() {
-		return new TestSuite(BasicXMLTestCase.class);
-	}
-
-	public void testReadSimpleExtension() {
-		StringBuffer sb = new StringBuffer();
-		sb.append("<extension point=\"org.eclipse.pde.ui.samples\"><sample /></extension>");
-		setXMLContents(sb, LF);
-		load();
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(extensions.length, 1);
-		assertEquals(extensions[0].getPoint(), "org.eclipse.pde.ui.samples");
-		assertEquals(extensions[0].getChildCount(), 1);
-		assertEquals(extensions[0].getChildren()[0].getName(), "sample");
-	}
-
-	public void testReadMultilineSimpleExtension() {
-		StringBuffer sb = new StringBuffer();
-		sb.append("<extension ");
-		sb.append(LF);
-		sb.append("point=\"org.eclipse.pde.ui.samples\">");
-		sb.append(LF);
-		sb.append("<sample />");
-		sb.append(LF);
-		sb.append("</extension>");
-		setXMLContents(sb, LF);
-		load();
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(extensions.length, 1);
-		assertEquals(extensions[0].getPoint(), "org.eclipse.pde.ui.samples");
-		assertEquals(extensions[0].getChildCount(), 1);
-		assertEquals(extensions[0].getChildren()[0].getName(), "sample");
-	}
-
-	public void testAddSimpleExtension() throws Exception {
-		setXMLContents(null, LF);
-		load(true);
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(extensions.length, 0);
-
-		IExtensionsModelFactory factory = fModel.getFactory();
-		IPluginExtension ext = factory.createExtension();
-		ext.setPoint("org.eclipse.pde.ui.samples");
-		IPluginElement obj = factory.createElement(ext);
-		obj.setName("sample");
-		ext.add(obj);
-		fModel.getPluginBase().add(ext);
-
-		reload();
-
-		extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(extensions.length, 1);
-		assertEquals(extensions[0].getPoint(), "org.eclipse.pde.ui.samples");
-		assertEquals(extensions[0].getChildCount(), 1);
-		assertEquals(extensions[0].getChildren()[0].getName(), "sample");
-	}
-
-	public void testRemoveSimpleExtension() throws Exception {
-		StringBuffer sb = new StringBuffer();
-		sb.append("<extension id=\"org.eclipse.pde.ui.samples\"><sample /></extension>");
-		setXMLContents(sb, LF);
-		load(true);
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(extensions.length, 1);
-
-		fModel.getPluginBase().remove(extensions[0]);
-
-		reload();
-
-		extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(extensions.length, 0);
-	}
-	
-	// bug 220178
-	public void testRemoveChildNode() throws Exception {
-		StringBuffer sb = new StringBuffer();
-		sb.append("<extension id=\"org.eclipse.pde.ui.samples\"><sample /></extension>");
-		sb.append("<extension id=\"org.eclipse.pde.ui.samples2\"><sample /></extension>");
-		setXMLContents(sb, LF);
-		load(true);
-
-		IDocumentElementNode parent = (IDocumentElementNode) fModel.getPluginBase();
-		IDocumentElementNode child1 = parent.getChildAt(0);
-		assertNotNull(child1);
-		IDocumentElementNode child2 = parent.getChildAt(1);
-		assertNotNull(child2);
-		
-		IDocumentElementNode result = parent.removeChildNode(child2);
-		assertNotNull(result);
-		assertEquals(child2, result);
-	}
-	
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/ExtensionAttributeTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/ExtensionAttributeTestCase.java
deleted file mode 100644
index ce851f6..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/ExtensionAttributeTestCase.java
+++ /dev/null
@@ -1,450 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.xml;
-
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginObject;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class ExtensionAttributeTestCase extends ExtensionTestCase {
-
-	public static Test suite() {
-		return new TestSuite(ExtensionAttributeTestCase.class);
-	}
-
-	public void testAddNewExtensionAttribute1LF() throws Exception {
-		testAddNewExtensionAttribute1(LF);
-	}
-
-	public void testAddNewExtensionAttribute2LF() throws Exception {
-		testAddNewExtensionAttribute2(LF);
-	}
-
-	public void testAddNewExtensionAttribute3LF() throws Exception {
-		testAddNewExtensionAttribute3(LF);
-	}
-
-	public void testAddNewExtensionAttribute1CRLF() throws Exception {
-		testAddNewExtensionAttribute1(CRLF);
-	}
-
-	public void testAddNewExtensionAttribute2CRLF() throws Exception {
-		testAddNewExtensionAttribute2(CRLF);
-	}
-
-	public void testAddNewExtensionAttribute3CRLF() throws Exception {
-		testAddNewExtensionAttribute3(CRLF);
-	}
-
-	private void testAddNewExtensionAttribute1(String newLine) throws Exception {
-		StringBuffer sb = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\"><sample /></extension>");
-		testAddNewExtensionAttribute(sb, newLine);
-	}
-
-	private void testAddNewExtensionAttribute2(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append(newLine);
-		buffer.append("<sample />");
-		buffer.append(newLine);
-		buffer.append("</extension>");
-		testAddNewExtensionAttribute(buffer, newLine);
-	}
-
-	private void testAddNewExtensionAttribute3(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append(newLine);
-		buffer.append("\t<sample />");
-		buffer.append(newLine);
-		buffer.append("\t</extension>");
-		testAddNewExtensionAttribute(buffer, newLine);
-	}
-
-	public void testAddExtensionAttribute1LF() throws Exception {
-		testAddExtensionAttribute1(LF);
-	}
-
-	public void testAddExtensionAttribute2LF() throws Exception {
-		testAddExtensionAttribute2(LF);
-	}
-
-	public void testAddExtensionAttribute3LF() throws Exception {
-		testAddExtensionAttribute3(LF);
-	}
-
-	public void testAddExtensionAttribute1CRLF() throws Exception {
-		testAddExtensionAttribute1(CRLF);
-	}
-
-	public void testAddExtensionAttribute2CRLF() throws Exception {
-		testAddExtensionAttribute2(CRLF);
-	}
-
-	public void testAddExtensionAttribute3CRLF() throws Exception {
-		testAddExtensionAttribute3(CRLF);
-	}
-
-	private void testAddExtensionAttribute1(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append("<sample id=\"org.eclipse.pde.sample1\"/></extension>");
-		testAddExtensionAttribute(buffer, newLine);
-	}
-
-	private void testAddExtensionAttribute2(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append(newLine);
-		buffer.append("<sample id=\"org.eclipse.pde.sample1\"/>");
-		buffer.append(newLine);
-		buffer.append("</extension>");
-		testAddExtensionAttribute(buffer, newLine);
-	}
-
-	private void testAddExtensionAttribute3(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append(newLine);
-		buffer.append("\t<sample id=\"org.eclipse.pde.sample1\"/>");
-		buffer.append(newLine);
-		buffer.append("\t</extension>");
-		testAddExtensionAttribute(buffer, newLine);
-	}
-
-	public void testAddNewMultipleAttributes1LF() throws Exception {
-		testAddNewMultipleAttributes1(LF);
-	}
-
-	public void testAddNewMultipleAttributes2LF() throws Exception {
-		testAddNewMultipleAttributes2(LF);
-	}
-
-	public void testAddNewMultipleAttributes3LF() throws Exception {
-		testAddNewMultipleAttributes3(LF);
-	}
-
-	public void testAddNewMultipleAttributes1CRLF() throws Exception {
-		testAddNewMultipleAttributes1(CRLF);
-	}
-
-	public void testAddNewMultipleAttributes2CRLF() throws Exception {
-		testAddNewMultipleAttributes2(CRLF);
-	}
-
-	public void testAddNewMultipleAttributes3CRLF() throws Exception {
-		testAddNewMultipleAttributes3(CRLF);
-	}
-
-	private void testAddNewMultipleAttributes1(String newLine) throws Exception {
-		StringBuffer sb = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\"><sample /></extension>");
-		testAddNewMultipleExtensionAttributes(sb, newLine);
-	}
-
-	private void testAddNewMultipleAttributes2(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append(newLine);
-		buffer.append("<sample />");
-		buffer.append(newLine);
-		buffer.append("</extension>");
-		testAddNewMultipleExtensionAttributes(buffer, newLine);
-	}
-
-	private void testAddNewMultipleAttributes3(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append(newLine);
-		buffer.append("\t<sample />");
-		buffer.append(newLine);
-		buffer.append("\t</extension>");
-		testAddNewMultipleExtensionAttributes(buffer, newLine);
-	}
-
-	public void testRemoveExtensionAttribute1LF() throws Exception {
-		testRemoveExtensionAttribute1(LF);
-	}
-
-	public void testRemoveExtensionAttribute2LF() throws Exception {
-		testRemoveExtensionAttribute2(LF);
-	}
-
-	public void testRemoveExtensionAttribute3LF() throws Exception {
-		testRemoveExtensionAttribute3(LF);
-	}
-
-	public void testRemoveExtensionAttribute1CRLF() throws Exception {
-		testRemoveExtensionAttribute1(CRLF);
-	}
-
-	public void testRemoveExtensionAttribute2CRLF() throws Exception {
-		testRemoveExtensionAttribute2(CRLF);
-	}
-
-	public void testRemoveExtensionAttribute3CRLF() throws Exception {
-		testRemoveExtensionAttribute3(CRLF);
-	}
-
-	private void testRemoveExtensionAttribute1(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\">\t");
-		buffer.append("<sample id=\"org.eclipse.pde.sample1\"/>\t</extension>");
-		testRemoveExtensionAttribute(buffer, newLine);
-	}
-
-	private void testRemoveExtensionAttribute2(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append(newLine);
-		buffer.append("\t<sample id=\"org.eclipse.pde.sample1\"/>");
-		buffer.append(newLine);
-		buffer.append("</extension>");
-		testRemoveExtensionAttribute(buffer, newLine);
-	}
-
-	private void testRemoveExtensionAttribute3(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append(newLine);
-		buffer.append("<sample id=\"org.eclipse.pde.sample1\"/>");
-		buffer.append(newLine);
-		buffer.append("\t</extension>");
-		testRemoveExtensionAttribute(buffer, newLine);
-	}
-
-	public void testRemoveMultipleExtensionAttributes1LF() throws Exception {
-		testRemoveMultipleExtensionAttributes1(LF);
-	}
-
-	public void testRemoveMultipleExtensionAttributes2LF() throws Exception {
-		testRemoveMultipleExtensionAttributes2(LF);
-	}
-
-	public void testRemoveMultipleExtensionAttributes3LF() throws Exception {
-		testRemoveMultipleExtensionAttributes3(LF);
-	}
-
-	public void testRemoveMultipleExtensionAttributes1CRLF() throws Exception {
-		testRemoveMultipleExtensionAttributes1(CRLF);
-	}
-
-	public void testRemoveMultipleExtensionAttributes2CRLF() throws Exception {
-		testRemoveMultipleExtensionAttributes2(CRLF);
-	}
-
-	public void testRemoveMultipleExtensionAttributes3CRLF() throws Exception {
-		testRemoveMultipleExtensionAttributes3(CRLF);
-	}
-
-	private void testRemoveMultipleExtensionAttributes1(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\">\t");
-		buffer.append("<sample id=\"org.eclipse.pde.sample1\" name=\"pde sample\" perspectiveId=\"org.eclipse.pde.ui.PDEPerspective\"/></extension>");
-		testRemoveMultipleExtensionAttributes(buffer, newLine);
-	}
-
-	private void testRemoveMultipleExtensionAttributes2(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append(newLine);
-		buffer.append("\t<sample id=\"org.eclipse.pde.sample1\" name=\"pde sample\" perspectiveId=\"org.eclipse.pde.ui.PDEPerspective\"/>");
-		buffer.append(newLine);
-		buffer.append("</extension>");
-		testRemoveMultipleExtensionAttributes(buffer, newLine);
-	}
-
-	private void testRemoveMultipleExtensionAttributes3(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append(newLine);
-		buffer.append("<sample id=\"org.eclipse.pde.sample1\" name=\"pde sample\" perspectiveId=\"org.eclipse.pde.ui.PDEPerspective\"/>");
-		buffer.append(newLine);
-		buffer.append("\t</extension>");
-		testRemoveMultipleExtensionAttributes(buffer, newLine);
-	}
-
-	public void testChangeExtensionAttribute1LF() throws Exception {
-		testChangeExtensionAttribute1(LF);
-	}
-
-	public void testChangeExtensionAttribute2LF() throws Exception {
-		testChangeExtensionAttribute2(LF);
-	}
-
-	public void testChangeExtensionAttribute3LF() throws Exception {
-		testChangeExtensionAttribute3(LF);
-	}
-
-	public void testChangeExtensionAttribute1CRLF() throws Exception {
-		testChangeExtensionAttribute1(CRLF);
-	}
-
-	public void testChangeExtensionAttribute2CRLF() throws Exception {
-		testChangeExtensionAttribute2(CRLF);
-	}
-
-	public void testChangeExtensionAttribute3CRLF() throws Exception {
-		testChangeExtensionAttribute3(CRLF);
-	}
-
-	private void testChangeExtensionAttribute1(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append("<sample id=\"org.eclipse.pde.sample1\" name=\"pde sample\" perspectiveId=\"org.eclipse.pde.ui.PDEPerspective\"/></extension>");
-		testChangeExtensionAttribute(buffer, newLine);
-	}
-
-	private void testChangeExtensionAttribute2(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append(newLine);
-		buffer.append("\t<sample id=\"org.eclipse.pde.sample1\" name=\"pde sample\" perspectiveId=\"org.eclipse.pde.ui.PDEPerspective\"/>");
-		buffer.append(newLine);
-		buffer.append("</extension>");
-		testChangeExtensionAttribute(buffer, newLine);
-	}
-
-	private void testChangeExtensionAttribute3(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append(newLine);
-		buffer.append("\t\t\t<sample id=\"org.eclipse.pde.sample1\" name=\"pde sample\" perspectiveId=\"org.eclipse.pde.ui.PDEPerspective\"/>");
-		buffer.append(newLine);
-		buffer.append("\t</extension>");
-		testChangeExtensionAttribute(buffer, newLine);
-	}
-
-	private void testAddNewExtensionAttribute(StringBuffer buffer, String newLine) throws Exception {
-		StringBuffer sb = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\"><sample /></extension>");
-		setXMLContents(sb, LF);
-		load(true);
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(extensions.length, 1);
-		assertEquals(extensions[0].getChildCount(), 1);
-		IPluginObject child = extensions[0].getChildren()[0];
-
-		assertTrue(child instanceof IPluginElement);
-		IPluginElement elem = (IPluginElement) child;
-		elem.setAttribute("id", "org.eclipse.pde.sample1");
-
-		IPluginExtension ext = reloadModel();
-		assertEquals(ext.getChildCount(), 1);
-		elem = (IPluginElement) ext.getChildren()[0];
-		assertEquals(elem.getName(), "sample");
-		assertEquals(elem.getAttribute("id").getValue(), "org.eclipse.pde.sample1");
-	}
-
-	private void testAddExtensionAttribute(StringBuffer buffer, String newLine) throws Exception {
-		setXMLContents(buffer, newLine);
-		load(true);
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(extensions.length, 1);
-		assertEquals(extensions[0].getChildCount(), 1);
-		IPluginObject child = extensions[0].getChildren()[0];
-
-		assertTrue(child instanceof IPluginElement);
-		IPluginElement elem = (IPluginElement) child;
-		assertEquals(elem.getAttribute("id").getValue(), "org.eclipse.pde.sample1");
-		elem.setAttribute("name", "pde sample");
-
-		IPluginExtension ext = reloadModel();
-
-		assertEquals(ext.getChildCount(), 1);
-		elem = (IPluginElement) ext.getChildren()[0];
-		assertEquals(elem.getName(), "sample");
-		assertEquals(elem.getAttributeCount(), 2);
-		assertEquals(elem.getAttribute("id").getValue(), "org.eclipse.pde.sample1");
-		assertEquals(elem.getAttribute("name").getValue(), "pde sample");
-	}
-
-	private void testAddNewMultipleExtensionAttributes(StringBuffer buffer, String newLine) throws Exception {
-		setXMLContents(buffer, newLine);
-		load(true);
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(extensions.length, 1);
-		assertEquals(extensions[0].getChildCount(), 1);
-		IPluginObject child = extensions[0].getChildren()[0];
-		assertTrue(child instanceof IPluginElement);
-		IPluginElement elem = (IPluginElement) child;
-		elem.setAttribute("id", "org.eclipse.pde.sample1");
-		elem.setAttribute("name", "pde sample");
-
-		IPluginExtension ext = reloadModel();
-
-		assertEquals(ext.getChildCount(), 1);
-		elem = (IPluginElement) ext.getChildren()[0];
-		assertEquals(elem.getName(), "sample");
-		assertEquals(elem.getAttribute("id").getValue(), "org.eclipse.pde.sample1");
-		assertEquals(elem.getAttribute("name").getValue(), "pde sample");
-	}
-
-	private void testRemoveExtensionAttribute(StringBuffer buffer, String newLine) throws Exception {
-		setXMLContents(buffer, newLine);
-		load(true);
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(extensions.length, 1);
-		assertEquals(extensions[0].getChildCount(), 1);
-		IPluginObject child = extensions[0].getChildren()[0];
-
-		assertTrue(child instanceof IPluginElement);
-		IPluginElement elem = (IPluginElement) child;
-		assertEquals(elem.getAttribute("id").getValue(), "org.eclipse.pde.sample1");
-		elem.setAttribute("id", null);
-
-		IPluginExtension ext = reloadModel();
-
-		assertEquals(ext.getChildCount(), 1);
-		elem = (IPluginElement) ext.getChildren()[0];
-		assertEquals(elem.getName(), "sample");
-		assertEquals(elem.getAttributeCount(), 0);
-	}
-
-	private void testRemoveMultipleExtensionAttributes(StringBuffer buffer, String newLine) throws Exception {
-		setXMLContents(buffer, newLine);
-		load(true);
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(extensions.length, 1);
-		assertEquals(extensions[0].getChildCount(), 1);
-		IPluginObject child = extensions[0].getChildren()[0];
-		assertTrue(child instanceof IPluginElement);
-		assertEquals(((IPluginElement) child).getAttributeCount(), 3);
-
-		assertTrue(child instanceof IPluginElement);
-		IPluginElement elem = (IPluginElement) child;
-		assertEquals(elem.getAttribute("id").getValue(), "org.eclipse.pde.sample1");
-		elem.setAttribute("id", null);
-		elem.setAttribute("perspectiveId", null);
-
-		IPluginExtension ext = reloadModel();
-
-		assertEquals(ext.getChildCount(), 1);
-		elem = (IPluginElement) ext.getChildren()[0];
-		assertEquals(elem.getName(), "sample");
-		assertEquals(elem.getAttributeCount(), 1);
-		assertEquals(elem.getAttribute("name").getValue(), "pde sample");
-	}
-
-	private void testChangeExtensionAttribute(StringBuffer buffer, String newLine) throws Exception {
-		setXMLContents(buffer, newLine);
-		load(true);
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(extensions.length, 1);
-		assertEquals(extensions[0].getChildCount(), 1);
-		IPluginObject child = extensions[0].getChildren()[0];
-		assertTrue(child instanceof IPluginElement);
-		IPluginElement elem = (IPluginElement) child;
-		assertEquals(elem.getAttribute("id").getValue(), "org.eclipse.pde.sample1");
-		elem.setAttribute("id", "org.eclipse.pde.sample2");
-
-		IPluginExtension ext = reloadModel();
-
-		assertEquals(ext.getChildCount(), 1);
-		elem = (IPluginElement) ext.getChildren()[0];
-		assertEquals(elem.getName(), "sample");
-		assertEquals(elem.getAttributeCount(), 3);
-		assertEquals(elem.getAttribute("id").getValue(), "org.eclipse.pde.sample2");
-		assertEquals(elem.getAttribute("name").getValue(), "pde sample");
-		assertEquals(elem.getAttribute("perspectiveId").getValue(), "org.eclipse.pde.ui.PDEPerspective");
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/ExtensionElementTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/ExtensionElementTestCase.java
deleted file mode 100644
index 8f40230..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/ExtensionElementTestCase.java
+++ /dev/null
@@ -1,391 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.xml;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginObject;
-
-public class ExtensionElementTestCase extends ExtensionTestCase {
-
-	public static Test suite() {
-		return new TestSuite(ExtensionElementTestCase.class);
-	}
-
-	public void testAddNewExtensionElement1LF() throws Exception {
-		testAddNewExtensionElement1(LF);
-	}
-
-	public void testAddNewExtensionElement2LF() throws Exception {
-		testAddNewExtensionElement2(LF);
-	}
-
-	public void testAddNewExtensionElement3LF() throws Exception {
-		testAddNewExtensionElement3(LF);
-	}
-
-	public void testAddNewExtensionElement1CRLF() throws Exception {
-		testAddNewExtensionElement1(CRLF);
-	}
-
-	public void testAddNewExtensionElement2CRLF() throws Exception {
-		testAddNewExtensionElement2(CRLF);
-	}
-
-	public void testAddNewExtensionElement3CRLF() throws Exception {
-		testAddNewExtensionElement3(CRLF);
-	}
-
-	private void testAddNewExtensionElement1(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("\t<extension point=\"org.eclipse.pde.ui.samples\"></extension>");
-		testAddNewExtensionElement(buffer, newLine);
-	}
-
-	private void testAddNewExtensionElement2(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("\t<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append(newLine);
-		buffer.append("\t</extension>");
-		testAddNewExtensionElement(buffer, newLine);
-	}
-
-	private void testAddNewExtensionElement3(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append(newLine);
-		buffer.append("</extension>");
-		testAddNewExtensionElement(buffer, newLine);
-	}
-
-	public void testAddExtensionElement1LF() throws Exception {
-		StringBuffer buffer = getSingleElementBuffer1(LF);
-		testAddExtensionElement(buffer, LF);
-	}
-
-	public void testAddExtensionElement2LF() throws Exception {
-		StringBuffer buffer = getSingleElementBuffer2(LF);
-		testAddExtensionElement(buffer, LF);
-	}
-
-	public void testAddExtensionElement3LF() throws Exception {
-		StringBuffer buffer = getSingleElementBuffer3(LF);
-		testAddExtensionElement(buffer, LF);
-	}
-
-	public void testAddExtensionElement1CRLF() throws Exception {
-		StringBuffer buffer = getSingleElementBuffer1(CRLF);
-		testAddExtensionElement(buffer, CRLF);
-	}
-
-	public void testAddExtensionElement2CRLF() throws Exception {
-		StringBuffer buffer = getSingleElementBuffer2(CRLF);
-		testAddExtensionElement(buffer, CRLF);
-	}
-
-	public void testAddExtensionElement3CRLF() throws Exception {
-		StringBuffer buffer = getSingleElementBuffer3(CRLF);
-		testAddExtensionElement(buffer, CRLF);
-	}
-
-	private StringBuffer getSingleElementBuffer1(String newLine) throws Exception {
-		return new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\"><sample /></extension>");
-	}
-
-	private StringBuffer getSingleElementBuffer2(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append(newLine);
-		buffer.append("<sample />");
-		buffer.append(newLine);
-		return buffer.append("</extension>");
-	}
-
-	private StringBuffer getSingleElementBuffer3(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("\t<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append(newLine);
-		buffer.append("\t\t<sample />");
-		buffer.append(newLine);
-		return buffer.append("\t</extension>");
-	}
-
-	public void testAddNewMultipleExtensionElements1LF() throws Exception {
-		testAddNewMultipleExtensionElements1(LF);
-	}
-
-	public void testAddNewMultipleExtensionElements2LF() throws Exception {
-		testAddNewMultipleExtensionElements2(LF);
-	}
-
-	public void testAddNewMultipleExtensionElements3LF() throws Exception {
-		testAddNewMultipleExtensionElements3(LF);
-	}
-
-	public void testAddNewMultipleExtensionElements1CRLF() throws Exception {
-		testAddNewMultipleExtensionElements1(CRLF);
-	}
-
-	public void testAddNewMultipleExtensionElements2CRLF() throws Exception {
-		testAddNewMultipleExtensionElements2(CRLF);
-	}
-
-	public void testAddNewMultipleExtensionElements3CRLF() throws Exception {
-		testAddNewMultipleExtensionElements3(CRLF);
-	}
-
-	private void testAddNewMultipleExtensionElements1(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("\t<extension point=\"org.eclipse.pde.ui.samples\"></extension>");
-		testAddNewMultipleExtensionElements(buffer, newLine);
-	}
-
-	private void testAddNewMultipleExtensionElements2(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("\t<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append(newLine);
-		buffer.append("\t</extension>");
-		testAddNewMultipleExtensionElements(buffer, newLine);
-	}
-
-	private void testAddNewMultipleExtensionElements3(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append(newLine);
-		buffer.append("</extension>");
-		testAddNewMultipleExtensionElements(buffer, newLine);
-	}
-
-	public void testAddMultipleExtensionElements1LF() throws Exception {
-		StringBuffer buffer = getSingleElementBuffer1(LF);
-		testAddMultipleExtensionElements(buffer, LF);
-	}
-
-	public void testAddMultipleExtensionElements2LF() throws Exception {
-		StringBuffer buffer = getSingleElementBuffer2(LF);
-		testAddMultipleExtensionElements(buffer, LF);
-	}
-
-	public void testAddMultipleExtensionElements3LF() throws Exception {
-		StringBuffer buffer = getSingleElementBuffer3(LF);
-		testAddMultipleExtensionElements(buffer, LF);
-	}
-
-	public void testAddMultipleExtensionElements1CRLF() throws Exception {
-		StringBuffer buffer = getSingleElementBuffer1(CRLF);
-		testAddMultipleExtensionElements(buffer, CRLF);
-	}
-
-	public void testAddMultipleExtensionElements2CRLF() throws Exception {
-		StringBuffer buffer = getSingleElementBuffer2(CRLF);
-		testAddMultipleExtensionElements(buffer, CRLF);
-	}
-
-	public void testAddMultipleExtensionElements3CRLF() throws Exception {
-		StringBuffer buffer = getSingleElementBuffer3(CRLF);
-		testAddMultipleExtensionElements(buffer, CRLF);
-	}
-
-	public void testRemoveExtensionElement1LF() throws Exception {
-		StringBuffer buffer = getSingleElementBuffer1(LF);
-		testRemoveExtensionElement(buffer, LF);
-	}
-
-	public void testRemoveExtensionElement2LF() throws Exception {
-		StringBuffer buffer = getSingleElementBuffer2(LF);
-		testRemoveExtensionElement(buffer, LF);
-	}
-
-	public void testRemoveExtensionElement3LF() throws Exception {
-		StringBuffer buffer = getSingleElementBuffer3(LF);
-		testRemoveExtensionElement(buffer, LF);
-	}
-
-	public void testRemoveExtensionElement1CRLF() throws Exception {
-		StringBuffer buffer = getSingleElementBuffer1(CRLF);
-		testRemoveExtensionElement(buffer, CRLF);
-	}
-
-	public void testRemoveExtensionElement2CRLF() throws Exception {
-		StringBuffer buffer = getSingleElementBuffer2(CRLF);
-		testRemoveExtensionElement(buffer, CRLF);
-	}
-
-	public void testRemoveExtensionElement3CRLF() throws Exception {
-		StringBuffer buffer = getSingleElementBuffer3(CRLF);
-		testRemoveExtensionElement(buffer, CRLF);
-	}
-
-	public void testRemoveMultipleExtensionElements1LF() throws Exception {
-		testRemoveMultipleExtensionElements1(LF);
-	}
-
-	public void testRemoveMultipleExtensionElements2LF() throws Exception {
-		testRemoveMultipleExtensionElements2(LF);
-	}
-
-	public void testRemoveMultipleExtensionElements3LF() throws Exception {
-		testRemoveMultipleExtensionElements3(LF);
-	}
-
-	public void testRemoveMultipleExtensionElements1CRLF() throws Exception {
-		testRemoveMultipleExtensionElements1(CRLF);
-	}
-
-	public void testRemoveMultipleExtensionElements2CRLF() throws Exception {
-		testRemoveMultipleExtensionElements2(CRLF);
-	}
-
-	public void testRemoveMultipleExtensionElements3CRLF() throws Exception {
-		testRemoveMultipleExtensionElements3(CRLF);
-	}
-
-	private void testRemoveMultipleExtensionElements1(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\"><sample />");
-		buffer.append("<sample1/><sample2 /></extension>");
-		testRemoveMulitpleExtensionElements(buffer, newLine);
-	}
-
-	private void testRemoveMultipleExtensionElements2(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append(newLine);
-		buffer.append("\t<sample />");
-		buffer.append(newLine);
-		buffer.append("\t<sample1/>");
-		buffer.append(newLine);
-		buffer.append("\t<sample2 />");
-		buffer.append(newLine);
-		buffer.append("</extension>");
-		testRemoveMulitpleExtensionElements(buffer, newLine);
-	}
-
-	private void testRemoveMultipleExtensionElements3(String newLine) throws Exception {
-		StringBuffer buffer = new StringBuffer("\t<extension point=\"org.eclipse.pde.ui.samples\">");
-		buffer.append(newLine);
-		buffer.append("\t\t<sample />");
-		buffer.append("<sample1/>");
-		buffer.append("<sample2 />");
-		buffer.append(newLine);
-		buffer.append("\t</extension>");
-		testRemoveMulitpleExtensionElements(buffer, newLine);
-	}
-
-	private void testAddNewExtensionElement(StringBuffer buffer, String newLine) throws Exception {
-		setXMLContents(buffer, newLine);
-		load(true);
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(extensions.length, 1);
-
-		IPluginExtension ext = extensions[0];
-		ext.add(createElement("sample", ext));
-
-		reload();
-
-		extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(extensions.length, 1);
-		assertEquals(extensions[0].getPoint(), "org.eclipse.pde.ui.samples");
-		assertEquals(extensions[0].getChildCount(), 1);
-		assertEquals(extensions[0].getChildren()[0].getName(), "sample");
-	}
-
-	private void testAddExtensionElement(StringBuffer buffer, String newLine) throws Exception {
-		setXMLContents(buffer, newLine);
-		load(true);
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(extensions.length, 1);
-		assertEquals(extensions[0].getChildCount(), 1);
-		IPluginExtension ext = extensions[0];
-		ext.add(createElement("sample1", ext));
-
-		ext = reloadModel();
-		assertEquals(ext.getChildCount(), 2);
-		assertEquals(ext.getChildren()[0].getName(), "sample");
-	}
-
-	private void testAddNewMultipleExtensionElements(StringBuffer buffer, String newLine) throws Exception {
-		setXMLContents(buffer, newLine);
-		load(true);
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(extensions.length, 1);
-
-		IPluginExtension ext = extensions[0];
-		ext.add(createElement("sample1", ext));
-		ext.add(createElement("sample2", ext));
-
-		ext = reloadModel();
-		assertEquals(ext.getChildCount(), 2);
-		assertEquals(ext.getChildren()[0].getName(), "sample1");
-		assertEquals(ext.getChildren()[1].getName(), "sample2");
-	}
-
-	private void testAddMultipleExtensionElements(StringBuffer buffer, String newLine) throws Exception {
-		setXMLContents(buffer, newLine);
-		load(true);
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(extensions.length, 1);
-		assertEquals(extensions[0].getChildCount(), 1);
-		IPluginExtension ext = extensions[0];
-
-		ext.add(createElement("sample1", ext));
-		ext.add(createElement("sample2", ext));
-
-		ext = reloadModel();
-		assertEquals(ext.getChildCount(), 3);
-		assertEquals(ext.getChildren()[0].getName(), "sample");
-		assertEquals(ext.getChildren()[1].getName(), "sample1");
-		assertEquals(ext.getChildren()[2].getName(), "sample2");
-	}
-
-	private void testRemoveExtensionElement(StringBuffer buffer, String newLine) throws Exception {
-		setXMLContents(buffer, newLine);
-		load(true);
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(extensions.length, 1);
-		assertEquals(extensions[0].getChildCount(), 1);
-		IPluginExtension ext = extensions[0];
-		assertEquals(ext.getChildCount(), 1);
-
-		ext.remove(ext.getChildren()[0]);
-
-		ext = reloadModel();
-		assertEquals(ext.getChildCount(), 0);
-	}
-
-	private void testRemoveMulitpleExtensionElements(StringBuffer buffer, String newLine) throws Exception {
-		setXMLContents(buffer, newLine);
-		load(true);
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(extensions.length, 1);
-		IPluginExtension ext = extensions[0];
-		assertEquals(ext.getChildCount(), 3);
-		assertEquals(ext.getPoint(), "org.eclipse.pde.ui.samples");
-		IPluginObject[] children = ext.getChildren();
-		assertEquals(children[0].getName(), "sample");
-		assertEquals(children[1].getName(), "sample1");
-		assertEquals(children[2].getName(), "sample2");
-
-		ext.remove(children[0]);
-		ext.remove(children[2]);
-
-		ext = reloadModel();
-		assertEquals(ext.getChildCount(), 1);
-		assertEquals(ext.getChildren()[0].getName(), "sample1");
-	}
-
-	private IPluginElement createElement(String name, IPluginExtension parent) throws CoreException {
-		IPluginElement result = fModel.getFactory().createElement(parent);
-		result.setName(name);
-		return result;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/ExtensionTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/ExtensionTestCase.java
deleted file mode 100644
index 216ed5e..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/ExtensionTestCase.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.xml;
-
-import org.eclipse.pde.core.plugin.IPluginExtension;
-
-public class ExtensionTestCase extends XMLModelTestCase {
-
-	protected final IPluginExtension reloadModel() {
-		reload();
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(extensions.length, 1);
-		assertEquals(extensions[0].getPoint(), "org.eclipse.pde.ui.samples");
-		return extensions[0];
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/StructureXMLModelTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/StructureXMLModelTestCase.java
deleted file mode 100644
index 98c2954..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/StructureXMLModelTestCase.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.xml;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.pde.core.plugin.*;
-import org.eclipse.pde.internal.core.text.IDocumentElementNode;
-
-public class StructureXMLModelTestCase extends XMLModelTestCase {
-
-	// Plugin#write(String indent, PrintWriter writer)
-	// ~ line 99
-	static String FIRST_INDENT = "   "; //$NON-NLS-1$
-	// PluginElement#ATTRIBUTE_SHIFT
-	// ~ line 35
-	static String ATTRIBUTE_SHIFT = "      "; //$NON-NLS-1$
-	// PluginElement#ELEMENT_SHIFT
-	// ~ line 37
-	static String ELEMENT_SHIFT = "   "; //$NON-NLS-1$
-
-	public static Test suite() {
-		return new TestSuite(StructureXMLModelTestCase.class);
-	}
-
-	public void testStructureAddExtensionLF() throws Exception {
-		addExtension(LF);
-	}
-
-	public void testStructureAddExtensionCRLF() throws Exception {
-		addExtension(CRLF);
-	}
-
-	public void testStructureAddElementLF() throws Exception {
-		addElement(LF);
-	}
-
-	public void testStructureAddElementCRLF() throws Exception {
-		addElement(CRLF);
-	}
-
-	public void testStructureAddAttributeLF() throws Exception {
-		addAttributesToElement(LF);
-	}
-
-	public void testStructureAddAttributeCRLF() throws Exception {
-		addAttributesToElement(CRLF);
-	}
-
-	public void testStructureBreakOpenElementLF() throws Exception {
-		breakOpenElement(LF);
-	}
-
-	public void testStructureBreakOpenElementCRLF() throws Exception {
-		breakOpenElement(CRLF);
-	}
-
-	public void testStructurePreserveCommentInRootLF() throws Exception {
-		preserveCommentAddExtension(LF);
-	}
-
-	public void testStructurePreserveCommentInRootCRLF() throws Exception {
-		preserveCommentAddExtension(CRLF);
-	}
-
-	public void testStructurePreserveCommentInExtensionLF() throws Exception {
-		preserveContainedCommentAddElement(LF);
-	}
-
-	public void testStructurePreserveCommentInExtensionCRLF() throws Exception {
-		preserveContainedCommentAddElement(CRLF);
-	}
-
-	private void addExtension(String lineDelim) throws Exception {
-		StringBuffer sb = new StringBuffer();
-		sb.append(FIRST_INDENT);
-		sb.append("<extension");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append(ATTRIBUTE_SHIFT);
-		sb.append("point=\"org.eclipse.pde\">");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append("</extension>");
-		setXMLContents(sb, lineDelim);
-		load(true);
-
-		IPluginExtension ext = fModel.getFactory().createExtension();
-		ext.setPoint("org.eclipse.pde2");
-		fModel.getPluginBase().add(ext);
-
-		reload();
-
-		String newContents = fDocument.get();
-		sb = new StringBuffer();
-		sb.append(FIRST_INDENT);
-		sb.append("<extension");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append(ATTRIBUTE_SHIFT);
-		sb.append("point=\"org.eclipse.pde\">");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append("</extension>");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append("<extension");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append(ATTRIBUTE_SHIFT);
-		sb.append("point=\"org.eclipse.pde2\">");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append("</extension>");
-		setXMLContents(sb, lineDelim);
-		assertEquals(fDocument.get(), newContents);
-	}
-
-	private void addElement(String lineDelim) throws Exception {
-		StringBuffer sb = new StringBuffer();
-		sb.append(FIRST_INDENT);
-		sb.append("<extension");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append(ATTRIBUTE_SHIFT);
-		sb.append("point=\"org.eclipse.pde\">");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append("</extension>");
-		setXMLContents(sb, lineDelim);
-		load(true);
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(1, extensions.length);
-
-		IPluginElement element = fModel.getFactory().createElement(extensions[0]);
-		element.setName("child");
-		extensions[0].add(element);
-
-		reload();
-
-		String newContents = fDocument.get();
-		sb = new StringBuffer();
-		sb.append(FIRST_INDENT);
-		sb.append("<extension");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append(ATTRIBUTE_SHIFT);
-		sb.append("point=\"org.eclipse.pde\">");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append(ELEMENT_SHIFT);
-		sb.append("<child></child>");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append("</extension>");
-		setXMLContents(sb, lineDelim);
-		assertEquals(fDocument.get(), newContents);
-	}
-
-	private void addAttributesToElement(String lineDelim) throws Exception {
-		StringBuffer sb = new StringBuffer();
-		sb.append(FIRST_INDENT);
-		sb.append("<extension");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append(ATTRIBUTE_SHIFT);
-		sb.append("point=\"org.eclipse.pde\">");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append(ELEMENT_SHIFT);
-		sb.append("<child/>");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append("</extension>");
-		setXMLContents(sb, lineDelim);
-		load(true);
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(1, extensions.length);
-
-		IPluginObject[] children = extensions[0].getChildren();
-
-		assertEquals(1, children.length);
-		assertTrue(children[0] instanceof IPluginElement);
-
-		((IPluginElement) children[0]).setAttribute("id", "a");
-		((IPluginElement) children[0]).setAttribute("name", "test");
-
-		reload();
-
-		String newContents = fDocument.get();
-		sb = new StringBuffer();
-		sb.append(FIRST_INDENT);
-		sb.append("<extension");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append(ATTRIBUTE_SHIFT);
-		sb.append("point=\"org.eclipse.pde\">");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append(ELEMENT_SHIFT);
-		sb.append("<child");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append(ELEMENT_SHIFT);
-		sb.append(ATTRIBUTE_SHIFT);
-		sb.append("id=\"a\"");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append(ELEMENT_SHIFT);
-		sb.append(ATTRIBUTE_SHIFT);
-		sb.append("name=\"test\"/>");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append("</extension>");
-		setXMLContents(sb, lineDelim);
-		assertEquals(fDocument.get(), newContents);
-	}
-
-	private void breakOpenElement(String lineDelim) throws Exception {
-		StringBuffer sb = new StringBuffer();
-		sb.append(FIRST_INDENT);
-		sb.append("<extension");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append(ATTRIBUTE_SHIFT);
-		sb.append("point=\"org.eclipse.pde\">");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append(ELEMENT_SHIFT);
-		sb.append("<child/>");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append("</extension>");
-		setXMLContents(sb, lineDelim);
-		load(true);
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(1, extensions.length);
-
-		IPluginObject[] children = extensions[0].getChildren();
-		assertEquals(1, children.length);
-		assertTrue(children[0] instanceof IPluginElement);
-
-		IPluginElement element = fModel.getFactory().createElement(children[0]);
-		element.setName("subchild");
-		((IPluginElement) children[0]).add(element);
-
-		reload();
-
-		String newContents = fDocument.get();
-		sb = new StringBuffer();
-		sb.append(FIRST_INDENT);
-		sb.append("<extension");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append(ATTRIBUTE_SHIFT);
-		sb.append("point=\"org.eclipse.pde\">");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append(ELEMENT_SHIFT);
-		sb.append("<child>");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append(ELEMENT_SHIFT);
-		sb.append(ELEMENT_SHIFT);
-		sb.append("<subchild></subchild>");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append(ELEMENT_SHIFT);
-		sb.append("</child>");
-		sb.append(lineDelim);
-		sb.append(FIRST_INDENT);
-		sb.append("</extension>");
-		setXMLContents(sb, lineDelim);
-		assertEquals(fDocument.get(), newContents);
-	}
-
-	private void preserveCommentAddExtension(String lineDelim) throws Exception {
-		String comment = "<!-- THIS IS A COMMENT -->";
-		StringBuffer sb = new StringBuffer(comment);
-		setXMLContents(sb, lineDelim);
-		load(true);
-
-		IPluginExtension ext = fModel.getFactory().createExtension();
-		ext.setPoint("org.eclipse.pde");
-		fModel.getPluginBase().add(ext);
-
-		reload();
-
-		int commentIndex = fDocument.get().indexOf(comment);
-		assertTrue(commentIndex != -1);
-		IDocumentElementNode parent = (IDocumentElementNode) fModel.getPluginBase();
-		assertTrue(commentIndex >= parent.getOffset());
-		assertTrue(commentIndex + comment.length() <= parent.getOffset() + parent.getLength());
-	}
-
-	private void preserveContainedCommentAddElement(String lineDelim) throws Exception {
-		String comment = "<!-- THIS IS A COMMENT INSIDE THE EXTENSION -->";
-		StringBuffer sb = new StringBuffer();
-		sb.append("<extension point=\"org.eclipse.pde\">");
-		sb.append(lineDelim);
-		sb.append(comment);
-		sb.append(lineDelim);
-		sb.append("</extension>");
-		setXMLContents(sb, lineDelim);
-		load(true);
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(1, extensions.length);
-
-		IPluginElement element = fModel.getFactory().createElement(extensions[0]);
-		element.setName("element");
-		extensions[0].add(element);
-
-		reload();
-
-		int commentIndex = fDocument.get().indexOf(comment);
-		assertTrue(commentIndex != -1);
-		IDocumentElementNode parent = (IDocumentElementNode) fModel.getPluginBase();
-		assertTrue(commentIndex >= parent.getOffset());
-		assertTrue(commentIndex + comment.length() <= parent.getOffset() + parent.getLength());
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/SwapXMLModelTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/SwapXMLModelTestCase.java
deleted file mode 100644
index 7092de3..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/SwapXMLModelTestCase.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.xml;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.core.plugin.IPluginElement;
-import org.eclipse.pde.core.plugin.IPluginExtension;
-import org.eclipse.pde.core.plugin.IPluginObject;
-
-public class SwapXMLModelTestCase extends XMLModelTestCase {
-
-	public static Test suite() {
-		return new TestSuite(SwapXMLModelTestCase.class);
-	}
-
-	// all one one line
-	public void testSwapTwoChildren() throws Exception {
-		StringBuffer sb = new StringBuffer();
-		sb.append("<extension id=\"org.eclipse.pde.ui.samples\">");
-		sb.append("<child id=\"a\" /><child id=\"b\" />");
-		sb.append("</extension>");
-		setXMLContents(sb, LF);
-		twoChildSwap();
-	}
-
-	// all on diff line
-	public void testSwapTwoChildren2() throws Exception {
-		StringBuffer sb = new StringBuffer();
-		sb.append("<extension id=\"org.eclipse.pde.ui.samples\">");
-		sb.append(LF);
-		sb.append("<child id=\"a\" />");
-		sb.append(LF);
-		sb.append("<child id=\"b\" />");
-		sb.append(LF);
-		sb.append("</extension>");
-		setXMLContents(sb, LF);
-		twoChildSwap();
-	}
-
-	// all on diff line with tabs
-	public void testSwapTwoChildren3() throws Exception {
-		StringBuffer sb = new StringBuffer();
-		sb.append("<extension id=\"org.eclipse.pde.ui.samples\">");
-		sb.append(LF);
-		sb.append("\t<child id=\"a\" />");
-		sb.append(LF);
-		sb.append("\t<child id=\"b\" />");
-		sb.append(LF);
-		sb.append("</extension>");
-		setXMLContents(sb, LF);
-		twoChildSwap();
-	}
-
-	// some on diff lines with no spacing
-	public void testSwapTwoChildren4() throws Exception {
-		StringBuffer sb = new StringBuffer();
-		sb.append("<extension id=\"org.eclipse.pde.ui.samples\">");
-		sb.append("<child id=\"a\" />");
-		sb.append(LF);
-		sb.append("<child id=\"b\" />");
-		sb.append("</extension>");
-		setXMLContents(sb, LF);
-		twoChildSwap();
-	}
-
-	// some on diff lines with spacing
-	public void testSwapTwoChildren5() throws Exception {
-		StringBuffer sb = new StringBuffer();
-		sb.append("<extension id=\"org.eclipse.pde.ui.samples\">");
-		sb.append("\t<child id=\"a\" />");
-		sb.append(LF);
-		sb.append("\t<child id=\"b\" />");
-		sb.append(LF);
-		sb.append("</extension>");
-		setXMLContents(sb, LF);
-		twoChildSwap();
-	}
-
-	private void twoChildSwap() throws Exception {
-		load(true);
-
-		IPluginExtension[] extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(1, extensions.length);
-
-		IPluginObject[] children = extensions[0].getChildren();
-
-		assertEquals(2, children.length);
-		assertTrue(children[0] instanceof IPluginElement);
-		assertTrue(children[1] instanceof IPluginElement);
-		assertEquals("a", ((IPluginElement) children[0]).getAttribute("id").getValue());
-		assertEquals("b", ((IPluginElement) children[1]).getAttribute("id").getValue());
-
-		extensions[0].swap(children[0], children[1]);
-
-		// move source edit - only one op
-		reload();
-
-		extensions = fModel.getPluginBase().getExtensions();
-		assertEquals(1, extensions.length);
-
-		children = extensions[0].getChildren();
-
-		assertEquals(2, children.length);
-		assertTrue(children[0] instanceof IPluginElement);
-		assertTrue(children[1] instanceof IPluginElement);
-		assertEquals("b", ((IPluginElement) children[0]).getAttribute("id").getValue());
-		assertEquals("a", ((IPluginElement) children[1]).getAttribute("id").getValue());
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/XMLModelTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/XMLModelTestCase.java
deleted file mode 100644
index 294c45f..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/xml/XMLModelTestCase.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.model.xml;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.pde.internal.core.text.IModelTextChangeListener;
-import org.eclipse.pde.internal.core.text.plugin.PluginModel;
-import org.eclipse.pde.internal.core.text.plugin.XMLTextChangeListener;
-import org.eclipse.text.edits.MalformedTreeException;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.text.edits.TextEdit;
-
-public abstract class XMLModelTestCase extends TestCase {
-
-	protected static final String LF = "\n";
-	protected static final String CR = "\r";
-	protected static final String CRLF = CR + LF;
-
-	protected Document fDocument;
-	protected PluginModel fModel;
-	protected IModelTextChangeListener fListener;
-
-	protected void setUp() throws Exception {
-		fDocument = new Document();
-	}
-
-	protected void load() {
-		load(false);
-	}
-
-	protected void load(boolean addListener) {
-		try {
-			fModel = new PluginModel(fDocument, true);
-			fModel.load();
-			if (!fModel.isLoaded() || !fModel.isValid())
-				fail("model cannot be loaded");
-			if (addListener) {
-				fListener = new XMLTextChangeListener(fModel.getDocument());
-				fModel.addModelChangedListener(fListener);
-			}
-		} catch (CoreException e) {
-			fail("model cannot be loaded");
-		}
-	}
-
-	protected void setXMLContents(StringBuffer body, String newline) {
-		StringBuffer sb = new StringBuffer();
-		sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
-		sb.append(newline);
-		sb.append("<?eclipse version=\"3.2\"?>");
-		sb.append(newline);
-		sb.append("<plugin>");
-		sb.append(newline);
-		if (body != null)
-			sb.append(body.toString());
-		sb.append(newline);
-		sb.append("</plugin>");
-		sb.append(newline);
-		fDocument.set(sb.toString());
-	}
-
-	protected void reload() {
-		TextEdit[] ops = fListener.getTextOperations();
-		if (ops.length == 0)
-			return;
-		MultiTextEdit multi = new MultiTextEdit();
-		multi.addChildren(ops);
-		try {
-			multi.apply(fDocument);
-		} catch (MalformedTreeException e) {
-			fail(e.getMessage());
-		} catch (BadLocationException e) {
-			fail(e.getMessage());
-		}
-		load();
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/PDEPerformanceTests.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/PDEPerformanceTests.java
deleted file mode 100644
index 62cacc5..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/PDEPerformanceTests.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.performance;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.ui.tests.performance.parts.OpenManifestEditorPerfTest;
-import org.eclipse.pde.ui.tests.performance.parts.SchemaLoaderPerfTest;
-import org.eclipse.pde.ui.tests.performance.parts.SchemaTraversePerfTest;
-
-public class PDEPerformanceTests {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Performance Test Suite for org.eclipse.pde.ui"); //$NON-NLS-1$
-		suite.addTest(SchemaLoaderPerfTest.suite());
-		suite.addTest(SchemaTraversePerfTest.suite());
-		suite.addTest(OpenManifestEditorPerfTest.suite());
-		return suite;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/parts/AbstractSchemaPerfTest.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/parts/AbstractSchemaPerfTest.java
deleted file mode 100644
index 4eb1b7c..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/parts/AbstractSchemaPerfTest.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.pde.ui.tests.performance.parts;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.pde.internal.ui.tests.macro.MacroPlugin;
-import org.eclipse.test.performance.PerformanceTestCase;
-import org.osgi.framework.Bundle;
-
-/**
- * AbstractSchemaPerfTest
- *
- */
-public abstract class AbstractSchemaPerfTest extends PerformanceTestCase {
-
-	protected int fTestIterations;
-
-	protected int fWarmupIterations;
-
-	protected int fRuns;
-
-	protected static final String F_FILENAME = "/tests/performance/schema/navigatorContent.exsd"; //$NON-NLS-1$	
-
-	protected static File fXSDFile;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.test.performance.PerformanceTestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		setUpSchemaFile();
-		setUpIterations();
-	}
-
-	/**
-	 * 
-	 */
-	protected void setUpIterations() {
-		fTestIterations = 5;
-		fWarmupIterations = 50;
-		fRuns = 200;
-	}
-
-	/**
-	 * @throws Exception
-	 * @throws IOException
-	 */
-	private void setUpSchemaFile() throws Exception, IOException {
-		MacroPlugin plugin = MacroPlugin.getDefault();
-		if (plugin == null)
-			throw new Exception("ERROR:  Macro plug-in uninitialized"); //$NON-NLS-1$
-		Bundle bundle = plugin.getBundle();
-		if (bundle == null)
-			throw new Exception("ERROR:  Bundle uninitialized"); //$NON-NLS-1$
-		URL url = bundle.getEntry(F_FILENAME);
-		if (url == null)
-			throw new Exception("ERROR:  URL not found:  " + F_FILENAME); //$NON-NLS-1$
-		String path = FileLocator.resolve(url).getPath();
-		if ("".equals(path)) //$NON-NLS-1$
-			throw new Exception("ERROR:  URL unresolved:  " + F_FILENAME); //$NON-NLS-1$
-		fXSDFile = new File(path);
-	}
-
-	/**
-	 * @throws Exception
-	 */
-	protected void executeTestRun() throws Exception {
-		// Warm-up Iterations
-		for (int i = 0; i < fWarmupIterations; i++) {
-			executeTest();
-		}
-		// Test Iterations
-		for (int j = 0; j < fRuns; j++) {
-			startMeasuring();
-			for (int i = 0; i < fTestIterations; i++) {
-				executeTest();
-			}
-			stopMeasuring();
-		}
-		commitMeasurements();
-		assertPerformance();
-	}
-
-	/**
-	 * @throws Exception
-	 */
-	protected abstract void executeTest() throws Exception;
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/parts/InitializeModelsPerfTest.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/parts/InitializeModelsPerfTest.java
deleted file mode 100644
index 1f30dcb..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/parts/InitializeModelsPerfTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.performance.parts;
-
-import java.io.File;
-import java.net.URL;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.pde.core.plugin.TargetPlatform;
-import org.eclipse.pde.internal.core.ExecutionEnvironmentAnalyzer;
-import org.eclipse.pde.internal.core.PDECore;
-import org.eclipse.pde.internal.core.PDEState;
-import org.eclipse.pde.internal.core.PluginPathFinder;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.test.performance.PerformanceTestCase;
-
-public class InitializeModelsPerfTest extends PerformanceTestCase {
-
-	public static Test suite() {
-		return new TestSuite(InitializeModelsPerfTest.class);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		deleteContent(new File(PDECore.getDefault().getStateLocation().toOSString()));
-		ExecutionEnvironmentAnalyzer.getKnownExecutionEnvironments();
-	}
-
-	public void testModels() throws Exception {
-		tagAsGlobalSummary("Initialize Plug-ins (no caching)", Dimension.ELAPSED_PROCESS);
-		URL[] paths = getURLs();
-		startMeasuring();
-		new PDEState(paths, false, new NullProgressMonitor());
-		stopMeasuring();
-		commitMeasurements();
-		assertPerformance();
-	}
-
-	public void testCachedModels() throws Exception {
-		tagAsSummary("Initialize Plug-ins (with caching)", Dimension.ELAPSED_PROCESS);
-		URL[] paths = getURLs();
-		new PDEState(paths, true, new NullProgressMonitor());
-		startMeasuring();
-		new PDEState(paths, true, new NullProgressMonitor());
-		stopMeasuring();
-		commitMeasurements();
-		assertPerformance();
-	}
-
-	protected void tearDown() throws Exception {
-		deleteContent(new File(PDECore.getDefault().getStateLocation().toOSString()));
-	}
-
-	private void deleteContent(File curr) {
-		if (curr.exists()) {
-			if (curr.isDirectory()) {
-				File[] children = curr.listFiles();
-				if (children != null) {
-					for (int i = 0; i < children.length; i++) {
-						deleteContent(children[i]);
-					}
-				}
-			}
-			curr.delete();
-		}
-	}
-
-	private URL[] getURLs() {
-		URL[] paths = PluginPathFinder.getPluginPaths(TargetPlatform.getLocation());
-		// FAIR ANALYSIS: this is the number of plug-ins in 3.1.x
-		URL[] result = new URL[89];
-		System.arraycopy(paths, 0, result, 0, 89);
-		return result;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/parts/OpenManifestEditorPerfTest.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/parts/OpenManifestEditorPerfTest.java
deleted file mode 100644
index 4c503d1..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/parts/OpenManifestEditorPerfTest.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.performance.parts;
-
-import java.io.File;
-import java.net.URL;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.pde.internal.ui.IPDEUIConstants;
-import org.eclipse.pde.internal.ui.IPreferenceConstants;
-import org.eclipse.pde.internal.ui.PDEPlugin;
-import org.eclipse.pde.internal.ui.editor.SystemFileEditorInput;
-import org.eclipse.pde.internal.ui.tests.macro.MacroPlugin;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.test.performance.PerformanceTestCase;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.osgi.framework.Bundle;
-
-/**
- * OpenManifestEditorPerfTest
- *
- */
-public class OpenManifestEditorPerfTest extends PerformanceTestCase {
-
-	private static final String F_PLUGIN_FILE = "/tests/performance/plugin/org.eclipse.jdt.ui/plugin.xml"; //$NON-NLS-1$
-
-	private static final String F_MANIFEST_FILE = "/tests/performance/manifest/org.eclipse.jdt.ui/MANIFEST.MF"; //$NON-NLS-1$
-
-	private static final int F_TEST_ITERATIONS = 25;
-
-	private static final int F_WARMUP_ITERATIONS = 10;
-
-	private static File fPluginFile;
-
-	private static File fManifestFile;
-
-	private static IWorkbenchPage fActivePage;
-
-	/**
-	 * @return
-	 */
-	public static Test suite() {
-		return new TestSuite(OpenManifestEditorPerfTest.class);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.test.performance.PerformanceTestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		Bundle bundle = getBundle();
-		// Get plug-in.xml file
-		fPluginFile = getFile(bundle, F_PLUGIN_FILE);
-		// Get MANIFEST.MF file
-		fManifestFile = getFile(bundle, F_MANIFEST_FILE);
-		// Get the active workbench page
-		fActivePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-		// Disable code folding feature
-		disableCodeFoldingFeature();
-	}
-
-	/**
-	 * @throws Exception
-	 */
-	private void disableCodeFoldingFeature() throws Exception {
-		IPreferenceStore store = PDEPlugin.getDefault().getPreferenceStore();
-		if (store.getBoolean(IPreferenceConstants.EDITOR_FOLDING_ENABLED)) {
-			store.setValue(IPreferenceConstants.EDITOR_FOLDING_ENABLED, false);
-			PDEPlugin.getDefault().savePluginPreferences();
-		}
-	}
-
-	/**
-	 * @return
-	 * @throws Exception
-	 */
-	private Bundle getBundle() throws Exception {
-		MacroPlugin plugin = MacroPlugin.getDefault();
-		if (plugin == null) {
-			throw new Exception("ERROR:  Macro plug-in uninitialized"); //$NON-NLS-1$
-		}
-		Bundle bundle = plugin.getBundle();
-		if (bundle == null) {
-			throw new Exception("ERROR:  Bundle uninitialized"); //$NON-NLS-1$
-		}
-		return bundle;
-	}
-
-	/**
-	 * @param bundle
-	 * @param filename
-	 * @return
-	 * @throws Exception
-	 */
-	private File getFile(Bundle bundle, String filename) throws Exception {
-		URL url = bundle.getEntry(filename);
-		if (url == null) {
-			throw new Exception("ERROR:  URL not found:  " + filename); //$NON-NLS-1$
-		}
-		String path = FileLocator.resolve(url).getPath();
-		if ("".equals(path)) { //$NON-NLS-1$
-			throw new Exception("ERROR:  URL unresolved:  " + filename); //$NON-NLS-1$
-		}
-		return new File(path);
-	}
-
-	/**
-	 * @throws Exception
-	 */
-	public void testEditorOpenXML() throws Exception {
-		tagAsSummary("Open Plug-in Editor: plugin.xml", Dimension.ELAPSED_PROCESS); //$NON-NLS-1$
-		executeTestRun(fPluginFile);
-	}
-
-	/**
-	 * @throws Exception
-	 */
-	public void testEditorOpenMF() throws Exception {
-		tagAsSummary("Open Plug-in Editor: MANIFEST.MF", Dimension.ELAPSED_PROCESS); //$NON-NLS-1$
-		executeTestRun(fManifestFile);
-	}
-
-	/**
-	 * @param file
-	 * @throws Exception
-	 */
-	private void executeTestRun(File file) throws Exception {
-		// Create the file editor input
-		SystemFileEditorInput editorInput = new SystemFileEditorInput(file);
-		// Warm-up Iterations
-		for (int i = 0; i < F_WARMUP_ITERATIONS; i++) {
-			IEditorPart editorPart = openEditor(editorInput);
-			closeEditor(editorPart);
-		}
-		// Test Iterations
-		for (int i = 0; i < F_TEST_ITERATIONS; i++) {
-			startMeasuring();
-			IEditorPart editorPart = openEditor(editorInput);
-			stopMeasuring();
-			closeEditor(editorPart);
-		}
-		commitMeasurements();
-		assertPerformance();
-	}
-
-	/**
-	 * @param file
-	 * @throws Exception
-	 */
-	private IEditorPart openEditor(IEditorInput editorInput) throws Exception {
-		// Open the editor
-		return IDE.openEditor(fActivePage, editorInput, IPDEUIConstants.MANIFEST_EDITOR_ID, true);
-	}
-
-	/**
-	 * @param editorPart
-	 * @throws Exception
-	 */
-	private void closeEditor(IEditorPart editorPart) throws Exception {
-		// Close the editor
-		fActivePage.closeEditor(editorPart, false);
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/parts/SchemaLoaderPerfTest.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/parts/SchemaLoaderPerfTest.java
deleted file mode 100644
index edbed75..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/parts/SchemaLoaderPerfTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.pde.ui.tests.performance.parts;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.internal.core.schema.Schema;
-import org.eclipse.pde.internal.core.schema.SchemaDescriptor;
-import org.eclipse.test.performance.Dimension;
-
-/**
- * SchemaLoaderPerfTest
- *
- */
-public class SchemaLoaderPerfTest extends AbstractSchemaPerfTest {
-
-	private boolean fAbbreviated;
-
-	/**
-	 * @return
-	 */
-	public static Test suite() {
-		return new TestSuite(SchemaLoaderPerfTest.class);
-	}
-
-	/**
-	 * @throws Exception
-	 */
-	public void testSchemaUnabbreviated() throws Exception {
-		fAbbreviated = false;
-		fTestIterations = 5;
-		fWarmupIterations = 50;
-		fRuns = 600;
-		executeTestRun();
-	}
-
-	/**
-	 * @throws Exception
-	 */
-	public void testSchemaAbbreviated() throws Exception {
-		fAbbreviated = true;
-		fTestIterations = 5;
-		fWarmupIterations = 50;
-		fRuns = 3000;
-		tagAsSummary("Loading " + fTestIterations + " large schemas", Dimension.ELAPSED_PROCESS); //$NON-NLS-1$
-		executeTestRun();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.tests.performance.parts.AbstractSchemaPerfTest#executeTest()
-	 */
-	protected void executeTest() throws Exception {
-		SchemaDescriptor descriptor = new SchemaDescriptor(fXSDFile);
-		Schema schema = (Schema) descriptor.getSchema(fAbbreviated);
-		if (schema.getName() == null) {
-			throw new Exception("ERROR: Extension point schema name missing"); //$NON-NLS-1$
-		}
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/parts/SchemaTraversePerfTest.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/parts/SchemaTraversePerfTest.java
deleted file mode 100644
index 9860213..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/performance/parts/SchemaTraversePerfTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.pde.ui.tests.performance.parts;
-
-import java.io.InputStream;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.pde.internal.core.XMLDefaultHandler;
-import org.eclipse.pde.internal.core.schema.EditableSchema;
-import org.eclipse.pde.internal.core.util.SAXParserWrapper;
-import org.eclipse.pde.internal.core.util.SchemaUtil;
-import org.eclipse.test.performance.Dimension;
-
-/**
- * SchemaLoaderPerfTest
- *
- */
-public class SchemaTraversePerfTest extends AbstractSchemaPerfTest {
-
-	/**
-	 * @return
-	 */
-	public static Test suite() {
-		return new TestSuite(SchemaTraversePerfTest.class);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.tests.performance.parts.AbstractSchemaPerfTest#setUpIterations()
-	 */
-	protected void setUpIterations() {
-		fTestIterations = 5;
-		fWarmupIterations = 50;
-		fRuns = 3000;
-	}
-
-	/**
-	 * @throws Exception
-	 */
-	public void testSchemaTraverse() throws Exception {
-		tagAsSummary("Show hover info in manifest editor", Dimension.ELAPSED_PROCESS); //$NON-NLS-1$
-		executeTestRun();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.pde.ui.tests.performance.parts.AbstractSchemaPerfTest#executeTest()
-	 */
-	protected void executeTest() throws Exception {
-		InputStream input = null;
-		input = SchemaUtil.getInputStream(fXSDFile.toURL());
-		SAXParserWrapper parser = new SAXParserWrapper();
-		XMLDefaultHandler handler = new XMLDefaultHandler(true);
-		parser.parse(input, handler);
-		if (input != null) {
-			input.close();
-		}
-		EditableSchema schema = new EditableSchema("pluginID", "pointID", "name", true);
-		schema.traverseDocumentTree(handler.getDocumentElement());
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/AllTargetTests.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/AllTargetTests.java
deleted file mode 100644
index 3dc9800..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/AllTargetTests.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.target;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllTargetTests {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test Suite for testing targets"); //$NON-NLS-1$
-		suite.addTest(TargetEnvironmentTestCase.suite());
-		return suite;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/TargetEnvironmentTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/TargetEnvironmentTestCase.java
deleted file mode 100644
index c86f8e5..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/target/TargetEnvironmentTestCase.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.target;
-
-import java.util.Dictionary;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.pde.core.plugin.TargetPlatform;
-import org.eclipse.pde.internal.core.ExecutionEnvironmentAnalyzer;
-import org.eclipse.pde.internal.core.TargetPlatformHelper;
-import org.osgi.framework.Constants;
-
-public class TargetEnvironmentTestCase extends TestCase {
-
-	public static Test suite() {
-		return new TestSuite(TargetEnvironmentTestCase.class);
-	}
-
-	public void testOS() {
-		assertEquals(Platform.getOS(), TargetPlatform.getOS());
-	}
-
-	public void testWS() {
-		assertEquals(Platform.getWS(), TargetPlatform.getWS());
-	}
-
-	public void testArch() {
-		assertEquals(Platform.getOSArch(), TargetPlatform.getOSArch());
-	}
-
-	public void testNL() {
-		assertEquals(Platform.getNL(), TargetPlatform.getNL());
-	}
-
-	public void testEnvironmentDictionarySize() {
-		Dictionary dictionary = TargetPlatformHelper.getTargetEnvironment();
-		assertEquals(6, dictionary.size());
-	}
-
-	public void testDictionaryOS() {
-		Dictionary dictionary = TargetPlatformHelper.getTargetEnvironment();
-		assertEquals(Platform.getOS(), dictionary.get("osgi.os"));
-	}
-
-	public void testDictionaryWS() {
-		Dictionary dictionary = TargetPlatformHelper.getTargetEnvironment();
-		assertEquals(Platform.getWS(), dictionary.get("osgi.ws"));
-	}
-
-	public void testDictionaryArch() {
-		Dictionary dictionary = TargetPlatformHelper.getTargetEnvironment();
-		assertEquals(Platform.getOSArch(), dictionary.get("osgi.arch"));
-	}
-
-	public void testDictionaryNL() {
-		Dictionary dictionary = TargetPlatformHelper.getTargetEnvironment();
-		assertEquals(Platform.getNL(), dictionary.get("osgi.nl"));
-	}
-
-	public void testResolveOptional() {
-		Dictionary dictionary = TargetPlatformHelper.getTargetEnvironment();
-		assertTrue("true".equals(dictionary.get("osgi.resolveOptional")));
-	}
-
-	public void testStateDictionaryNumber() {
-		Dictionary[] dictionaries = TargetPlatformHelper.getState().getPlatformProperties();
-		String[] envs = ExecutionEnvironmentAnalyzer.getKnownExecutionEnvironments();
-		assertEquals(envs.length, dictionaries.length);
-	}
-
-	public void testStateDictionaryLength() {
-		Dictionary[] dictionaries = TargetPlatformHelper.getState().getPlatformProperties();
-		Dictionary dictionary = TargetPlatformHelper.getTargetEnvironment();
-		for (int i = 0; i < dictionaries.length; i++)
-			assertTrue(dictionary.size() + 2 <= dictionaries[i].size());
-	}
-
-	public void testSystemPackages() {
-		Dictionary[] dictionaries = TargetPlatformHelper.getState().getPlatformProperties();
-		for (int i = 0; i < dictionaries.length; i++)
-			assertNotNull(dictionaries[i].get(Constants.FRAMEWORK_SYSTEMPACKAGES));
-	}
-
-	public void testExecutionEnvironment() {
-		Dictionary[] dictionaries = TargetPlatformHelper.getState().getPlatformProperties();
-		for (int i = 0; i < dictionaries.length; i++)
-			assertNotNull(dictionaries[i].get(Constants.FRAMEWORK_EXECUTIONENVIRONMENT));
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/util/xml/ALLXMLUtilTests.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/util/xml/ALLXMLUtilTests.java
deleted file mode 100644
index ff43c82..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/util/xml/ALLXMLUtilTests.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.util.xml;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class ALLXMLUtilTests {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("XML Utilities Test Suite"); //$NON-NLS-1$
-		suite.addTest(ParserWrapperTestCase.suite());
-		return suite;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/util/xml/ParserWrapperTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/util/xml/ParserWrapperTestCase.java
deleted file mode 100644
index bf77b6d..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/util/xml/ParserWrapperTestCase.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.pde.ui.tests.util.xml;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.pde.internal.core.XMLDefaultHandler;
-import org.eclipse.pde.internal.core.util.DOMParserWrapper;
-import org.eclipse.pde.internal.core.util.SAXParserWrapper;
-import org.eclipse.pde.internal.ui.tests.macro.MacroPlugin;
-import org.osgi.framework.Bundle;
-import org.xml.sax.SAXException;
-
-/**
- * SAXParserWrapperTestCase
- *
- */
-public class ParserWrapperTestCase extends TestCase {
-
-	protected static final int FTHREADCOUNT = 5;
-	protected static final int FSAX = 0;
-	protected static final int FDOM = 1;
-	protected static File fXMLFile;
-	protected static final String FFILENAME = "/plugin.xml"; //$NON-NLS-1$
-
-	public static Test suite() {
-		return new TestSuite(ParserWrapperTestCase.class);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		MacroPlugin plugin = MacroPlugin.getDefault();
-		if (plugin == null)
-			throw new Exception("ERROR:  Macro plug-in uninitialized"); //$NON-NLS-1$
-		Bundle bundle = plugin.getBundle();
-		if (bundle == null)
-			throw new Exception("ERROR:  Bundle uninitialized"); //$NON-NLS-1$
-		URL url = bundle.getEntry(FFILENAME);
-		if (url == null)
-			throw new Exception("ERROR:  URL not found:  " + FFILENAME); //$NON-NLS-1$
-		String path = FileLocator.resolve(url).getPath();
-		if ("".equals(path)) //$NON-NLS-1$
-			throw new Exception("ERROR:  URL unresolved:  " + FFILENAME); //$NON-NLS-1$
-		fXMLFile = new File(path);
-	}
-
-	public void testSAXParserWrapperConcurrency() throws Exception {
-
-		ParserThread[] threads = new ParserThread[FTHREADCOUNT];
-
-		for (int x = 0; x < FTHREADCOUNT; x++) {
-			threads[x] = new ParserThread(FSAX, fXMLFile);
-			threads[x].start();
-		}
-
-		for (int x = 0; x < FTHREADCOUNT; x++) {
-			threads[x].join();
-			assertFalse(threads[x].getError());
-		}
-
-	}
-
-	public void testDOMParserWrapperConcurrency() throws Exception {
-
-		ParserThread[] threads = new ParserThread[FTHREADCOUNT];
-
-		for (int x = 0; x < FTHREADCOUNT; x++) {
-			threads[x] = new ParserThread(FDOM, fXMLFile); //$NON-NLS-1$
-			threads[x].start();
-		}
-
-		for (int x = 0; x < FTHREADCOUNT; x++) {
-			threads[x].join();
-			assertFalse(threads[x].getError());
-		}
-
-	}
-
-	public class ParserThread extends Thread {
-
-		protected final int FITERATIONS = 100;
-		protected File fXMLFile;
-		protected boolean fError;
-		protected int fParserType;
-
-		public ParserThread(int parserType, File file) {
-			fError = false;
-			fParserType = parserType;
-			fXMLFile = file;
-		}
-
-		public void run() {
-
-			if (fParserType == ParserWrapperTestCase.FSAX) {
-				runSAX();
-			} else {
-				runDOM();
-			}
-
-		}
-
-		public void runSAX() {
-
-			for (int x = 0; x < FITERATIONS; x++) {
-
-				try {
-					XMLDefaultHandler handler = new XMLDefaultHandler();
-					SAXParserWrapper parser = new SAXParserWrapper();
-					parser.parse(fXMLFile, handler);
-					parser.dispose();
-				} catch (ParserConfigurationException e) {
-					e.printStackTrace();
-					fError = true;
-				} catch (SAXException e) {
-					e.printStackTrace();
-					fError = true;
-				} catch (FactoryConfigurationError e) {
-					e.printStackTrace();
-					fError = true;
-				} catch (IOException e) {
-					e.printStackTrace();
-					fError = true;
-				}
-				// If an error was encountered abort the thread
-				// Any type of exception experienced is bad
-				if (fError)
-					return;
-
-			}
-
-		}
-
-		public void runDOM() {
-
-			for (int x = 0; x < FITERATIONS; x++) {
-
-				try {
-					DOMParserWrapper parser = new DOMParserWrapper();
-					parser.parse(fXMLFile);
-					parser.dispose();
-				} catch (ParserConfigurationException e) {
-					e.printStackTrace();
-					fError = true;
-				} catch (SAXException e) {
-					e.printStackTrace();
-					fError = true;
-				} catch (FactoryConfigurationError e) {
-					e.printStackTrace();
-					fError = true;
-				} catch (IOException e) {
-					e.printStackTrace();
-					fError = true;
-				}
-				// If an error was encountered abort the thread
-				// Any type of exception experienced is bad
-				if (fError)
-					return;
-
-			}
-		}
-
-		public boolean getError() {
-			return fError;
-		}
-
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/wizards/AllNewProjectTests.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/wizards/AllNewProjectTests.java
deleted file mode 100644
index 8946bd7..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/wizards/AllNewProjectTests.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.wizards;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllNewProjectTests {
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite("Test Suite to test project creation wizards."); //$NON-NLS-1$
-		suite.addTest(NewFeatureProjectTestCase.suite());
-		suite.addTest(NewSiteProjectTestCase.suite());
-		suite.addTest(ConvertProjectToPluginTestCase.suite());
-		return suite;
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/wizards/ConvertProjectToPluginTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/wizards/ConvertProjectToPluginTestCase.java
deleted file mode 100644
index 92dd8ed..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/wizards/ConvertProjectToPluginTestCase.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Les Jones <lesojones@gamil.com> - bug 205361
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.wizards;
-
-import java.lang.reflect.InvocationTargetException;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.pde.internal.core.ICoreConstants;
-import org.eclipse.pde.internal.core.natures.PDE;
-import org.eclipse.pde.internal.ui.wizards.tools.ConvertProjectToPluginOperation;
-import org.eclipse.pde.ui.tests.PDETestCase;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.IProgressService;
-
-/**
- * Test case to test the conversion of projects to plug-in projects
- */
-public class ConvertProjectToPluginTestCase extends PDETestCase {
-
-	private static String PROJECT_NAME_1 = "Foo";
-	private static String PROJECT_NAME_2 = "Bar";
-
-	public static Test suite() {
-		return new TestSuite(ConvertProjectToPluginTestCase.class);
-	}
-
-	/**
-	 * Test the conversion of a single simple project.
-	 * 
-	 * @throws Exception
-	 *             If there's a problem.
-	 */
-	public void testSingleProject() throws Exception {
-
-		IProject project = createProject(PROJECT_NAME_1);
-
-		assertNotNull(project);
-		assertTrue(project.exists());
-		assertFalse(project.hasNature(PDE.PLUGIN_NATURE));
-
-		convertProject(project);
-
-		assertTrue(project.hasNature(PDE.PLUGIN_NATURE));
-		assertTrue(project.getFile(ICoreConstants.MANIFEST_PATH).exists());
-		assertTrue(project.getFile(ICoreConstants.BUILD_PROPERTIES_PATH).exists());
-	}
-
-	/**
-	 * Test the conversion of a couple of simple projects.
-	 * 
-	 * @throws Exception
-	 *             If there's a problem.
-	 */
-	public void testMultipleProjects() throws Exception {
-
-		IProject project1 = createProject(PROJECT_NAME_1);
-		IProject project2 = createProject(PROJECT_NAME_2);
-
-		IProject[] projects = new IProject[] {project1, project2};
-
-		for (int i = 0; i < projects.length; i++) {
-			IProject project = projects[i];
-			assertNotNull(project);
-			assertTrue(project.exists());
-			assertFalse(project.hasNature(PDE.PLUGIN_NATURE));
-		}
-
-		convertProjects(projects);
-
-		for (int i = 0; i < projects.length; i++) {
-			IProject project = projects[i];
-			assertTrue(project.hasNature(PDE.PLUGIN_NATURE));
-			assertTrue(project.getFile(ICoreConstants.MANIFEST_PATH).exists());
-			assertTrue(project.getFile(ICoreConstants.BUILD_PROPERTIES_PATH).exists());
-		}
-	}
-
-	/**
-	 * Convert a project to a plugin project
-	 * 
-	 * @param project
-	 *            The project to convert
-	 */
-	private void convertProject(IProject project) {
-		convertProjects(new IProject[] {project});
-	}
-
-	/**
-	 * Convert projects to a plugin projects
-	 * 
-	 * @param projects
-	 *            The projects to convert
-	 */
-	private void convertProjects(IProject[] projects) {
-		IRunnableWithProgress convertOperation;
-		convertOperation = new ConvertProjectToPluginOperation(projects);
-
-		IProgressService progressService = PlatformUI.getWorkbench().getProgressService();
-		try {
-			progressService.runInUI(progressService, convertOperation, null);
-		} catch (InvocationTargetException e) {
-			fail("Plug-in project conversion failed...");
-		} catch (InterruptedException e) {
-			fail("Plug-in project conversion failed...");
-		}
-
-	}
-
-	/**
-	 * Create a simple project of the specified name
-	 * 
-	 * @param name
-	 *            The name of the project to be created
-	 * @return The project instance created
-	 * @throws CoreException
-	 *             thrown if there was a problem during creation
-	 */
-	private IProject createProject(String name) throws CoreException {
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		IProject project = root.getProject(name);
-		project.create(new NullProgressMonitor());
-		project.open(new NullProgressMonitor());
-		return project;
-
-	}
-
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/wizards/NewFeatureProjectTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/wizards/NewFeatureProjectTestCase.java
deleted file mode 100644
index a5db942..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/wizards/NewFeatureProjectTestCase.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.wizards;
-
-import java.lang.reflect.InvocationTargetException;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.pde.core.plugin.IPluginBase;
-import org.eclipse.pde.internal.core.PDECore;
-import org.eclipse.pde.internal.core.ifeature.IFeatureModel;
-import org.eclipse.pde.internal.core.natures.PDE;
-import org.eclipse.pde.internal.ui.wizards.feature.CreateFeaturePatchOperation;
-import org.eclipse.pde.internal.ui.wizards.feature.CreateFeatureProjectOperation;
-import org.eclipse.pde.internal.ui.wizards.feature.FeatureData;
-import org.eclipse.pde.ui.tests.NewProjectTestCase;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.IProgressService;
-
-public class NewFeatureProjectTestCase extends NewProjectTestCase {
-
-	private static final String PROJECT_NAME = "com.junitTest.feature";
-	private static final FeatureData DEFAULT_FEATURE_DATA = new FeatureData();
-	static {
-		DEFAULT_FEATURE_DATA.id = PROJECT_NAME;
-		DEFAULT_FEATURE_DATA.name = PROJECT_NAME;
-		DEFAULT_FEATURE_DATA.version = "1.0.0";
-	}
-
-	private static FeatureData createDefaultFeatureData() {
-		FeatureData fd = new FeatureData();
-		fd.id = DEFAULT_FEATURE_DATA.id;
-		fd.name = DEFAULT_FEATURE_DATA.name;
-		fd.version = DEFAULT_FEATURE_DATA.version;
-		return fd;
-	}
-
-	public static Test suite() {
-		return new TestSuite(NewFeatureProjectTestCase.class);
-	}
-
-	protected String getProjectName() {
-		return PROJECT_NAME;
-	}
-
-	private void createFeature(FeatureData fd, boolean patch, Object modelObject) {
-		if (fd == null)
-			fd = DEFAULT_FEATURE_DATA;
-		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
-		IPath path = Platform.getLocation();
-		IRunnableWithProgress op;
-		if ((patch && !(modelObject instanceof IFeatureModel)) || (!patch && modelObject != null && !(modelObject instanceof IPluginBase[])))
-			fail("Unaccepted model object passed...");
-
-		if (patch)
-			op = new CreateFeaturePatchOperation(project, path, fd, (IFeatureModel) modelObject, getShell());
-		else
-			op = new CreateFeatureProjectOperation(project, path, fd, (IPluginBase[]) modelObject, getShell());
-		IProgressService progressService = PlatformUI.getWorkbench().getProgressService();
-		try {
-			progressService.runInUI(progressService, op, null);
-		} catch (InvocationTargetException e) {
-			fail("Feature creation failed...");
-		} catch (InterruptedException e) {
-			fail("Feature creation failed...");
-		}
-	}
-
-	private void verifyFeatureNature() {
-		assertTrue("Verifying feature nature...", hasNature(PDE.FEATURE_NATURE));
-	}
-
-	public void testCreationFeatureProject() {
-		createFeature(DEFAULT_FEATURE_DATA, false, null);
-		verifyProjectExistence();
-		verifyFeatureNature();
-	}
-
-	public void testCreationFeaturePatch() {
-		IFeatureModel[] models = PDECore.getDefault().getFeatureModelManager().getModels();
-		if (models.length == 0)
-			// cant test patches if no feature models exist
-			return;
-		createFeature(DEFAULT_FEATURE_DATA, true, models[0]);
-		verifyProjectExistence();
-		verifyFeatureNature();
-	}
-
-	public void testFeatureProjectData() {
-		/*FeatureData fd = createDefaultFeatureData();
-		String library = "testLibrary";
-		fd.library = library;
-		String provider = "testProvider";
-		fd.provider = provider;
-		createFeature(fd, false, null);
-		IFeatureModel model = PDECore.getDefault().getFeatureModelManager().findFeatureModel(DEFAULT_FEATURE_DATA.id);
-		IFeature feature = model.getFeature();
-		assertTrue(feature.getVersion().equals(DEFAULT_FEATURE_DATA.version));
-		assertTrue(feature.getLabel().equals(DEFAULT_FEATURE_DATA.name));
-		assertTrue(feature.getId().equals(DEFAULT_FEATURE_DATA.id));
-		assertTrue(feature.getProviderName().equals(provider));
-		assertTrue(feature.getInstallHandler().getLibrary().equals(library));*/
-	}
-
-	public void testSimpleFeature() {
-		createFeature(DEFAULT_FEATURE_DATA, false, null);
-		verifyProjectExistence();
-		assertFalse("Testing simple project for no java nature...", hasNature(JavaCore.NATURE_ID));
-	}
-
-	public void testJavaFeature() {
-		FeatureData fd = createDefaultFeatureData();
-		String library = "testLibrary";
-		fd.library = library;
-		createFeature(fd, false, null);
-		verifyProjectExistence();
-		assertTrue("Testing for existing java nature...", hasNature(JavaCore.NATURE_ID));
-	}
-
-	public void testPluginFeature() {
-		/*PluginModelManager manager = PDECore.getDefault().getModelManager();
-		IPluginModelBase model = manager.findModel("org.eclipse.pde.ui");
-		IPluginBase[] plugins = new IPluginBase[] { model.getPluginBase() };
-		createFeature(DEFAULT_FEATURE_DATA, false, plugins);
-		verifyProjectExistence();
-		FeatureModelManager featureManager = PDECore.getDefault().getFeatureModelManager();
-		IFeature pdeFeature = featureManager.findFeatureModel(DEFAULT_FEATURE_DATA.id).getFeature();
-		IFeaturePlugin[] fplugins = pdeFeature.getPlugins();
-		assertTrue("Testing number of feature plugins...", fplugins.length == 1);
-		assertTrue("Testing feature plugin id...", fplugins[0].getId().equals("org.eclipse.pde.ui"));*/
-	}
-
-	public void testModelCount() {
-		/*FeatureModelManager manager = PDECore.getDefault().getFeatureModelManager();
-		int numModels = manager.getModels().length;
-		createFeature(DEFAULT_FEATURE_DATA, false, null);
-		verifyProjectExistence();
-		int numModelsNew = manager.getModels().length;
-		assertTrue(numModels + 1 == numModelsNew);*/
-	}
-
-	public void testMaskingFeature() {
-		/*FeatureModelManager manager = PDECore.getDefault().getFeatureModelManager();
-		int numModels = manager.getModels().length;
-		FeatureData fd = createDefaultFeatureData();
-		IFeature pdeFeature = manager.findFeatureModel("org.eclipse.pde").getFeature();
-		fd.id = pdeFeature.getId();
-		fd.version = pdeFeature.getVersion();
-		createFeature(fd, false, null);
-		verifyProjectExistence();
-		int numNewModels = manager.getModels().length;
-		int numInWorkspace = manager.getWorkspaceModels().length;
-		assertTrue(numModels == numNewModels);
-		assertTrue(numInWorkspace == 1);*/
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/wizards/NewSiteProjectTestCase.java b/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/wizards/NewSiteProjectTestCase.java
deleted file mode 100644
index ff1f2cc..0000000
--- a/ui/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/wizards/NewSiteProjectTestCase.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.pde.ui.tests.wizards;
-
-import java.io.ByteArrayInputStream;
-import java.lang.reflect.InvocationTargetException;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.pde.internal.core.natures.PDE;
-import org.eclipse.pde.internal.core.site.WorkspaceSiteModel;
-import org.eclipse.pde.internal.ui.wizards.site.NewSiteProjectCreationOperation;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.IProgressService;
-
-public class NewSiteProjectTestCase extends TestCase {
-	private static final String EXISTING_PROJECT_NAME = "ExistingSiteProject"; //$NON-NLS-1$
-
-	public static Test suite() {
-		return new TestSuite(NewSiteProjectTestCase.class);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see junit.framework.TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		if ("testExistingSiteProject".equalsIgnoreCase(getName())) { //$NON-NLS-1$
-			IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(EXISTING_PROJECT_NAME);
-			project.create(new NullProgressMonitor());
-			project.open(new NullProgressMonitor());
-			IFile file = project.getFile(new Path("site.xml")); //$NON-NLS-1$
-			String content = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" //$NON-NLS-1$
-					+ "<site>" //$NON-NLS-1$
-					+ "<category-def name=\"new_category_1\" label=\"New Category 1\"/>" //$NON-NLS-1$
-					+ "</site>"; //$NON-NLS-1$
-			ByteArrayInputStream source = new ByteArrayInputStream(content.getBytes("ASCII")); //$NON-NLS-1$
-			if (file.exists())
-				file.setContents(source, true, false, new NullProgressMonitor());
-			else
-				file.create(source, true, new NullProgressMonitor());
-			project.delete(false, true, new NullProgressMonitor());
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see junit.framework.TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-		IProject[] projects = workspaceRoot.getProjects();
-		try {
-			for (int i = 0; i < projects.length; i++) {
-				projects[i].delete(true, new NullProgressMonitor());
-			}
-		} catch (CoreException e) {
-			// do nothing if deletion fails. No need to fail the test.
-		}
-		super.tearDown();
-	}
-
-	private void createSite(IProject project, IPath path, String webLocation) throws InvocationTargetException, InterruptedException {
-		NewSiteProjectCreationOperation createOperation = new NewSiteProjectCreationOperation(Display.getDefault(), project, path, webLocation);
-		IProgressService progressService = PlatformUI.getWorkbench().getProgressService();
-		progressService.runInUI(progressService, createOperation, null);
-	}
-
-	/**
-	 * @param project
-	 */
-	private void ensureCreated(IProject project) {
-		assertTrue("Project not created.", project.exists()); //$NON-NLS-1$
-		assertTrue("Project not open.", project.isOpen()); //$NON-NLS-1$
-		try {
-			assertTrue("Site nature not added.", project //$NON-NLS-1$
-					.hasNature(PDE.SITE_NATURE));
-		} catch (Exception e) {
-		}
-		assertTrue("site.xml not created.", project //$NON-NLS-1$
-				.exists(new Path("site.xml"))); //$NON-NLS-1$
-		WorkspaceSiteModel model = new WorkspaceSiteModel(project.getFile(new Path("site.xml"))); //$NON-NLS-1$
-		model.load();
-		assertTrue("Model cannot be loaded.", model.isLoaded()); //$NON-NLS-1$
-		assertTrue("Model is not valid.", model.isValid()); //$NON-NLS-1$
-		assertFalse("ISite is null.", model.getSite() == null); //$NON-NLS-1$
-		model.dispose();
-	}
-
-	public void testExistingSiteProject() {
-		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(EXISTING_PROJECT_NAME);
-		IPath path = Platform.getLocation();
-		try {
-			createSite(project, path, null);
-		} catch (Exception e) {
-			e.printStackTrace();
-			fail("testExistingSiteProject: " + e); //$NON-NLS-1$
-		}
-		ensureCreated(project);
-		WorkspaceSiteModel model = new WorkspaceSiteModel(project.getFile(new Path("site.xml"))); //$NON-NLS-1$
-		model.load();
-		assertTrue("Existig site overwritten.", model.getSite() //$NON-NLS-1$
-				.getCategoryDefinitions().length > 0);
-		model.dispose();
-
-	}
-
-	public void testSiteProject() {
-		String projectName = "SiteProject"; //$NON-NLS-1$
-		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-		IPath path = Platform.getLocation();
-		try {
-			createSite(project, path, null);
-		} catch (Exception e) {
-			e.printStackTrace();
-			fail("testSiteProject: " + e); //$NON-NLS-1$
-		}
-		ensureCreated(project);
-		assertFalse("index.html should have not been generated.", project //$NON-NLS-1$
-				.exists(new Path("index.html"))); //$NON-NLS-1$
-	}
-
-	public void testSiteProjectWithWeb() {
-		String projectName = "SiteProjectWithWeb"; //$NON-NLS-1$
-		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-		IPath path = Platform.getLocation();
-		try {
-			createSite(project, path, "testWeb"); //$NON-NLS-1$
-		} catch (Exception e) {
-			e.printStackTrace();
-			fail("testSiteProjectWithWeb: " + e); //$NON-NLS-1$
-		}
-		ensureCreated(project);
-		assertTrue("index.html not generated.", project.exists(new Path( //$NON-NLS-1$
-				"index.html"))); //$NON-NLS-1$
-		IFolder webFolder = project.getFolder(new Path("testWeb")); //$NON-NLS-1$
-		assertTrue("Web folder not generated.", webFolder.exists()); //$NON-NLS-1$
-		assertTrue("site.xsl not generated.", webFolder.exists(new Path( //$NON-NLS-1$
-				"site.xsl"))); //$NON-NLS-1$
-		assertTrue("site.css not generated.", webFolder.exists(new Path( //$NON-NLS-1$
-				"site.css"))); //$NON-NLS-1$
-	}
-}
diff --git a/ui/org.eclipse.pde.ui.tests/test.xml b/ui/org.eclipse.pde.ui.tests/test.xml
deleted file mode 100644
index a42ed4d..0000000
--- a/ui/org.eclipse.pde.ui.tests/test.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="testsuite" default="run" basedir=".">
-  <!-- The property ${eclipse-home} should be passed into this script -->
-
-  <!-- sets the properties eclipse-home, and library-file -->
-  <property name="eclipse-home" value="${basedir}/../.."/>
-  <property name="plugin-name" value="org.eclipse.pde.ui.tests"/>
-  <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>
-
-  <!-- This target holds all initialization code that needs to be done for -->
-  <!-- all tests that are to be run. Initialization for individual tests -->
-  <!-- should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-    <delete>
-      <fileset dir="${eclipse-home}" includes="org*.xml"/>
-    </delete>
-  </target>
-
-  <!-- This target defines the tests that need to be run. -->
-  <target name="suite">
-
-    <property name="location1" value="${eclipse-home}/pde_sniff_folder"/>
-    <delete dir="${location1}" quiet="true"/>
-    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${location1}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" value="org.eclipse.pde.ui.tests.AllPDETests"/>
-    </ant>
-
-  </target>
-
-  <!-- This target holds code to cleanup the testing environment after the tests -->
-  <!-- have been run. You can use this to delete temporary files that are created. -->
-  <target name="cleanup">
-  </target>
-
-  <!-- This target runs the test suite. Any actions that need to happen after all -->
-  <!-- the tests have been run should go here. -->
-  <target name="run" depends="init,suite,cleanup">
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>
-  </target>
-
-	<!-- This target defines the performance tests that need to be run. -->
-	<target name="performance-suite">
-	  <property name="your-performance-folder" value="${eclipse-home}/pde_performance_folder"/>
-	  <delete dir="${your-performance-folder}" quiet="true"/>
-	  <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-	    <property name="data-dir" value="${your-performance-folder}"/>
-	    <property name="plugin-name" value="${plugin-name}"/>
-	    <property name="classname" value="org.eclipse.pde.ui.tests.performance.PDEPerformanceTests"/>
-	  </ant>
-	</target>
-
-	<!-- This target runs the performance test suite. Any actions that need to happen -->
-	<!-- after all the tests have been run should go here. -->
-	<target name="performance" depends="init,performance-suite,cleanup">
-	  <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-	    <property name="includes" value="org*.xml"/>
-	    <property name="output-file" value="${plugin-name}.xml"/>
-	  </ant>
-	</target>
-
-</project>
diff --git a/ui/org.eclipse.pde.ui.tests/tests/performance/manifest/org.eclipse.jdt.ui/MANIFEST.MF b/ui/org.eclipse.pde.ui.tests/tests/performance/manifest/org.eclipse.jdt.ui/MANIFEST.MF
deleted file mode 100644
index 9ff6f08..0000000
--- a/ui/org.eclipse.pde.ui.tests/tests/performance/manifest/org.eclipse.jdt.ui/MANIFEST.MF
+++ /dev/null
@@ -1,163 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jdt.ui; singleton:=true
-Bundle-Version: 3.3.0.v20070319-1800
-Bundle-ClassPath: org.eclipse.jdt.ui_3.3.0.v20070319-1800.jar
-Bundle-Activator: org.eclipse.jdt.internal.ui.JavaPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.jdt.internal.corext;x-friends:="org.eclipse.jdt.junit",
- org.eclipse.jdt.internal.corext.buildpath;x-internal:=true,
- org.eclipse.jdt.internal.corext.callhierarchy;x-internal:=true,
- org.eclipse.jdt.internal.corext.codemanipulation;x-friends:="org.eclipse.jdt.junit",
- org.eclipse.jdt.internal.corext.dom;x-internal:=true,
- org.eclipse.jdt.internal.corext.dom.fragments;x-internal:=true,
- org.eclipse.jdt.internal.corext.fix;x-internal:=true,
- org.eclipse.jdt.internal.corext.javadoc;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.base;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.binary;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.changes;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.code;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.code.flow;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.delegates;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.generics;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.nls;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.nls.changes;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.participants;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.rename;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.reorg;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.scripting;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.sef;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.structure;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.structure.constraints;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.surround;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.tagging;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.typeconstraints;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.typeconstraints.types;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.typeconstraints.typesets;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.typeconstraints2;x-internal:=true,
- org.eclipse.jdt.internal.corext.refactoring.util;x-internal:=true,
- org.eclipse.jdt.internal.corext.template.java;x-internal:=true,
- org.eclipse.jdt.internal.corext.util;x-friends:="org.eclipse.jdt.junit",
- org.eclipse.jdt.internal.ui;x-friends:="org.eclipse.jdt.junit,
- org.eclipse.jdt.apt.ui",
- org.eclipse.jdt.internal.ui.actions;x-friends:="org.eclipse.jdt.junit",
- org.eclipse.jdt.internal.ui.browsing;x-internal:=true,
- org.eclipse.jdt.internal.ui.callhierarchy;x-internal:=true,
- org.eclipse.jdt.internal.ui.commands;x-internal:=true,
- org.eclipse.jdt.internal.ui.compare;x-internal:=true,
- org.eclipse.jdt.internal.ui.dialogs;x-friends:="org.eclipse.jdt.apt.ui",
- org.eclipse.jdt.internal.ui.dnd;x-internal:=true,
- org.eclipse.jdt.internal.ui.filters;x-internal:=true,
- org.eclipse.jdt.internal.ui.fix;x-internal:=true,
- org.eclipse.jdt.internal.ui.infoviews;x-internal:=true,
- org.eclipse.jdt.internal.ui.jarimport;x-internal:=true,
- org.eclipse.jdt.internal.ui.jarpackager;x-internal:=true,
- org.eclipse.jdt.internal.ui.javadocexport;x-internal:=true,
- org.eclipse.jdt.internal.ui.javaeditor;x-friends:="org.eclipse.jdt.junit",
- org.eclipse.jdt.internal.ui.javaeditor.saveparticipant;x-internal:=true,
- org.eclipse.jdt.internal.ui.javaeditor.selectionactions;x-internal:=true,
- org.eclipse.jdt.internal.ui.model;x-internal:=true,
- org.eclipse.jdt.internal.ui.navigator;x-internal:=true,
- org.eclipse.jdt.internal.ui.packageview;x-internal:=true,
- org.eclipse.jdt.internal.ui.preferences;x-friends:="org.eclipse.jdt.apt.ui",
- org.eclipse.jdt.internal.ui.preferences.cleanup;x-internal:=true,
- org.eclipse.jdt.internal.ui.preferences.formatter;x-internal:=true,
- org.eclipse.jdt.internal.ui.propertiesfileeditor;x-internal:=true,
- org.eclipse.jdt.internal.ui.refactoring;x-internal:=true,
- org.eclipse.jdt.internal.ui.refactoring.actions;x-internal:=true,
- org.eclipse.jdt.internal.ui.refactoring.binary;x-internal:=true,
- org.eclipse.jdt.internal.ui.refactoring.code;x-internal:=true,
- org.eclipse.jdt.internal.ui.refactoring.contentassist;x-friends:="org.eclipse.jdt.junit",
- org.eclipse.jdt.internal.ui.refactoring.nls;x-internal:=true,
- org.eclipse.jdt.internal.ui.refactoring.nls.search;x-internal:=true,
- org.eclipse.jdt.internal.ui.refactoring.reorg;x-internal:=true,
- org.eclipse.jdt.internal.ui.refactoring.sef;x-internal:=true,
- org.eclipse.jdt.internal.ui.search;x-internal:=true,
- org.eclipse.jdt.internal.ui.text;x-internal:=true,
- org.eclipse.jdt.internal.ui.text.comment;x-internal:=true,
- org.eclipse.jdt.internal.ui.text.correction;x-internal:=true,
- org.eclipse.jdt.internal.ui.text.folding;x-internal:=true,
- org.eclipse.jdt.internal.ui.text.java;x-internal:=true,
- org.eclipse.jdt.internal.ui.text.java.hover;x-internal:=true,
- org.eclipse.jdt.internal.ui.text.javadoc;x-internal:=true,
- org.eclipse.jdt.internal.ui.text.spelling;x-internal:=true,
- org.eclipse.jdt.internal.ui.text.spelling.engine;x-internal:=true,
- org.eclipse.jdt.internal.ui.text.template.contentassist;x-internal:=true,
- org.eclipse.jdt.internal.ui.text.template.preferences;x-internal:=true,
- org.eclipse.jdt.internal.ui.typehierarchy;x-internal:=true,
- org.eclipse.jdt.internal.ui.util;x-friends:="org.eclipse.jdt.junit,
- org.eclipse.jdt.apt.ui",
- org.eclipse.jdt.internal.ui.viewsupport;x-friends:="org.eclipse.jdt.junit",
- org.eclipse.jdt.internal.ui.wizards;x-friends:="org.eclipse.jdt.junit,
- org.eclipse.jdt.apt.ui",
- org.eclipse.jdt.internal.ui.wizards.buildpaths;x-internal:=true,
- org.eclipse.jdt.internal.ui.wizards.buildpaths.newsourcepage;x-internal:=true,
- org.eclipse.jdt.internal.ui.wizards.dialogfields;x-friends:="org.eclipse.jdt.apt.ui",
- org.eclipse.jdt.internal.ui.workingsets;x-internal:=true,
- org.eclipse.jdt.ui,
- org.eclipse.jdt.ui.actions,
- org.eclipse.jdt.ui.dialogs,
- org.eclipse.jdt.ui.jarpackager,
- org.eclipse.jdt.ui.refactoring,
- org.eclipse.jdt.ui.search,
- org.eclipse.jdt.ui.text,
- org.eclipse.jdt.ui.text.folding,
- org.eclipse.jdt.ui.text.java,
- org.eclipse.jdt.ui.text.java.hover,
- org.eclipse.jdt.ui.wizards
-Require-Bundle: org.eclipse.ui;bundle-version="[3.3.0,
- 4.0.0)",
- org.eclipse.ui.console;bundle-version="[3.2.0,
- 4.0.0)",
- org.eclipse.help;bundle-version="[3.3.0,
- 4.0.0)",
- org.eclipse.core.expressions;bundle-version="[3.2.0,
- 4.0.0)",
- org.eclipse.core.filesystem;bundle-version="[1.1.0,
- 2.0.0)",
- org.eclipse.core.resources;bundle-version="[3.3.0,
- 4.0.0)",
- org.eclipse.jdt.core;bundle-version="[3.3.0,
- 4.0.0)",
- org.eclipse.search;bundle-version="[3.3.0,
- 4.0.0)",
- org.eclipse.debug.core;bundle-version="[3.3.0,
- 4.0.0)",
- org.eclipse.debug.ui;bundle-version="[3.3.0,
- 4.0.0)",
- org.eclipse.jdt.launching;bundle-version="[3.2.100,
- 4.0.0)",
- org.eclipse.compare;bundle-version="[3.3.0,
- 4.0.0)",
- org.eclipse.team.ui;bundle-version="[3.3.0,
- 4.0.0)",
- org.eclipse.team.core;bundle-version="[3.2.0,
- 4.0.0)",
- org.eclipse.jface.text;bundle-version="[3.3.0,
- 4.0.0)",
- org.eclipse.ui.workbench.texteditor;bundle-version="[3.3.0,
- 4.0.0)",
- org.eclipse.ui.ide;bundle-version="[3.3.0,
- 4.0.0)",
- org.eclipse.ui.views;bundle-version="[3.2.0,
- 4.0.0)",
- org.eclipse.ui.editors;bundle-version="[3.3.0,
- 4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.3.0,
- 4.0.0)",
- org.eclipse.ltk.core.refactoring;bundle-version="[3.3.0,
- 4.0.0)",
- org.eclipse.ltk.ui.refactoring;bundle-version="[3.3.0,
- 4.0.0)",
- org.eclipse.ui.forms;bundle-version="[3.2.0,
- 4.0.0)",
- org.eclipse.ui.navigator;bundle-version="[3.2.0,
- 4.0.0)",
- org.eclipse.jdt.core.manipulation;bundle-version="[1.1.0,
- 2.0.0)"
-Eclipse-LazyStart: true
-Import-Package: com.ibm.icu.text
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/ui/org.eclipse.pde.ui.tests/tests/performance/plugin/org.eclipse.jdt.ui/plugin.xml b/ui/org.eclipse.pde.ui.tests/tests/performance/plugin/org.eclipse.jdt.ui/plugin.xml
deleted file mode 100644
index e621790..0000000
--- a/ui/org.eclipse.pde.ui.tests/tests/performance/plugin/org.eclipse.jdt.ui/plugin.xml
+++ /dev/null
@@ -1,5577 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-   <extension-point id="javaElementFilters" name="%elementFiltersName" schema="schema/javaElementFilters.exsd"/>
-   <extension-point id="javaEditorTextHovers" name="%javaEditorTextHoversName" schema="schema/javaEditorTextHovers.exsd"/>
-   <extension-point id="javadocCompletionProcessor" name="%javadocCompletionProcessor" schema="schema/javadocCompletionProcessor.exsd"/>
-   <extension-point id="quickFixProcessors" name="%quickFixProcessorExtensionPoint" schema="schema/quickFixProcessors.exsd"/>
-   <extension-point id="quickAssistProcessors" name="%quickAssistProcessorExtensionPoint" schema="schema/quickAssistProcessors.exsd"/>
-   <extension-point id="classpathContainerPage" name="%classpathContainerPageExtensionPoint" schema="schema/classpathContainerPage.exsd"/>
-   <extension-point id="foldingStructureProviders" name="%foldingStructureProvidersExtensionPoint" schema="schema/foldingStructureProviders.exsd"/>
-   <extension-point id="queryParticipants" name="%queryParticipantsExtensionPoint" schema="schema/queryParticipants.exsd"/>
-   <extension-point id="javaCompletionProposalComputer" name="%javaCompletionProposalComputer" schema="schema/javaCompletionProposalComputer.exsd"/>
-   <extension-point id="javaCompletionProposalSorters" name="%javaCompletionProposalSorters" schema="schema/javaCompletionProposalSorters.exsd"/>
-   <extension-point id="classpathAttributeConfiguration" name="%classpathAttributeConfiguration" schema="schema/classpathAttributeConfiguration.exsd"/>
-
-<extension
-	point="org.eclipse.ui.decorators">
-	<decorator
-		label="%OverrideIndicatorLabelDecorator.label"
-		lightweight="true"
-		location="BOTTOM_RIGHT"		
-		state="true"
-		class="org.eclipse.jdt.ui.OverrideIndicatorLabelDecorator"
-		id="org.eclipse.jdt.ui.override.decorator">
-		<description>
-			%OverrideIndicatorLabelDecorator.description
-		</description>
-		<enablement>
-			<objectClass
-				name="org.eclipse.jdt.core.IMethod">
-			</objectClass>
-		</enablement>
-	</decorator>	
-	<decorator
-		label="%InterfaceIndicatorLabelDecorator.label"
-		lightweight="true"
-		location="TOP_LEFT"
-		state="false"
-		class="org.eclipse.jdt.internal.ui.InterfaceIndicatorLabelDecorator"
-		id="org.eclipse.jdt.ui.interface.decorator">
-		<description>
-			%InterfaceIndicatorLabelDecorator.description
-		</description>
-		<enablement>
-			<or>
-				<objectClass
-					name="org.eclipse.jdt.core.ICompilationUnit">
-				</objectClass>
-				<objectClass
-					name="org.eclipse.jdt.core.IClassFile">
-				</objectClass>
-			</or>
-		</enablement>
-	</decorator>
-</extension>
-
-   <extension point="org.eclipse.core.runtime.adapters">
-		<factory 
-            class="org.eclipse.jdt.internal.ui.JavaElementAdapterFactory" 
-            adaptableType="org.eclipse.jdt.core.IJavaElement">
-            
-            <adapter type="org.eclipse.core.resources.IResource"/>
-            
-            <adapter type="org.eclipse.ui.IPersistableElement"/>
-            <adapter type="org.eclipse.ui.IContributorResourceAdapter"/>
-            <adapter type="org.eclipse.ui.ide.IContributorResourceAdapter2"/>
-            <adapter type="org.eclipse.ui.IContainmentAdapter"/>
-            
-            <adapter type="org.eclipse.search.ui.ISearchPageScoreComputer"/>
-            
-            <adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
-            <adapter type="org.eclipse.ui.views.properties.IPropertySource"/>
-            <adapter type="org.eclipse.ui.views.tasklist.ITaskListResourceAdapter"/>
-            
-            <adapter type="org.eclipse.jdt.internal.ui.IResourceLocator"/>
-            <adapter type="org.eclipse.team.ui.history.IHistoryPageSource"/>
-		</factory>
-		
-		<factory 
-            class="org.eclipse.jdt.internal.ui.JavaProjectAdapterFactory" 
-            adaptableType="org.eclipse.jdt.core.IJavaProject">
-            <adapter type="org.eclipse.core.resources.IProject"/>
-		</factory>
-		
-		<factory 
-            class="org.eclipse.jdt.internal.ui.ResourceAdapterFactory" 
-            adaptableType="org.eclipse.core.resources.IResource">
-            <adapter type="org.eclipse.jdt.core.IJavaElement"/>
-		</factory>
-		
-		<factory 
-            class="org.eclipse.jdt.internal.ui.MarkerAdapterFactory" 
-            adaptableType="org.eclipse.core.resources.IMarker">
-            <adapter type="org.eclipse.search.ui.ISearchPageScoreComputer"/>
-		</factory>
-		
-		<factory 
-            class="org.eclipse.jdt.internal.ui.EditorInputAdapterFactory" 
-            adaptableType="org.eclipse.ui.IEditorInput">
-            <adapter type="org.eclipse.search.ui.ISearchPageScoreComputer"/>
-            <adapter type="org.eclipse.jdt.core.IJavaElement"/>
-		</factory>
-		
-		<factory 
-            class="org.eclipse.jdt.internal.ui.LogicalPackageAdapterFactory" 
-            adaptableType="org.eclipse.jdt.internal.ui.browsing.LogicalPackage">
-            <adapter type="org.eclipse.search.ui.ISearchPageScoreComputer"/>
-            <adapter type="org.eclipse.core.resources.mapping.ResourceMapping"/>
-		</factory>
-		
-		<factory 
-            class="org.eclipse.jdt.internal.ui.refactoring.RefactoringAdapterFactory" 
-            adaptableType="org.eclipse.jdt.internal.corext.refactoring.changes.CompilationUnitChange">
-            
-            <adapter type="org.eclipse.ltk.ui.refactoring.TextEditChangeNode"/>
-		</factory>
-		
-        <factory
-            class="org.eclipse.jdt.internal.ui.refactoring.RefactoringAdapterFactory"
-            adaptableType="org.eclipse.ltk.core.refactoring.MultiStateTextFileChange">
-            
-            <adapter type="org.eclipse.ltk.ui.refactoring.TextEditChangeNode"/>
-        </factory>
-
-   </extension>     	
-
-
-   <extension
-         point="org.eclipse.jdt.ui.classpathContainerPage">
-      <classpathContainerPage
-            name="%defaultClasspathContainerPage"
-            class="org.eclipse.jdt.internal.ui.wizards.buildpaths.ClasspathContainerDefaultPage"
-            id="*">
-      </classpathContainerPage>
-   </extension>
-   <extension
-         point="org.eclipse.jdt.ui.classpathAttributeConfiguration">
-      <classpathAttributeConfiguration
-      		attributeName="javadoc_location"
-            class="org.eclipse.jdt.internal.ui.wizards.buildpaths.JavadocAttributeConfiguration">
-      </classpathAttributeConfiguration>
-      <classpathAttributeConfiguration
-      		attributeName="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY"
-            class="org.eclipse.jdt.internal.ui.wizards.buildpaths.NativeLibAttributeConfiguration">
-      </classpathAttributeConfiguration>      
-   </extension>
-   
-   <extension
-         point="org.eclipse.jdt.ui.quickFixProcessors">
-      <quickFixProcessor
-            name="%defaultQuickFixProcessor"
-            class="org.eclipse.jdt.internal.ui.text.correction.QuickFixProcessor"
-            id="org.eclipse.jdt.ui.text.correction.QuickFixProcessor">
-      </quickFixProcessor>
-      <quickFixProcessor
-            name="%spellingQuickFixProcessor"
-            class="org.eclipse.jdt.internal.ui.text.spelling.WordQuickFixProcessor"
-            id= "org.eclipse.jdt.ui.text.correction.spelling.QuickFixProcessor">
-            <handledMarkerTypes>
-                <markerType id="org.eclipse.jdt.internal.spelling"/>
-	        </handledMarkerTypes>
-      </quickFixProcessor>
-   </extension>
-   <extension
-         point="org.eclipse.jdt.ui.quickAssistProcessors">
-      <quickAssistProcessor
-            name="%defaultQuickAssistProcessor"
-            class="org.eclipse.jdt.internal.ui.text.correction.QuickAssistProcessor"
-            id="org.eclipse.jdt.ui.text.correction.QuickAssistProcessor">
-      </quickAssistProcessor>
-      <quickAssistProcessor
-            name="%advancedQuickAssistProcessor"
-            class="org.eclipse.jdt.internal.ui.text.correction.AdvancedQuickAssistProcessor"
-            id="org.eclipse.jdt.ui.text.correction.AdvancedQuickAssistProcessor">
-      </quickAssistProcessor>
-   </extension>
-
-	<!-- content assist processors - do not change their order -->  
-	<!-- java and javadoc category -->
-	<extension
-		point="org.eclipse.jdt.ui.javaCompletionProposalComputer"
-		id="javaTypeProposalCategory"
-		name="%JavaTypesCategory">
-		<proposalCategory
-			icon="$nl$/icons/full/elcl16/jtypeassist_co.gif"/>
-	</extension>
-	<extension
-		point="org.eclipse.jdt.ui.javaCompletionProposalComputer"
-		id="javaNoTypeProposalCategory"
-		name="%JavaProposalCategory">
-		<proposalCategory
-			icon="$nl$/icons/full/elcl16/javaassist_co.gif"/>
-	</extension>
-	<extension
-		point="org.eclipse.jdt.ui.javaCompletionProposalComputer"
-		id="defaultProposalCategory"
-		name="%DefaultProposalCategory">
-		<proposalCategory/>
-	</extension>
-	<extension
-		point="org.eclipse.jdt.ui.javaCompletionProposalComputer"
-		id="templateProposalCategory"
-		name="%TemplateProposalCategory">
-		<proposalCategory
-			icon="$nl$/icons/full/elcl16/templateprop_co.gif"/>
-	</extension>
-	<extension
-		point="org.eclipse.jdt.ui.javaCompletionProposalComputer"
-		id="textProposalCategory"
-		name="%TextProposalCategory">
-		<proposalCategory
-			icon="$nl$/icons/full/elcl16/wordassist_co.gif"/>
-	</extension>
-	 
-	<!-- java completions -->   
-	<extension
-		point="org.eclipse.jdt.ui.javaCompletionProposalComputer"
-		id="JavaTypeCompletionProposalComputer">
-		<javaCompletionProposalComputer 
-			class="org.eclipse.jdt.internal.ui.text.java.JavaTypeCompletionProposalComputer"
-			categoryId="org.eclipse.jdt.ui.javaTypeProposalCategory">
-			<partition type="__dftl_partition_content_type"/>
-			<partition type="__java_string"/>
-		</javaCompletionProposalComputer>
-	</extension>
-	<extension
-		point="org.eclipse.jdt.ui.javaCompletionProposalComputer"
-		id="JavaNoTypeCompletionProposalComputer">
-		<javaCompletionProposalComputer 
-			class="org.eclipse.jdt.internal.ui.text.java.JavaNoTypeCompletionProposalComputer"
-			categoryId="org.eclipse.jdt.ui.javaNoTypeProposalCategory">
-			<partition type="__dftl_partition_content_type"/>
-			<partition type="__java_string"/>
-		</javaCompletionProposalComputer>
-	</extension>
-	<!-- javadoc completions -->   
-	<extension
-		point="org.eclipse.jdt.ui.javaCompletionProposalComputer"
-		id="LegacyJavadocCompletionProposalComputer">
-		<javaCompletionProposalComputer 
-			class="org.eclipse.jdt.internal.ui.text.javadoc.LegacyJavadocCompletionProposalComputer"
-			categoryId="org.eclipse.jdt.ui.javaNoTypeProposalCategory">
-			<partition type="__java_javadoc"/>
-		</javaCompletionProposalComputer>
-	</extension>
-	<extension
-		point="org.eclipse.jdt.ui.javaCompletionProposalComputer"
-		id="JavadocCompletionProposalComputer">
-		<javaCompletionProposalComputer 
-			class="org.eclipse.jdt.internal.ui.text.javadoc.JavadocCompletionProposalComputer"
-			categoryId="org.eclipse.jdt.ui.javaNoTypeProposalCategory">
-			<partition type="__java_javadoc"/>
-		</javaCompletionProposalComputer>
-	</extension>
-	<extension
-		point="org.eclipse.jdt.ui.javaCompletionProposalComputer"
-		id="JavadocHTMLCompletionProposalComputer">
-		<javaCompletionProposalComputer 
-			class="org.eclipse.jdt.internal.ui.text.javadoc.HTMLTagCompletionProposalComputer"
-			categoryId="org.eclipse.jdt.ui.javaNoTypeProposalCategory">
-			<partition type="__java_javadoc"/>
-		</javaCompletionProposalComputer>
-	</extension>
-	<!-- template proposals -->
-	<extension
-		point="org.eclipse.jdt.ui.javaCompletionProposalComputer"
-		id="TemplateProposalComputer">
-		<javaCompletionProposalComputer
-			class="org.eclipse.jdt.internal.ui.text.java.TemplateCompletionProposalComputer"
-			categoryId="org.eclipse.jdt.ui.templateProposalCategory">
-			<partition type="__dftl_partition_content_type"/>
-			<partition type="__java_singleline_comment"/> <!-- to get NLS templates -->
-			<partition type="__java_javadoc"/>
-		</javaCompletionProposalComputer>
-	</extension>
-	<!-- hippie word completions -->   
-	<extension
-		point="org.eclipse.jdt.ui.javaCompletionProposalComputer"
-		id="HippieCompletionProposalComputer">
-		<javaCompletionProposalComputer
-			class="org.eclipse.jdt.internal.ui.text.java.HippieProposalComputer"
-			categoryId="org.eclipse.jdt.ui.textProposalCategory">
-			<partition type="__java_singleline_comment"/>
-			<partition type="__java_multiline_comment"/>
-			<partition type="__java_string"/>
-			<partition type="__java_javadoc"/>
-		</javaCompletionProposalComputer>
-	</extension>
-	
-	<!-- the parameterized content assist action and keybindings for our contributed computers -->
-	<extension
-		point="org.eclipse.ui.commands">
-		<command
-			categoryId="org.eclipse.ui.category.edit"
-			description="%SpecificContentAssist.desc"
-			id="org.eclipse.jdt.ui.specific_content_assist.command"
-			name="%SpecificContentAssist.name"
-			defaultHandler="org.eclipse.jdt.internal.ui.text.java.JavaContentAssistHandler">
-			<commandParameter
-				id="org.eclipse.jdt.ui.specific_content_assist.category_id"
-				name="%SpecificContentAssist.param"
-				optional="false"
-				values="org.eclipse.jdt.internal.ui.text.java.ContentAssistComputerParameter"/>
-		</command>
-	</extension>
-	
-	<extension
-		point="org.eclipse.jdt.ui.javaCompletionProposalSorters">
-		<proposalSorter
-			id="org.eclipse.jdt.ui.RelevanceSorter"
-			name="%RelevanceSorter.name"
-			class="org.eclipse.jdt.internal.ui.text.java.RelevanceSorter"/>
-		<proposalSorter
-			id="org.eclipse.jdt.ui.AlphabeticSorter"
-			name="%AlphabeticSorter.name"
-			class="org.eclipse.jdt.internal.ui.text.java.AlphabeticSorter"/>
-	</extension>
-	
-	<!-- commands to surface java elements given handle id encoded parameter -->
-	<extension
-		point="org.eclipse.ui.commands">
-		<commandParameterType
-			converter="org.eclipse.jdt.internal.ui.commands.JavaElementReferenceConverter"
-			id="org.eclipse.jdt.ui.commands.javaElementReference"
-			type="org.eclipse.jdt.core.IJavaElement"/>
-		<command
-			categoryId="org.eclipse.ui.category.navigate"
-			defaultHandler="org.eclipse.jdt.internal.ui.commands.OpenElementInEditorHandler"
-			description="%command.openElementInEditor.desc"
-			id="org.eclipse.jdt.ui.commands.openElementInEditor"
-			name="%command.openElementInEditor.name">
-			<commandParameter
-				id="elementRef"
-				name="%commandParameter.openElementInEditor.elementRef.name"
-				optional="false"
-				typeId="org.eclipse.jdt.ui.commands.javaElementReference"/>
-		</command>
-		<command
-			categoryId="org.eclipse.ui.category.navigate"
-			defaultHandler="org.eclipse.jdt.internal.ui.commands.ShowElementInPackageViewHandler"
-			description="%command.showElementInPackageView.desc"
-			id="org.eclipse.jdt.ui.commands.showElementInPackageView"
-			name="%command.showElementInPackageView.name">
-			<commandParameter
-				id="elementRef"
-				name="%commandParameter.showElementInPackageView.elementRef.name"
-				optional="false"
-				typeId="org.eclipse.jdt.ui.commands.javaElementReference"/>
-		</command>
-		<command
-			categoryId="org.eclipse.ui.category.navigate"
-			defaultHandler="org.eclipse.jdt.internal.ui.commands.ShowElementInTypeHierarchyViewHandler"
-			description="%command.showElementInTypeHierarchyView.desc"
-			id="org.eclipse.jdt.ui.commands.showElementInTypeHierarchyView"
-			name="%command.showElementInTypeHierarchyView.name">
-			<commandParameter
-				id="elementRef"
-				name="%commandParameter.showElementInTypeHierarchyView.elementRef.name"
-				optional="false"
-				typeId="org.eclipse.jdt.ui.commands.javaElementReference"/>
-		</command>
-	</extension>
-	
-   <!-- Note: Do not change the sequence of those hover contributions -->
-   <extension
-         point="org.eclipse.jdt.ui.javaEditorTextHovers">
-      <hover
-            label="%sequentialHover"
-            description="%sequentialHoverDescription"
-            class="org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover"
-            id="org.eclipse.jdt.ui.BestMatchHover">
-      </hover>
-      <hover
-            label="%problemHover"
-            description="%problemHoverDescription"
-            class="org.eclipse.jdt.internal.ui.text.java.hover.ProblemHover"
-            id="org.eclipse.jdt.ui.ProblemHover">
-      </hover>
-      <hover
-            label="%nlsStringHover"
-            description="%nlsStringHoverDescription"
-            class="org.eclipse.jdt.internal.ui.text.java.hover.NLSStringHover"
-            id="org.eclipse.jdt.ui.NLStringHover">
-      </hover>
-      <hover
-            label="%javadocHover"
-            description="%javadocHoverDescription"
-            class="org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover"
-            id="org.eclipse.jdt.ui.JavadocHover">
-      </hover>
-      <hover
-            label="%sourceHover"
-            description="%sourceHoverDescription"
-            class="org.eclipse.jdt.internal.ui.text.java.hover.JavaSourceHover"
-            id="org.eclipse.jdt.ui.JavaSourceHover">
-      </hover>
-      <hover
-            label="%annotationHover"
-            description="%annotationHoverDescription"
-            class="org.eclipse.jdt.internal.ui.text.java.hover.AnnotationHover"
-            id="org.eclipse.jdt.ui.AnnotationHover">
-      </hover>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="%perspectiveName"
-            icon="$nl$/icons/full/eview16/jperspective.gif"
-            class="org.eclipse.jdt.internal.ui.JavaPerspectiveFactory"
-            id="org.eclipse.jdt.ui.JavaPerspective">
-         <description>
-            %java.perspective.description
-         </description>
-      </perspective>
-      <perspective
-            name="%typeHierarchyName"
-            icon="$nl$/icons/full/eview16/hierch_persp.gif"
-            class="org.eclipse.jdt.internal.ui.JavaHierarchyPerspectiveFactory"
-            id="org.eclipse.jdt.ui.JavaHierarchyPerspective">
-         <description>
-            %typeHierarchy.perspective.description
-         </description>
-      </perspective>
-   </extension>
-   
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension
-            targetID="org.eclipse.ui.resourcePerspective">
-         <perspectiveShortcut
-               id="org.eclipse.jdt.ui.JavaPerspective">
-         </perspectiveShortcut>
-      </perspectiveExtension>
-      <perspectiveExtension
-            targetID="org.eclipse.jdt.ui.JavaPerspective">
-         <perspectiveShortcut
-               id="org.eclipse.jdt.ui.JavaPerspective">
-         </perspectiveShortcut>
-      </perspectiveExtension>
-      <perspectiveExtension
-            targetID="org.eclipse.jdt.ui.JavaPerspective">
-         <perspectiveShortcut
-               id="org.eclipse.debug.ui.DebugPerspective">
-         </perspectiveShortcut>
-      </perspectiveExtension>
-      <perspectiveExtension
-            targetID="org.eclipse.debug.ui.DebugPerspective">
-         <perspectiveShortcut
-               id="org.eclipse.jdt.ui.JavaPerspective">
-         </perspectiveShortcut>
-      </perspectiveExtension>
-      <perspectiveExtension
-            targetID="org.eclipse.debug.ui.DebugPerspective">
-         <actionSet
-               id="org.eclipse.jdt.ui.JavaActionSet">
-         </actionSet>
-      </perspectiveExtension>
-      
-      <perspectiveExtension targetID="org.eclipse.jdt.ui.JavaPerspective">
-         <showInPart id="org.eclipse.jdt.ui.PackageExplorer"/>
-         <showInPart id="org.eclipse.team.ui.GenericHistoryView"/>
-         <showInPart id="org.eclipse.ui.views.ResourceNavigator"/>
-      </perspectiveExtension>
-      <perspectiveExtension targetID="org.eclipse.jdt.ui.JavaBrowsingPerspective">
-         <showInPart id="org.eclipse.jdt.ui.PackageExplorer"/>
-         <showInPart id="org.eclipse.team.ui.GenericHistoryView"/>
-         <showInPart id="org.eclipse.ui.views.ResourceNavigator"/>
-      </perspectiveExtension>
-      <perspectiveExtension targetID="org.eclipse.jdt.ui.JavaHierarchyPerspective">
-         <showInPart id="org.eclipse.jdt.ui.PackageExplorer"/>
-         <showInPart id="org.eclipse.team.ui.GenericHistoryView"/>        
-         <showInPart id="org.eclipse.ui.views.ResourceNavigator"/>
-      </perspectiveExtension>
-      <perspectiveExtension targetID="org.eclipse.debug.ui.DebugPerspective">
-         <showInPart id="org.eclipse.jdt.ui.PackageExplorer"/>
-      </perspectiveExtension>
-      
-   </extension>
-   <extension
-         point="org.eclipse.ui.ide.projectNatureImages">
-      <image
-            icon="$nl$/icons/full/ovr16/java_ovr.gif"
-            natureId="org.eclipse.jdt.core.javanature"
-            id="org.eclipse.ui.javaProjectNatureImage">
-      </image>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%viewCategoryName"
-            id="org.eclipse.jdt.ui.java">
-      </category>
-      <view
-            name="%packagesViewName"
-            icon="$nl$/icons/full/eview16/package.gif"
-            category="org.eclipse.jdt.ui.java"
-            class="org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart"
-            id="org.eclipse.jdt.ui.PackageExplorer">
-      </view>
-      <view
-            name="%hierarchyViewName"
-            icon="$nl$/icons/full/eview16/class_hi.gif"
-            category="org.eclipse.jdt.ui.java"
-            class="org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart"
-            id="org.eclipse.jdt.ui.TypeHierarchy">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.newWizards">
-      <category
-            name="%newWizardCategoryName"
-            id="org.eclipse.jdt.ui.java">
-      </category>
-      <wizard
-            name="%NewJavaProject.label"
-            icon="$nl$/icons/full/etool16/newjprj_wiz.gif"
-            category="org.eclipse.jdt.ui.java"
-            class="org.eclipse.jdt.internal.ui.wizards.JavaProjectWizard"
-            preferredPerspectives="org.eclipse.jdt.ui.JavaPerspective,org.eclipse.jdt.ui.JavaBrowsingPerspective,org.eclipse.jdt.ui.JavaHierarchyPerspective"
-            project="true"
-            finalPerspective="org.eclipse.jdt.ui.JavaPerspective"
-            id="org.eclipse.jdt.ui.wizards.JavaProjectWizard">
-         <description>
-            %NewJavaProject.description
-         </description>
-      </wizard>
-      <wizard
-            name="%NewJavaPackage.label"
-            icon="$nl$/icons/full/etool16/newpack_wiz.gif"
-            category="org.eclipse.jdt.ui.java"
-            class="org.eclipse.jdt.internal.ui.wizards.NewPackageCreationWizard"
-            id="org.eclipse.jdt.ui.wizards.NewPackageCreationWizard">
-         <description>
-            %NewJavaPackage.description
-         </description>
-      </wizard>
-      <wizard
-            name="%NewJavaClass.label"
-            icon="$nl$/icons/full/etool16/newclass_wiz.gif"
-            category="org.eclipse.jdt.ui.java"
-            id="org.eclipse.jdt.ui.wizards.NewClassCreationWizard">
-         <class class="org.eclipse.jdt.internal.ui.wizards.NewClassCreationWizard">
-            <parameter name="javatype" value="true"/>
-         </class>
-         <description>
-            %NewJavaClass.description
-         </description>
-      </wizard>
-      <wizard
-            name="%NewJavaInterface.label"
-            icon="$nl$/icons/full/etool16/newint_wiz.gif"
-            category="org.eclipse.jdt.ui.java"
-            id="org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard">
-         <class class="org.eclipse.jdt.internal.ui.wizards.NewInterfaceCreationWizard">
-            <parameter name="javatype" value="true"/>
-         </class>
-         <description>
-            %NewJavaInterface.description
-         </description>
-      </wizard>
-      <wizard
-            name="%NewSourceFolderCreationWizard.label"
-            icon="$nl$/icons/full/etool16/newpackfolder_wiz.gif"
-            category="org.eclipse.jdt.ui.java"
-            class="org.eclipse.jdt.internal.ui.wizards.NewSourceFolderCreationWizard"
-            id="org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard">
-         <description>
-            %NewSourceFolderCreationWizard.description
-         </description>
-      </wizard>
-      <wizard
-            name="%NewEnumType.label"
-            icon="$nl$/icons/full/etool16/newenum_wiz.gif"
-            category="org.eclipse.jdt.ui.java"
-            id="org.eclipse.jdt.ui.wizards.NewEnumCreationWizard">
-         <class class="org.eclipse.jdt.internal.ui.wizards.NewEnumCreationWizard">
-            <parameter name="javatype" value="true"/>
-         </class>
-         <description>
-            %NewEnumType.description
-         </description>
-      </wizard>
-      <wizard
-            name="%NewAnnotationType.label"
-            icon="$nl$/icons/full/etool16/newannotation_wiz.gif"
-            category="org.eclipse.jdt.ui.java"
-            id="org.eclipse.jdt.ui.wizards.NewAnnotationCreationWizard">
-         <class class="org.eclipse.jdt.internal.ui.wizards.NewAnnotationCreationWizard">
-            <parameter name="javatype" value="true"/>
-         </class>
-         <description>
-            %NewAnnotationType.description
-         </description>
-      </wizard>
-   </extension>
-   <extension
-         point="org.eclipse.ui.propertyPages">
- <!--
-      <page
-            objectClass="org.eclipse.core.resources.IProject"
-            name="%javaCategoryPageName"
-            class="org.eclipse.jdt.internal.ui.preferences.JavaCategoryPropertyPage"
-            id="org.eclipse.jdt.ui.propertyPages.JavaCategoryPropertyPage">
-         <enabledWhen>
-		     <adapt type="org.eclipse.core.resources.IProject">
-		          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature"/>
-		     </adapt>         
-         </enabledWhen>
-      </page>
--->
-      <page
-            name="%buildPathPageName"        
-            class="org.eclipse.jdt.internal.ui.preferences.BuildPathsPropertyPage"
-            id="org.eclipse.jdt.ui.propertyPages.BuildPathsPropertyPage">
-         <enabledWhen>
-		     <adapt type="org.eclipse.core.resources.IProject">
-		          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature"/>
-		     </adapt>         
-         </enabledWhen>
-         <keywordReference id="org.eclipse.jdt.ui.buildpath"/>
-      </page>
-      <page
-            name="%codeStylePageName"
-            class="org.eclipse.jdt.internal.ui.preferences.CodeStylePreferencePage"
-            id="org.eclipse.jdt.ui.propertyPages.CodeStylePreferencePage">
-         <enabledWhen>
-		     <adapt type="org.eclipse.core.resources.IProject">
-		          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature"/>
-		     </adapt>         
-         </enabledWhen>
-         <keywordReference id="org.eclipse.jdt.ui.codestyle"/>
-      </page>
-      <page
-            name="%importOrganizePageName"
-            category="org.eclipse.jdt.ui.propertyPages.CodeStylePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.ImportOrganizePreferencePage"
-            id="org.eclipse.jdt.ui.propertyPages.ImportOrganizePreferencePage">
-         <enabledWhen>
-		     <adapt type="org.eclipse.core.resources.IProject">
-		          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature"/>
-		     </adapt>         
-         </enabledWhen>
-         <keywordReference id="org.eclipse.jdt.ui.organizeimports"/>
-      </page>
-      <page
-            name="%codeFormatterPageName"
-            category="org.eclipse.jdt.ui.propertyPages.CodeStylePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.CodeFormatterPreferencePage"
-            id="org.eclipse.jdt.ui.propertyPages.CodeFormatterPreferencePage">
-         <enabledWhen>
-		     <adapt type="org.eclipse.core.resources.IProject">
-		          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature"/>
-		     </adapt>         
-         </enabledWhen>
-         <keywordReference id="org.eclipse.jdt.ui.formatter"/>
-      </page>
-      <page
-            name="%cleanUpPageName"
-            category="org.eclipse.jdt.ui.propertyPages.CodeStylePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.CleanUpPreferencePage"
-            id="org.eclipse.jdt.ui.propertyPages.CleanUpPreferencePage">
-         <enabledWhen>
-		     <adapt type="org.eclipse.core.resources.IProject">
-		          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature"/>
-		     </adapt>         
-         </enabledWhen>
-         <keywordReference id="org.eclipse.jdt.ui.cleanup"/>
-      </page>
-      <page
-            name="%codeTemplatePageName"
-            category="org.eclipse.jdt.ui.propertyPages.CodeStylePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.CodeTemplatePreferencePage"
-            id="org.eclipse.jdt.ui.propertyPages.CodeTemplatePreferencePage">
-         <enabledWhen>
-		     <adapt type="org.eclipse.core.resources.IProject">
-		          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature"/>
-		     </adapt>         
-         </enabledWhen>
-         <keywordReference id="org.eclipse.jdt.ui.codetemplates"/>
-      </page>
-      <page
-            name="%compliancePageName"
-            class="org.eclipse.jdt.internal.ui.preferences.CompliancePreferencePage"
-            id="org.eclipse.jdt.ui.propertyPages.CompliancePreferencePage">
-         <enabledWhen>
-		     <adapt type="org.eclipse.core.resources.IProject">
-		          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature"/>
-		     </adapt>         
-         </enabledWhen>
-          <keywordReference id="org.eclipse.jdt.ui.compliance"/>
-      </page>
-      <page
-            name="%problemSeveritiesPageName"
-            class="org.eclipse.jdt.internal.ui.preferences.ProblemSeveritiesPreferencePage"
-            category="org.eclipse.jdt.ui.propertyPages.CompliancePreferencePage"
-            id="org.eclipse.jdt.ui.propertyPages.ProblemSeveritiesPreferencePage">
-         <enabledWhen>
-		     <adapt type="org.eclipse.core.resources.IProject">
-		          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature"/>
-		     </adapt>         
-         </enabledWhen>
-         <keywordReference id="org.eclipse.jdt.ui.severities"/>
-      </page>
-      <page
-            name="%javadocProblemsPageName"
-            class="org.eclipse.jdt.internal.ui.preferences.JavadocProblemsPreferencePage"
-            category="org.eclipse.jdt.ui.propertyPages.CompliancePreferencePage"
-            id="org.eclipse.jdt.ui.propertyPages.JavadocProblemsPreferencePage">
-         <enabledWhen>
-		     <adapt type="org.eclipse.core.resources.IProject">
-		          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature"/>
-		     </adapt>         
-         </enabledWhen>
-         <keywordReference id="org.eclipse.jdt.ui.javadocproblems"/>
-      </page>
-      <page
-            name="%builderPageName"
-            class="org.eclipse.jdt.internal.ui.preferences.JavaBuildPreferencePage"
-            category="org.eclipse.jdt.ui.propertyPages.CompliancePreferencePage"
-            id="org.eclipse.jdt.ui.propertyPages.JavaBuildPreferencePage">
-         <enabledWhen>
-		     <adapt type="org.eclipse.core.resources.IProject">
-		          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature"/>
-		     </adapt>         
-         </enabledWhen>
-         <keywordReference id="org.eclipse.jdt.ui.building"/>
-      </page>
-      <page
-            name="%todoPageName"
-            class="org.eclipse.jdt.internal.ui.preferences.TodoTaskPreferencePage"
-            category="org.eclipse.jdt.ui.propertyPages.CompliancePreferencePage"
-            id="org.eclipse.jdt.ui.propertyPages.TodoTaskPreferencePage">
-         <enabledWhen>
-		     <adapt type="org.eclipse.core.resources.IProject">
-		          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature"/>
-		     </adapt>         
-         </enabledWhen>
-         <keywordReference id="org.eclipse.jdt.ui.todo"/>-->
-      </page>
-      <page
-            name="%sourceAttachmentPageName"
-            class="org.eclipse.jdt.internal.ui.preferences.SourceAttachmentPropertyPage"
-            id="org.eclipse.jdt.ui.propertyPages.SourceAttachmentPage">
-         <enabledWhen>
-            <and>
-		      <instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/>
-		      <not>
-		        <test property="org.eclipse.jdt.core.inSourceFolder"/>
-		      </not>
-		    </and>
-         </enabledWhen>
-      </page>
-      <page
-            name="%javadocLocationPageName"
-            class="org.eclipse.jdt.internal.ui.preferences.JavadocConfigurationPropertyPage"
-            id="org.eclipse.jdt.ui.preferences.JavadocConfigurationPropertyPage0">
-         <enabledWhen>
-            <and>
-              <instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/>
-	          <not>
-	            <test property="org.eclipse.jdt.core.inSourceFolder"/>
-		      </not>
-		    </and>
-         </enabledWhen>
-      </page>
-      <!-- can be merged again when bug 155422 is fixed --> 
-      <page
-            name="%javadocLocationPageName"
-            class="org.eclipse.jdt.internal.ui.preferences.JavadocConfigurationPropertyPage"
-            id="org.eclipse.jdt.ui.preferences.JavadocConfigurationPropertyPage1">
-         <enabledWhen>
-             <adapt type="org.eclipse.core.resources.IProject">
-               <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature"/>
-		     </adapt>
-         </enabledWhen>
-      </page>
-      <page
-            name="%nativeLibraryPageName"
-            class="org.eclipse.jdt.internal.ui.preferences.NativeLibrariesPropertyPage"
-            id="org.eclipse.jdt.ui.preferences.NativeLibrariesPropertyPage">
-         <enabledWhen>
-            <instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/>
-         </enabledWhen>
-      </page>
-      
-      <page
-            name="%editorPageName"
-            class="org.eclipse.jdt.internal.ui.preferences.JavaEditorPropertyPage"
-            id="org.eclipse.jdt.ui.propertyPages.JavaEditorPropertyPage">
-         <enabledWhen>
-		     <adapt type="org.eclipse.core.resources.IProject">
-		          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature"/>
-		     </adapt>         
-         </enabledWhen>
-         <keywordReference id="org.eclipse.jdt.ui.javaeditorproperty"/>
-      </page>
-      <page
-            name="%editorSaveParticipants"
-            class="org.eclipse.jdt.internal.ui.preferences.SaveParticipantPreferencePage"
-            category="org.eclipse.jdt.ui.propertyPages.JavaEditorPropertyPage"
-            id="org.eclipse.jdt.ui.propertyPages.SaveParticipantPreferencePage">
-         <enabledWhen>
-		     <adapt type="org.eclipse.core.resources.IProject">
-		          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature"/>
-		     </adapt>         
-         </enabledWhen>
-         <keywordReference id="org.eclipse.jdt.ui.saveparticipant"/>
-      </page>
-
-   </extension>
-   <extension
-         point="org.eclipse.ui.elementFactories">
-      <factory
-            class="org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditorInputFactory"
-            id="org.eclipse.jdt.ui.ClassFileEditorInputFactory">
-      </factory>
-      <factory
-            class="org.eclipse.jdt.internal.ui.PersistableJavaElementFactory"
-            id="org.eclipse.jdt.ui.PersistableJavaElementFactory">
-      </factory>
-   </extension>
-   <extension
-         id="javaeditor"
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%CompilationUnitEditorName"
-            default="true"
-            icon="$nl$/icons/full/obj16/jcu_obj.gif"
-            contributorClass="org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditorActionContributor"
-            class="org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor"
-            symbolicFontName="org.eclipse.jdt.ui.editors.textfont"
-            id="org.eclipse.jdt.ui.CompilationUnitEditor">
-            <contentTypeBinding
-               contentTypeId="org.eclipse.jdt.core.javaSource"
-            /> 
-      </editor>
-      <editor
-            name="%ClassFileViewerName"
-            default="true"
-            icon="$nl$/icons/full/obj16/classf_obj.gif"
-            contributorClass="org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditorActionContributor"
-            class="org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor"
-            symbolicFontName="org.eclipse.jdt.ui.editors.textfont"
-            id="org.eclipse.jdt.ui.ClassFileEditor">
-            <contentTypeBinding
-               contentTypeId="org.eclipse.jdt.core.javaClass"
-            /> 
-      </editor>
-      <editor
-            name="%PropertiesFileEditorName"
-            icon="$nl$/icons/full/obj16/file_obj.gif"
-            contributorClass="org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertiesFileEditorActionContributor"
-            class="org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertiesFileEditor"
-            symbolicFontName="org.eclipse.jdt.ui.PropertiesFileEditor.textfont"
-            id="org.eclipse.jdt.ui.PropertiesFileEditor">
-            <contentTypeBinding
-               contentTypeId="org.eclipse.jdt.core.javaProperties"
-            /> 
-      </editor>
-      <editor
-            name="%jarDescEditorName"
-            default="true"
-            icon="$nl$/icons/full/obj16/jar_desc_obj.gif"
-            extensions="jardesc"
-            contributorClass="org.eclipse.ui.texteditor.BasicTextEditorActionContributor"
-            class="org.eclipse.ui.editors.text.TextEditor"
-            id="org.eclipse.jdt.ui.JARDescEditor">
-      </editor>
-   </extension>
-   
-   <extension
-         point="org.eclipse.ui.themes">
-        <themeElementCategory label="%javaPresentation.label" id="org.eclipse.jdt.ui.presentation"/>
-      <fontDefinition
-            label="%javaEditorFontDefiniton.label"
-            defaultsTo="org.eclipse.jface.textfont"
-            categoryId="org.eclipse.jdt.ui.presentation"
-            id="org.eclipse.jdt.ui.editors.textfont">
-         <description>
-            %javaEditorFontDefintion.description
-         </description>
-      </fontDefinition>
-      <fontDefinition
-            label="%propertiesFileEditorFontDefiniton.label"
-            defaultsTo="org.eclipse.jface.textfont"
-            categoryId="org.eclipse.jdt.ui.presentation"
-            id="org.eclipse.jdt.ui.PropertiesFileEditor.textfont">
-         <description>
-            %propertiesFileEditorFontDefintion.description
-         </description>
-      </fontDefinition>
-      <fontDefinition
-            label="%javadocDisplayFontDefiniton.label"
-            defaultsTo="org.eclipse.jface.dialogfont"
-            categoryId="org.eclipse.jdt.ui.presentation"
-            id="org.eclipse.jdt.ui.javadocfont">
-         <description>
-            %javadocDisplayFontDefiniton.description
-         </description>
-      </fontDefinition>
-      <colorDefinition
-            label="%JavadocViewBackgroundColor.label"
-            categoryId="org.eclipse.jdt.ui.presentation"
-            value="COLOR_INFO_BACKGROUND"
-            id="org.eclipse.jdt.ui.JavadocView.backgroundColor">
-         <description>
-            %JavadocViewBackgroundColor.description
-         </description>
-      </colorDefinition>
-      <colorDefinition
-            label="%DeclarationViewBackgroundColor.label"
-            categoryId="org.eclipse.jdt.ui.presentation"
-            value="COLOR_INFO_BACKGROUND"
-            id="org.eclipse.jdt.ui.DeclarationView.backgroundColor">
-         <description>
-            %DeclarationViewBackgroundColor.description
-         </description>
-      </colorDefinition>
-   </extension>
-   
-   
-   <extension
-         point="org.eclipse.ui.editors.annotationTypes">
-      <type
-         name="org.eclipse.jdt.ui.error"
-         super="org.eclipse.ui.workbench.texteditor.error"
-         markerType="org.eclipse.jdt.core.problem"
-         markerSeverity="2">
-      </type>
-      <type
-         name="org.eclipse.jdt.ui.warning"
-         super="org.eclipse.ui.workbench.texteditor.warning"
-         markerType="org.eclipse.jdt.core.problem"
-         markerSeverity="1">
-      </type>
-      <type
-         name="org.eclipse.jdt.ui.info"
-         super="org.eclipse.ui.workbench.texteditor.info"
-         markerType="org.eclipse.jdt.core.problem"
-         markerSeverity="0">
-      </type>
-      <type
-         name="org.eclipse.jdt.ui.occurrences">
-      </type>
-      <type
-         name="org.eclipse.jdt.ui.overrideIndicator">
-      </type>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editors.markerAnnotationSpecification">
-      <specification
-            annotationType="org.eclipse.jdt.ui.error"
-            annotationImageProvider="org.eclipse.jdt.internal.ui.javaeditor.JavaAnnotationImageProvider">
-      </specification>
-      <specification
-            annotationType="org.eclipse.jdt.ui.warning"
-            annotationImageProvider="org.eclipse.jdt.internal.ui.javaeditor.JavaAnnotationImageProvider">
-      </specification>
-      <specification
-            annotationType="org.eclipse.jdt.ui.info"
-            annotationImageProvider="org.eclipse.jdt.internal.ui.javaeditor.JavaAnnotationImageProvider">
-      </specification>
-	  <specification
-            annotationType="org.eclipse.jdt.ui.occurrences"
-            label="%OccurrenceAnnotation.label"
-            icon="$nl$/icons/full/obj16/searchm_obj.gif"
-            textPreferenceKey="occurrenceIndication"
-            textPreferenceValue="false"
-            highlightPreferenceKey="occurrenceHighlighting"
-            highlightPreferenceValue="true"
-            contributesToHeader="false"
-            overviewRulerPreferenceKey="occurrenceIndicationInOverviewRuler"
-            overviewRulerPreferenceValue="true"
-            verticalRulerPreferenceKey="occurrenceIndicationInVerticalRuler"
-            verticalRulerPreferenceValue="false"
-            colorPreferenceKey="occurrenceIndicationColor"
-            colorPreferenceValue="212,212,212"
-            presentationLayer="4"
-            showInNextPrevDropdownToolbarActionKey="showOccurrenceInNextPrevDropdownToolbarAction"
-            showInNextPrevDropdownToolbarAction="true"
-            isGoToNextNavigationTargetKey="isOccurrenceGoToNextNavigationTarget"
-	        isGoToNextNavigationTarget="false"
-            isGoToPreviousNavigationTargetKey="isOccurrenceGoToPreviousNavigationTarget"
-	        isGoToPreviousNavigationTarget="false">
-	  </specification>
-	  <specification
-            annotationType="org.eclipse.jdt.ui.overrideIndicator"
-            label="%OverrideIndicator.label"
-            icon="$nl$/icons/full/ovr16/over_co.gif"
-			annotationImageProvider ="org.eclipse.jdt.internal.ui.javaeditor.OverrideIndicatorImageProvider"
-            textPreferenceKey="overrideIndicator"
-            textPreferenceValue="false"
-            highlightPreferenceKey="overrideIndicatorHighlighting"
-            highlightPreferenceValue="false"
-            contributesToHeader="false"
-            overviewRulerPreferenceKey="overrideIndicatorInOverviewRuler"
-            overviewRulerPreferenceValue="false"
-            verticalRulerPreferenceKey="overrideIndicatorInVerticalRuler"
-            verticalRulerPreferenceValue="true"
-            colorPreferenceKey="overrideIndicatorColor"
-            colorPreferenceValue="180,207,205"
-            presentationLayer="3"
-            showInNextPrevDropdownToolbarActionKey="showoverrideIndicatorInNextPrevDropdownToolbarAction"
-            showInNextPrevDropdownToolbarAction="false"
-            isGoToNextNavigationTargetKey="isOverrideIndicatorGoToNextNavigationTarget"
-	        isGoToNextNavigationTarget="false"
-            isGoToPreviousNavigationTargetKey="isOverrideIndicatorGoToPreviousNavigationTarget"
-	        isGoToPreviousNavigationTarget="false">
-	  </specification>
-
-      <!-- linked annotations -->
-      <!-- these are deprecated as of 3.2, do not use. -->
-	  <specification
-            annotationType="org.eclipse.jdt.ui.link.master"
-            colorPreferenceValue="70,100,165"
-            colorPreferenceKey="linked.focus.color"
-            isGoToPreviousNavigationTarget="false"
-            isGoToPreviousNavigationTargetKey="linked.focus.navigation.previous"
-            showInNextPrevDropdownToolbarAction="false"
-            showInNextPrevDropdownToolbarActionKey="linked.focus.navigation.dropdown"
-            isGoToNextNavigationTarget="false"
-            isGoToNextNavigationTargetKey="linked.focus.navigation.next"
-            contributesToHeader="false"
-            overviewRulerPreferenceValue="false"
-            presentationLayer="4"
-            label="%linked.focus.label"
-            textPreferenceValue="true"
-            textPreferenceKey="linked.focus.text"
-            highlightPreferenceKey="linked.focus.highlight"
-            highlightPreferenceValue="false"
-            textStylePreferenceKey="linked.focus.text.style"
-            textStylePreferenceValue="BOX"
-            verticalRulerPreferenceKey="linked.focus.verticalruler"
-            verticalRulerPreferenceValue="false"
-            includeOnPreferencePage="false"
-            overviewRulerPreferenceKey="linked.focus.overviewruler">
-      </specification>      
-      <specification
-            annotationType="org.eclipse.jdt.ui.link.slave"
-            colorPreferenceValue="180,215,255"
-            colorPreferenceKey="linked.slave.color"
-            isGoToPreviousNavigationTarget="false"
-            isGoToPreviousNavigationTargetKey="linked.slave.navigation.previous"
-            showInNextPrevDropdownToolbarAction="false"
-            showInNextPrevDropdownToolbarActionKey="linked.slave.navigation.dropdown"
-            isGoToNextNavigationTarget="false"
-            isGoToNextNavigationTargetKey="linked.slave.navigation.next"
-            contributesToHeader="false"
-            overviewRulerPreferenceValue="false"
-            presentationLayer="4"
-            label="%linked.slave.label"
-            textPreferenceValue="false"
-            textPreferenceKey="linked.slave.text"
-            highlightPreferenceKey="linked.slave.highlight"
-            highlightPreferenceValue="true"
-            textStylePreferenceKey="linked.slave.text.style"
-            textStylePreferenceValue="NONE"
-            verticalRulerPreferenceKey="linked.slave.verticalruler"
-            verticalRulerPreferenceValue="false"
-            includeOnPreferencePage="false"
-            overviewRulerPreferenceKey="linked.slave.overviewruler">
-      </specification>      
-      <specification
-            annotationType="org.eclipse.jdt.ui.link.target"
-            colorPreferenceValue="70,100,165"
-            colorPreferenceKey="linked.target.color"
-            isGoToPreviousNavigationTarget="false"
-            isGoToPreviousNavigationTargetKey="linked.target.navigation.previous"
-            showInNextPrevDropdownToolbarAction="false"
-            showInNextPrevDropdownToolbarActionKey="linked.target.navigation.dropdown"
-            isGoToNextNavigationTarget="false"
-            isGoToNextNavigationTargetKey="linked.target.navigation.next"
-            contributesToHeader="false"
-            overviewRulerPreferenceValue="false"
-            presentationLayer="4"
-            label="%linked.target.label"
-            textPreferenceValue="true"
-            textPreferenceKey="linked.target.text"
-            highlightPreferenceKey="linked.target.highlight"
-            highlightPreferenceValue="false"
-            textStylePreferenceKey="linked.target.text.style"
-            textStylePreferenceValue="BOX"
-            verticalRulerPreferenceKey="linked.target.verticalruler"
-            verticalRulerPreferenceValue="false"
-            includeOnPreferencePage="false"
-            overviewRulerPreferenceKey="linked.target.overviewruler">
-      </specification>
-      <specification
-            annotationType="org.eclipse.jdt.ui.link.exit"
-            colorPreferenceValue="0,180,0"
-            colorPreferenceKey="linked.exit.color"
-            isGoToPreviousNavigationTarget="false"
-            isGoToPreviousNavigationTargetKey="linked.exit.navigation.previous"
-            showInNextPrevDropdownToolbarAction="false"
-            showInNextPrevDropdownToolbarActionKey="linked.exit.navigation.dropdown"
-            isGoToNextNavigationTarget="false"
-            isGoToNextNavigationTargetKey="linked.exit.navigation.next"
-            contributesToHeader="false"
-            overviewRulerPreferenceValue="false"
-            presentationLayer="4"
-            label="%linked.exit.label"
-            textPreferenceValue="true"
-            textPreferenceKey="linked.exit.text"
-            highlightPreferenceKey="linked.exit.highlight"
-            highlightPreferenceValue="false"
-            textStylePreferenceKey="linked.exit.text.style"
-            textStylePreferenceValue="IBEAM"
-            verticalRulerPreferenceKey="linked.exit.verticalruler"
-            verticalRulerPreferenceValue="false"
-            includeOnPreferencePage="false"
-            overviewRulerPreferenceKey="linked.exit.overviewruler">
-      </specification>
-	</extension>
-
-   	<extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%javaEditorPresentationActionSet.label"
-            visible="false"
-            id="org.eclipse.jdt.ui.text.java.actionSet.presentation">
-         <action
-               allowLabelUpdate="true"
-               style="toggle"
-               toolbarPath="org.eclipse.ui.edit.text.actionSet.presentation/Presentation"
-               id="org.eclipse.jdt.ui.edit.text.java.toggleMarkOccurrences"
-               definitionId="org.eclipse.jdt.ui.edit.text.java.toggleMarkOccurrences"
-               disabledIcon="$nl$/icons/full/dtool16/mark_occurrences.gif"
-               icon="$nl$/icons/full/etool16/mark_occurrences.gif"
-               helpContextId="toggle_mark_occurrences_action_context"
-               label="%toggleMarkOccurrences.label"
-               retarget="true"
-               tooltip="%toggleMarkOccurrences.tooltip">
-         </action>
-      </actionSet>
-   </extension>
-
-   <extension
-         id="JavaDocumentSetupParticipant"
-         name="%javaDocumentSetupParticipant"
-         point="org.eclipse.core.filebuffers.documentSetup">
-      <participant
-            contentTypeId="org.eclipse.jdt.core.javaSource"
-            class="org.eclipse.jdt.internal.ui.javaeditor.JavaDocumentSetupParticipant">
-      </participant>
-   </extension>
-   
-   <extension
-         id="PropertiesFileDocumentSetupParticipant"
-         name="%propertiesFileDocumentSetupParticipant"
-         point="org.eclipse.core.filebuffers.documentSetup">
-      <participant
-            contentTypeId="org.eclipse.jdt.core.javaProperties"
-            class="org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertiesFileDocumentSetupParticipant">
-      </participant>
-   </extension>
-
-   <extension
-         point="org.eclipse.ui.workbench.texteditor.hyperlinkDetectorTargets">
-      <target
-            id="org.eclipse.jdt.ui.javaCode"
-            name="%JavaEditorHyperlinkTarget">
-            <context type="org.eclipse.ui.texteditor.ITextEditor"/>
-      </target>
-      <target
-            id="org.eclipse.jdt.ui.PropertiesFileEditor"
-            name="%PropertiesFileEditorHyperlinkTarget">
-            <context type="org.eclipse.ui.texteditor.ITextEditor"/>
-      </target>
-   </extension>
-
-   <extension
-         point="org.eclipse.ui.workbench.texteditor.hyperlinkDetectors">
-      <hyperlinkDetector
-            class="org.eclipse.jdt.internal.ui.javaeditor.NLSKeyHyperlinkDetector"
-            id="org.eclipse.jdt.internal.ui.javaeditor.NLSKeyHyperlinkDetector"
-            name="%NLSHyperlinkDetector"
-            modifierKeys="M1+M3"
-            targetId="org.eclipse.jdt.ui.javaCode">
-      </hyperlinkDetector>
-      <hyperlinkDetector
-            class="org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkDetector"
-            id="org.eclipse.jdt.internal.ui.javaeditor.JavaElementHyperlinkDetector"
-            name="%JavaElementHyperlinkDetector"
-            targetId="org.eclipse.jdt.ui.javaCode">
-      </hyperlinkDetector>
-      <hyperlinkDetector
-            class="org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertyKeyHyperlinkDetector"
-            id="org.eclipse.jdt.internal.ui.propertiesfileeditor.PropertyKeyHyperlinkDetector"
-            name="%PropertyKeyHyperlinkDetector"
-            targetId="org.eclipse.jdt.ui.PropertiesFileEditor">
-      </hyperlinkDetector>
-   </extension>
-
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%javaPrefName"
-            class="org.eclipse.jdt.internal.ui.preferences.JavaBasePreferencePage"
-            id="org.eclipse.jdt.ui.preferences.JavaBasePreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.general"/>
-      </page>
-      <page
-            name="%appearancePrefName"
-            category="org.eclipse.jdt.ui.preferences.JavaBasePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.AppearancePreferencePage"
-            id="org.eclipse.jdt.ui.preferences.AppearancePreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.appearance"/>
-      </page>
-      <page
-            name="%codeStylePreferencePageName"
-            category="org.eclipse.jdt.ui.preferences.JavaBasePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.CodeStylePreferencePage"
-            id="org.eclipse.jdt.ui.preferences.CodeStylePreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.codestyle"/>
-      </page>
-      <page
-            name="%organizeImportsPrefName"
-            category="org.eclipse.jdt.ui.preferences.CodeStylePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.ImportOrganizePreferencePage"
-            id="org.eclipse.jdt.ui.preferences.ImportOrganizePreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.organizeimports"/>
-      </page>
-      <page
-            name="%typeFilterPrefName"
-            category="org.eclipse.jdt.ui.preferences.AppearancePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.TypeFilterPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.TypeFilterPreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.typefilter"/>
-      </page>
-      <page
-            name="%codeFormatterPrefName"
-            category="org.eclipse.jdt.ui.preferences.CodeStylePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.CodeFormatterPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.CodeFormatterPreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.formatter"/>
-      </page>
-      <page
-            name="%cleanUpPrefName"
-            category="org.eclipse.jdt.ui.preferences.CodeStylePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.CleanUpPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.CleanUpPreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.cleanup"/>
-      </page>
-      <page
-            name="%buildPathPrefName"
-            category="org.eclipse.jdt.ui.preferences.JavaBasePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.NewJavaProjectPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.BuildPathPreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.buildpathoptions"/>
-      </page>      
-      <page
-            name="%classPathVarPrefName"
-            category="org.eclipse.jdt.ui.preferences.BuildPathPreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.ClasspathVariablesPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.ClasspathVariablesPreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.cpvars"/>
-      </page>
-      <page
-            name="%userLibrariesPrefName"
-            category="org.eclipse.jdt.ui.preferences.BuildPathPreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.UserLibraryPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.UserLibraryPreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.userlibs"/>
-      </page>      
-      <page
-            name="%editorPrefName"
-            category="org.eclipse.jdt.ui.preferences.JavaBasePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.JavaEditorPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.JavaEditorPreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.javaeditor"/>
-      </page>
-      <page
-            name="%propertiesFileEditorPrefName"
-            category="org.eclipse.jdt.ui.preferences.JavaBasePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.PropertiesFileEditorPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.PropertiesFileEditorPreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.propertieseditor"/>
-      </page>
-      
-      <page
-            name="%compliancePrefName"
-            category="org.eclipse.jdt.ui.preferences.JavaBasePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.CompliancePreferencePage"
-            id="org.eclipse.jdt.ui.preferences.CompliancePreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.compliance"/>
-      </page>
-      <page
-            name="%problemSeveritiesPrefName"
-            category="org.eclipse.jdt.ui.preferences.CompliancePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.ProblemSeveritiesPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.ProblemSeveritiesPreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.severities"/>
-      </page>
-            <page
-            name="%javadocProblemsPrefName"
-            category="org.eclipse.jdt.ui.preferences.CompliancePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.JavadocProblemsPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.JavadocProblemsPreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.javadocproblems"/>
-      </page>
-      <page
-            name="%javaBuildPrefName"
-            category="org.eclipse.jdt.ui.preferences.CompliancePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.JavaBuildPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.JavaBuildPreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.building"/>
-      </page>
-      <page
-            name="%todoTaskPrefName"
-            category="org.eclipse.jdt.ui.preferences.CompliancePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.TodoTaskPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.TodoTaskPreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.todo"/>
-      </page>
-      <page
-            name="%templatePageName"
-            category="org.eclipse.jdt.ui.preferences.JavaEditorPreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.JavaTemplatePreferencePage"
-            id="org.eclipse.jdt.ui.preferences.JavaTemplatePreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.templates"/>
-      </page>
-      <page
-            name="%contentAssistPageName"
-            category="org.eclipse.jdt.ui.preferences.JavaEditorPreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.CodeAssistPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.CodeAssistPreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.contentassist"/>
-      </page>
-      <page
-            name="%contentAssistAdvancedName"
-            category="org.eclipse.jdt.ui.preferences.CodeAssistPreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.CodeAssistAdvancedPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.CodeAssistPreferenceAdvanced">
-            <keywordReference id="org.eclipse.jdt.ui.contentassist"/>
-      </page>
-      <page
-            name="%contentAssistFavoritesName"
-            category="org.eclipse.jdt.ui.preferences.CodeAssistPreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.CodeAssistFavoritesPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.CodeAssistPreferenceFavorites">
-            <keywordReference id="org.eclipse.jdt.ui.contentassist"/>
-      </page>
-      <page
-            name="%editorHoversPageName"
-            category="org.eclipse.jdt.ui.preferences.JavaEditorPreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.JavaEditorHoverPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.JavaEditorHoverPreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.hover"/>
-      </page>
-      <page
-            name="%editorSyntaxColoringPage"
-            category="org.eclipse.jdt.ui.preferences.JavaEditorPreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.JavaEditorColoringPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.JavaEditorColoringPreferencePage">
-         <keywordReference id="org.eclipse.jdt.ui.syntaxcoloring"/>
-      </page>
-      <page
-            name="%editorFoldingPage"
-            category="org.eclipse.jdt.ui.preferences.JavaEditorPreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.FoldingPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.FoldingPreferencePage">
-         <keywordReference id="org.eclipse.jdt.ui.folding"/>
-      </page>
-      <page
-            name="%editorMarkOccurrencesPage"
-            category="org.eclipse.jdt.ui.preferences.JavaEditorPreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.MarkOccurrencesPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.MarkOccurrencesPreferencePage">
-         <keywordReference id="org.eclipse.jdt.ui.markoccurrences"/>
-      </page>
-      <page
-            name="%editorTypingPage"
-            category="org.eclipse.jdt.ui.preferences.JavaEditorPreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.SmartTypingPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.SmartTypingPreferencePage">
-         <keywordReference id="org.eclipse.jdt.ui.smarttyping"/>
-      </page>
-      <page
-            name="%editorSaveParticipants"
-            category="org.eclipse.jdt.ui.preferences.JavaEditorPreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.SaveParticipantPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.SaveParticipantPreferencePage">
-         <keywordReference id="org.eclipse.jdt.ui.saveparticipant"/>
-      </page>
-
-      <page
-            name="%codeTemplatePreferencePageName"
-            category="org.eclipse.jdt.ui.preferences.CodeStylePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.CodeTemplatePreferencePage"
-            id="org.eclipse.jdt.ui.preferences.CodeTemplatePreferencePage">
-            <keywordReference id="org.eclipse.jdt.ui.codetemplates"/>
-      </page>
-      <page
-            name="%memberSortPrefName"
-            category="org.eclipse.jdt.ui.preferences.AppearancePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.MembersOrderPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.MembersOrderPreferencePage">
-         <keywordReference id="org.eclipse.jdt.ui.sortorder"/>
-      </page>
-   </extension>
-   
-   <extension
-   		point="org.eclipse.ui.keywords">
-      <keyword
-            label="%preferenceKeywords.general"
-            id="org.eclipse.jdt.ui.general"/>
-      <keyword
-            label="%preferenceKeywords.appearance"
-            id="org.eclipse.jdt.ui.appearance"/>
-      <keyword
-            label="%preferenceKeywords.sortorder"
-            id="org.eclipse.jdt.ui.sortorder"/>
-      <keyword
-            label="%preferenceKeywords.typefilter"
-            id="org.eclipse.jdt.ui.typefilter"/>
-      <keyword
-            label="%preferenceKeywords.buildpathoptions"
-            id="org.eclipse.jdt.ui.buildpathoptions"/>
-      <keyword
-            label="%preferenceKeywords.buildpath"
-            id="org.eclipse.jdt.ui.buildpath"/>      
-      <keyword
-            label="%preferenceKeywords.cpvars"
-            id="org.eclipse.jdt.ui.cpvars"/>
-      <keyword
-            label="%preferenceKeywords.userlibs"
-            id="org.eclipse.jdt.ui.userlibs"/>
-      <keyword
-            label="%preferenceKeywords.codestyle"
-            id="org.eclipse.jdt.ui.codestyle"/>
-      <keyword
-            label="%preferenceKeywords.codetemplates"
-            id="org.eclipse.jdt.ui.codetemplates"/>
-      <keyword
-            label="%preferenceKeywords.formatter"
-            id="org.eclipse.jdt.ui.formatter"/>  
-      <keyword
-            label="%preferenceKeywords.cleanup"
-            id="org.eclipse.jdt.ui.cleanup"/>     
-      <keyword
-            label="%preferenceKeywords.organizeimports"
-            id="org.eclipse.jdt.ui.organizeimports"/>
-      <keyword
-            label="%preferenceKeywords.compliance"
-            id="org.eclipse.jdt.ui.compliance"/>      
-      <keyword
-            label="%preferenceKeywords.building"
-            id="org.eclipse.jdt.ui.building"/>
-      <keyword
-            label="%preferenceKeywords.severities"
-            id="org.eclipse.jdt.ui.severities"/>      
-      <keyword
-            label="%preferenceKeywords.javadocproblems"
-            id="org.eclipse.jdt.ui.javadocproblems"/>   
-      <keyword
-            label="%preferenceKeywords.todo"
-            id="org.eclipse.jdt.ui.todo"/>            
-      <keyword
-            label="%preferenceKeywords.javaeditor"
-            id="org.eclipse.jdt.ui.javaeditor"/>      
-      <keyword
-            label="%preferenceKeywords.contentassist"
-            id="org.eclipse.jdt.ui.contentassist"/>   
-      <keyword
-            label="%preferenceKeywords.hover"
-            id="org.eclipse.jdt.ui.hover"/>
-      <keyword
-            label="%preferenceKeywords.syntaxcoloring"
-            id="org.eclipse.jdt.ui.syntaxcoloring"/>   
-      <keyword
-            label="%preferenceKeywords.templates"
-            id="org.eclipse.jdt.ui.templates"/>
-      <keyword
-            label="%preferenceKeywords.propertieseditor"
-            id="org.eclipse.jdt.ui.propertieseditor"/>
-      <keyword
-            label="%preferenceKeywords.folding"
-            id="org.eclipse.jdt.ui.folding"/>
-      <keyword
-            label="%preferenceKeywords.markoccurrences"
-            id="org.eclipse.jdt.ui.markoccurrences"/>
-      <keyword
-            label="%preferenceKeywords.smarttyping"
-            id="org.eclipse.jdt.ui.smarttyping"/>
-     <keyword
-            label="%preferenceKeywords.saveparticipant"
-            id="org.eclipse.jdt.ui.saveparticipant"/>
-   </extension>  
-<!-- =========================================================================== -->
-<!-- Work in Progress                                                            -->
-<!-- =========================================================================== -->
-<!--
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%workInProgress.name"
-            category="org.eclipse.jdt.ui.preferences.JavaBasePreferencePage"
-            class="org.eclipse.jdt.internal.ui.preferences.WorkInProgressPreferencePage"
-            id="org.eclipse.jdt.ui.preferences.WorkInProgressPreferencePage">
-      </page>
-   </extension>
--->
-<!-- =========================================================================== -->
-<!-- END Work in Progress                                                        -->
-<!-- =========================================================================== -->
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%JavaElementCreationActionSet.label"
-            description="%JavaElementCreationActionSet.description"
-            visible="false"
-            id="org.eclipse.jdt.ui.JavaElementCreationActionSet">
-         <action
-               id="org.eclipse.jdt.ui.actions.NewTypeDropDown"
-               toolbarPath="Normal/JavaWizards"
-               class="org.eclipse.jdt.internal.ui.wizards.NewTypeDropDownAction"
-               disabledIcon="$nl$/icons/full/dtool16/newclass_wiz.gif"
-               icon="$nl$/icons/full/etool16/newclass_wiz.gif"
-               label="%OpenClassWizardAction.label"
-               style="pulldown"
-               tooltip="%OpenClassWizardAction.tooltip">
-         </action>
-         <action
-               label="%OpenPackageWizardAction.label"
-               icon="$nl$/icons/full/etool16/newpack_wiz.gif"
-               tooltip="%OpenPackageWizardAction.tooltip"
-               class="org.eclipse.jdt.internal.ui.wizards.OpenPackageWizardToolbarAction"
-               toolbarPath="Normal/JavaWizards"
-               id="org.eclipse.jdt.ui.actions.OpenPackageWizard">
-         </action>
-         <action
-               label="%OpenProjectWizardAction.label"
-               icon="$nl$/icons/full/etool16/newjprj_wiz.gif"
-               tooltip="%OpenProjectWizardAction.tooltip"
-               class="org.eclipse.jdt.internal.ui.wizards.OpenJavaProjectWizardToolbarAction"
-               toolbarPath="Normal/JavaWizards"
-               id="org.eclipse.jdt.ui.actions.OpenProjectWizard">
-         </action>
-      </actionSet>
-   </extension>
-<!-- =========================================================================== -->
-<!-- Java Search Page                                                            -->
-<!-- =========================================================================== -->
-   <extension
-         point="org.eclipse.search.searchPages">
-      <page
-            showScopeSection="true"
-            canSearchEnclosingProjects="true"
-            label="%JavaSearchPage.label"
-            icon="$nl$/icons/full/obj16/jsearch_obj.gif"
-            extensions="java:90, jav:90"
-            class="org.eclipse.jdt.internal.ui.search.JavaSearchPage"
-            sizeHint="460,160"
-            id="org.eclipse.jdt.ui.JavaSearchPage">
-      </page>
-   </extension>
-   
-   <extension
-    	id="JavaSearchResultPage"
-        point="org.eclipse.search.searchResultViewPages">
-		<viewPage
-			id="org.eclipse.jdt.ui.JavaSearchResultPage"
-			searchResultClass="org.eclipse.jdt.internal.ui.search.JavaSearchResult"
-			class="org.eclipse.jdt.internal.ui.search.JavaSearchResultPage">
-		</viewPage>
-   </extension>
-   <extension
-    	id="OccurrencesSearchResultPage"
-        point="org.eclipse.search.searchResultViewPages">
-		<viewPage
-			id="org.eclipse.jdt.internal.ui.search.OccurrencesSearchResultPage"
-			searchResultClass="org.eclipse.jdt.internal.ui.search.OccurrencesSearchResult"
-			class="org.eclipse.jdt.internal.ui.search.OccurrencesSearchResultPage">
-		</viewPage>
-   </extension>
-   <extension
-    	id="NLSSearchResultPage"
-        point="org.eclipse.search.searchResultViewPages">
-		<viewPage
-			id="org.eclipse.jdt.internal.ui.refactoring.nls.search.NLSSearchResultPage"
-			searchResultClass="org.eclipse.jdt.internal.ui.refactoring.nls.search.NLSSearchResult"
-			class="org.eclipse.jdt.internal.ui.refactoring.nls.search.NLSSearchResultPage">
-		</viewPage>
-   </extension>
-  
-<!-- =========================================================================== -->
-<!-- Java Compare                                                                -->
-<!-- =========================================================================== -->
-   <extension
-         point="org.eclipse.ui.themes">
-      <fontDefinition
-            label="%javaCompareFontDefiniton.label"
-            defaultsTo="org.eclipse.jdt.ui.editors.textfont"
-            categoryId="org.eclipse.compare.contentmergeviewer.TextMergeViewer"
-            id="org.eclipse.jdt.internal.ui.compare.JavaMergeViewer">
-         <description>
-            %javaCompareFontDefiniton.description
-         </description>
-      </fontDefinition>
-      <fontDefinition
-            label="%propertiesFileCompareFontDefiniton.label"
-            defaultsTo="org.eclipse.jdt.ui.PropertiesFileEditor.textfont"
-            categoryId="org.eclipse.compare.contentmergeviewer.TextMergeViewer"
-            id="org.eclipse.jdt.internal.ui.compare.PropertiesFileMergeViewer">
-         <description>
-            %propertiesFileCompareFontDefiniton.description
-         </description>
-      </fontDefinition>
-   </extension>
-   
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.jdt.core.IMember"
-            id="org.eclipse.jdt.internal.ui.compare.JavaReplaceActions">
-         <menu
-               label="%ReplaceWithMenu.label"
-               path="additions"
-               id="replaceWithMenu">
-            <separator
-                  name="replaceWithGroup">
-            </separator>
-         </menu>
-         <action
-               label="%JavaReplaceFromHistoryAction.label"
-               overrideActionId="replaceFromHistory"
-               tooltip="%JavaReplaceFromHistoryAction.tooltip"
-               class="org.eclipse.jdt.internal.ui.compare.JavaReplaceWithEditionAction"
-               menubarPath="replaceWithMenu/replaceWithGroup"
-               enablesFor="1"
-               id="javaReplaceFromHistory">
-         </action>
-         <action
-               label="%JavaReplaceWithPreviousFromHistoryAction.label"
-               overrideActionId="replaceWithPreviousFromHistory"
-               tooltip="%JavaReplaceWithPreviousFromHistoryAction.tooltip"
-               class="org.eclipse.jdt.internal.ui.compare.JavaReplaceWithPreviousEditionAction"
-               menubarPath="replaceWithMenu/replaceWithGroup"
-               enablesFor="1"
-               id="javaReplacePreviousFromHistory">
-         </action>
-         <action
-               label="%JavaAddElementFromHistoryAction.label"
-               overrideActionId="addFromHistoryAction"
-               tooltip="%JavaAddElementFromHistoryAction.tooltip"
-               class="org.eclipse.jdt.internal.ui.compare.JavaAddElementFromHistory"
-               menubarPath="replaceWithMenu"
-               enablesFor="1"
-               id="javaAddElementFromHistoryAction">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.jdt.core.IMember"
-            id="org.eclipse.jdt.internal.ui.compare.JavaCompareActions">
-         <menu
-               label="%CompareWithMenu.label"
-               path="additions"
-               id="compareWithMenu">
-            <separator
-                  name="compareWithGroup">
-            </separator>
-         </menu>
-         <action
-               label="%JavaCompareFromHistoryAction.label"
-               overrideActionId="compareWithHistory"
-               tooltip="%JavaCompareFromHistoryAction.tooltip"
-               class="org.eclipse.jdt.internal.ui.compare.JavaCompareWithEditionAction"
-               menubarPath="compareWithMenu/compareWithGroup"
-               enablesFor="1"
-               id="javaCompareFromHistory">
-         </action>
-         <action
-               label="%JavaCompareAction.label"
-               tooltip="%JavaCompareAction.tooltip"
-               class="org.eclipse.jdt.internal.ui.compare.JavaCompareAction"
-               menubarPath="compareWithMenu/compareWithGroup"
-               enablesFor="1"
-               id="javaCompare">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.jdt.core.ICompilationUnit"
-            id="org.eclipse.jdt.internal.ui.compare.JavaAddElementFromHistoryAction">
-         <action
-               label="%JavaAddElementFromHistoryAction.label"
-               overrideActionId="addFromHistoryAction"
-               tooltip="%JavaAddElementFromHistoryAction.tooltip"
-               class="org.eclipse.jdt.internal.ui.compare.JavaAddElementFromHistory"
-               menubarPath="replaceWithMenu"
-               enablesFor="1"
-               id="javaAddElementFromHistoryAction">
-         </action>
-      </objectContribution>
-   </extension>
-   <extension
-         point="org.eclipse.compare.structureCreators">
-      <structureCreator
-            extensions="jar"
-            class="org.eclipse.jdt.internal.ui.compare.JarStructureCreator"
-            id="org.eclipse.jdt.internal.ui.compare.JarStructureCreator">
-      </structureCreator>
-      <structureCreator
-            extensions="java"
-            class="org.eclipse.jdt.internal.ui.compare.JavaStructureCreator"
-            id="org.eclipse.jdt.internal.ui.compare.JavaStructureCreator">
-      </structureCreator>
-      <structureCreator
-            class="org.eclipse.jdt.internal.ui.compare.PropertiesStructureCreator"
-            id="org.eclipse.jdt.internal.ui.compare.PropertiesStructureCreator">
-      </structureCreator>
-      <contentTypeBinding
-			contentTypeId="org.eclipse.jdt.core.javaProperties"
-            structureCreatorId="org.eclipse.jdt.internal.ui.compare.PropertiesStructureCreator">
-	  </contentTypeBinding>
-   </extension>
-   <extension
-         point="org.eclipse.compare.contentViewers">
-      <viewer
-            extensions="java,java2"
-            class="org.eclipse.jdt.internal.ui.compare.JavaTextViewerCreator"
-            id="org.eclipse.jdt.internal.ui.compare.JavaTextViewerCreator">
-      </viewer>
-      <contentTypeBinding
-			contentTypeId="org.eclipse.jdt.core.javaSource"
-            contentViewerId="org.eclipse.jdt.internal.ui.compare.JavaTextViewerCreator">
-	  </contentTypeBinding>
-   </extension>
-   <extension
-         point="org.eclipse.compare.contentViewers">
-      <viewer
-            extensions="properties,properties2"
-            class="org.eclipse.jdt.internal.ui.compare.PropertiesFileViewerCreator"
-            id="org.eclipse.jdt.internal.ui.compare.PropertiesFileViewerCreator">
-      </viewer>
-      <contentTypeBinding
-			contentTypeId="org.eclipse.jdt.core.javaProperties"
-            contentViewerId="org.eclipse.jdt.internal.ui.compare.PropertiesFileViewerCreator">
-	  </contentTypeBinding>
-   </extension>
-   <extension
-         point="org.eclipse.compare.contentMergeViewers">
-      <viewer
-            extensions="java,java2"
-            class="org.eclipse.jdt.internal.ui.compare.JavaContentViewerCreator"
-            id="org.eclipse.jdt.internal.ui.compare.JavaContentViewerCreator">
-      </viewer>
-      <contentTypeBinding
-			contentTypeId="org.eclipse.jdt.core.javaSource"
-            contentMergeViewerId="org.eclipse.jdt.internal.ui.compare.JavaContentViewerCreator">
-	  </contentTypeBinding>
-   </extension>
-   <extension
-         point="org.eclipse.compare.contentMergeViewers">
-      <viewer
-            extensions="properties,properties2"
-            class="org.eclipse.jdt.internal.ui.compare.PropertiesFileMergeViewerCreator"
-            id="org.eclipse.jdt.internal.ui.compare.PropertiesFileMergeViewerCreator">
-      </viewer>
-      <contentTypeBinding
-			contentTypeId="org.eclipse.jdt.core.javaProperties"
-            contentMergeViewerId="org.eclipse.jdt.internal.ui.compare.PropertiesFileMergeViewerCreator">
-	  </contentTypeBinding>
-   </extension>
-   <extension
-         point="org.eclipse.compare.structureMergeViewers">
-      <viewer
-            extensions="java"
-            class="org.eclipse.jdt.internal.ui.compare.JavaStructureDiffViewerCreator"
-            id="org.eclipse.jdt.internal.ui.compare.JavaStructureDiffViewerCreator">
-      </viewer>
-   </extension>
-<!-- End Java Compare -->
-<!-- =========================================================================== -->
-<!-- Java Launching and debugging                                                -->
-<!-- =========================================================================== -->
-   <extension
-         point="org.eclipse.ui.ide.resourceFilters">
-      <filter
-            selected="false"
-            pattern="*.class">
-      </filter>
-   </extension>
-   
-<!-- =========================================================================== -->
-<!-- Export wizard category                                                      -->
-<!-- =========================================================================== -->
-   <extension
-         point="org.eclipse.ui.exportWizards">
-      <category
-	     name="%importExportWizards.category"
-	     id="org.eclipse.jdt.ui.Java">
-	  </category>
-   </extension>
-   
-<!-- =========================================================================== -->
-<!-- JAR Packager                                                                -->
-<!-- =========================================================================== -->
-   <extension
-         point="org.eclipse.ui.exportWizards">
-      <wizard
-            name="%jarExportWizard.label"
-            icon="$nl$/icons/full/etool16/exportjar_wiz.gif"
-            class="org.eclipse.jdt.internal.ui.jarpackager.JarPackageWizard"
-            category="org.eclipse.jdt.ui.Java"
-            id="org.eclipse.jdt.internal.ui.jarpackager.JarPackageWizard">
-         <description>
-            %jarExportWizard.description
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IResource">
-         </selection>
-      </wizard>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IResource"
-            nameFilter="*.jardesc"
-            id="org.eclipse.jdt.internal.ui.jarpackager.RunJarPackager">
-         <action
-               label="%createJarAction.label"
-               tooltip="%createJarAction.tooltip"
-               class="org.eclipse.jdt.internal.ui.jarpackager.CreateJarActionDelegate"
-               menubarPath="additions"
-               enablesFor="+"
-               id="CreateJar">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IResource"
-            nameFilter="*.jardesc"
-            id="org.eclipse.jdt.internal.ui.jarpackager.RunJarPackager">
-         <action
-               label="%openJarPackager.label"
-               tooltip="%openJarPackager.tooltip"
-               class="org.eclipse.jdt.internal.ui.jarpackager.OpenJarPackageWizardActionDelegate"
-               menubarPath="additions"
-               enablesFor="1"
-               id="OpenJarPackageWizard">
-         </action>
-      </objectContribution>
-   </extension>
-<!-- =========================================================================== -->
-<!-- Javadoc Export                                                              -->
-<!-- =========================================================================== -->
-   <extension
-         point="org.eclipse.ui.exportWizards">
-<!-- Change to necessary NLS -->
-      <wizard
-            name="%JavadocWizard.name"
-            icon="$nl$/icons/full/etool16/javadoc.gif"
-            class="org.eclipse.jdt.internal.ui.javadocexport.JavadocWizard"
-            category="org.eclipse.jdt.ui.Java"
-            id="org.eclipse.jdt.internal.ui.javadocexport.JavadocWizard">
-         <description>
-            %JavadocWizard.description
-         </description>
-         <selection
-               class="org.eclipse.core.resources.IProject">
-         </selection>
-      </wizard>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-       <objectContribution
-	        adaptable="true"
-            objectClass="org.eclipse.core.resources.IFile"
-            nameFilter="*.xml"
-            id="org.eclipse.jdt.internal.ui.javadocexport.JavadocWizard">
-         <visibility>
-            <objectState name="contentTypeId" value="org.eclipse.ant.core.antBuildFile"/>
-         </visibility>
-          <action
-               label="%CreateJavadocAction.label"
-               tooltip="%CreateJavadocAction.tooltip"
-               class="org.eclipse.jdt.internal.ui.javadocexport.CreateJavadocActionDelegate"
-               enablesFor="1"
-               id="LaunchJavadocWizard">
-         </action>
-      </objectContribution>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.consoleLineTrackers">
-      <consoleLineTracker
-            class="org.eclipse.jdt.internal.ui.javadocexport.JavadocConsoleLineTracker"
-            processType="org.eclipse.jdt.ui.javadocProcess"
-            id="org.eclipse.jdt.ui.javadocexport.JavadocConsoleLineTracker">
-      </consoleLineTracker>
-   </extension>
-   
-<!-- =========================================================================== -->
-<!-- Java Browsing 																 -->
-<!-- =========================================================================== -->
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            name="%Browsing.perspectiveName"
-            icon="$nl$/icons/full/eview16/browse_persp.gif"
-            class="org.eclipse.jdt.internal.ui.browsing.JavaBrowsingPerspectiveFactory"
-            id="org.eclipse.jdt.ui.JavaBrowsingPerspective">
-         <description>
-            %browsing.perspective.description
-         </description>
-      </perspective>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension
-            targetID="org.eclipse.ui.resourcePerspective">
-         <perspectiveShortcut
-               id="org.eclipse.jdt.ui.JavaBrowsingPerspective">
-         </perspectiveShortcut>
-      </perspectiveExtension>
-      <perspectiveExtension
-            targetID="org.eclipse.jdt.ui.JavaBrowsingPerspective">
-         <perspectiveShortcut
-               id="org.eclipse.jdt.ui.JavaBrowsingPerspective">
-         </perspectiveShortcut>
-      </perspectiveExtension>
-      <perspectiveExtension
-            targetID="org.eclipse.jdt.ui.JavaPerspective">
-         <perspectiveShortcut
-               id="org.eclipse.jdt.ui.JavaBrowsingPerspective">
-         </perspectiveShortcut>
-      </perspectiveExtension>
-      <perspectiveExtension
-            targetID="org.eclipse.jdt.ui.JavaBrowsingPerspective">
-         <perspectiveShortcut
-               id="org.eclipse.jdt.ui.JavaPerspective">
-         </perspectiveShortcut>
-      </perspectiveExtension>
-      <perspectiveExtension
-            targetID="org.eclipse.jdt.ui.JavaBrowsingPerspective">
-         <perspectiveShortcut
-               id="org.eclipse.debug.ui.DebugPerspective">
-         </perspectiveShortcut>
-      </perspectiveExtension>
-      <perspectiveExtension
-            targetID="org.eclipse.debug.ui.DebugPerspective">
-         <perspectiveShortcut
-               id="org.eclipse.jdt.ui.JavaBrowsingPerspective">
-         </perspectiveShortcut>
-      </perspectiveExtension>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%Browsing.viewCategoryName"
-            id="org.eclipse.jdt.ui.java.browsing">
-      </category>
-      <view
-            name="%Browsing.projectsViewName"
-            icon="$nl$/icons/full/eview16/projects.gif"
-            category="org.eclipse.jdt.ui.java.browsing"
-            class="org.eclipse.jdt.internal.ui.browsing.ProjectsView"
-            id="org.eclipse.jdt.ui.ProjectsView">
-      </view>
-      <view
-            name="%Browsing.packagesViewName"
-            icon="$nl$/icons/full/eview16/packages.gif"
-            category="org.eclipse.jdt.ui.java.browsing"
-            class="org.eclipse.jdt.internal.ui.browsing.PackagesView"
-            id="org.eclipse.jdt.ui.PackagesView">
-      </view>
-      <view
-            name="%Browsing.typesViewName"
-            icon="$nl$/icons/full/eview16/types.gif"
-            category="org.eclipse.jdt.ui.java.browsing"
-            class="org.eclipse.jdt.internal.ui.browsing.TypesView"
-            id="org.eclipse.jdt.ui.TypesView">
-      </view>
-      <view
-            name="%Browsing.membersViewName"
-            icon="$nl$/icons/full/eview16/members.gif"
-            category="org.eclipse.jdt.ui.java.browsing"
-            class="org.eclipse.jdt.internal.ui.browsing.MembersView"
-            id="org.eclipse.jdt.ui.MembersView">
-      </view>
-   </extension>
-<!-- =========================================================================== -->
-<!-- Java and Coding Action Set (Adding the source, refactor and navigate menu)  -->
-<!-- =========================================================================== -->
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%JavaActionSet.label"
-            description="%JavaActionSet.description"
-            visible="false"
-            id="org.eclipse.jdt.ui.JavaActionSet">
-         <action
-               definitionId="org.eclipse.jdt.ui.navigate.open.type.in.hierarchy"
-               label="%OpenTypeInHierarchyAction.label"
-               helpContextId="org.eclipse.jdt.ui.open_type_in_hierarchy_action"
-               tooltip="%OpenTypeInHierarchyAction.tooltip"
-               class="org.eclipse.jdt.internal.ui.actions.OpenTypeInHierarchyAction"
-               menubarPath="navigate/open.ext2"
-               id="openTypeInHierarchy">
-         </action>
-         <action
-               id="openType"
-               toolbarPath="org.eclipse.search.searchActionSet/Search"
-               class="org.eclipse.jdt.internal.ui.actions.OpenTypeAction"
-               definitionId="org.eclipse.jdt.ui.navigate.open.type"
-               icon="$nl$/icons/full/etool16/opentype.gif"
-               helpContextId="org.eclipse.jdt.ui.open_type_action"
-               label="%OpenTypeAction.label"
-               menubarPath="navigate/open.ext2"
-               tooltip="%OpenTypeAction.tooltip">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.generate.javadoc"
-               label="%GenerateJavadocAction.label"
-               helpContextId="org.eclipse.jdt.ui.generate_javadoc_action"
-               class="org.eclipse.jdt.internal.ui.actions.GenerateJavadocAction"
-               icon="$nl$/icons/full/etool16/javadoc.gif"
-               menubarPath="project/additions"
-               id="exportJavadoc">
-         </action>
-      </actionSet>
-   </extension>
-   
-   
-<!-- with an A_                                                                -->
-<!-- the open action set is contributed before the CodeActionSet we prefix it  -->
-<!-- Action sets are contributed after they have been sorted. To enfore that   -->
-<!-- Begin Java Open action contributions  -->
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%OpenActionSet.label"
-            description="%OpenActionSet.description"
-            visible="false"
-            id="org.eclipse.jdt.ui.A_OpenActionSet">
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.open.call.hierarchy"
-               label="%OpenCallHierarchyAction.label"
-               retarget="true"
-               menubarPath="navigate/open.ext"
-               id="org.eclipse.jdt.ui.actions.OpenCallHierarchy">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.open.type.hierarchy"
-               label="%OpenTypeHierarchyAction.label"
-               retarget="true"
-               menubarPath="navigate/open.ext"
-               id="org.eclipse.jdt.ui.actions.OpenTypeHierarchy">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.open.editor"
-               label="%OpenAction.label"
-               tooltip="%OpenAction.tooltip"
-               retarget="true"
-               menubarPath="navigate/open.ext"
-               allowLabelUpdate="true"
-               id="org.eclipse.jdt.ui.actions.Open">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSetPartAssociations">
-      <actionSetPartAssociation
-            targetID="org.eclipse.jdt.ui.A_OpenActionSet">
-         <part
-               id="org.eclipse.search.SearchResultView">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.PackageExplorer">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.TypeHierarchy">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.CompilationUnitEditor">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.ClassFileEditor">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.PropertiesFileEditor">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.ProjectsView">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.PackagesView">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.TypesView">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.MembersView">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.SourceView">
-         </part>
-      </actionSetPartAssociation>
-   </extension>
-<!-- End Java Open action contributions  -->
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%CodingActionSet.label"
-            description="%CodingActionSet.description"
-            visible="false"
-            id="org.eclipse.jdt.ui.CodingActionSet">
-
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.copy.qualified.name"
-               label="%CopyQualifiedName.label"
-               retarget="true"
-               menubarPath="edit/copy"
-               icon="$nl$/icons/full/elcl16/cpyqual_menu.gif"
-               id="org.eclipse.jdt.ui.actions.CopyQualifiedName">
-         </action>
-<!-- =========================================================================== -->
-<!-- Navigate Menu                                                               -->
-<!-- =========================================================================== -->
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.open.external.javadoc"
-               label="%OpenExternalJavadocAction.label"
-               retarget="true"
-               menubarPath="navigate/open.ext"
-               id="org.eclipse.jdt.ui.actions.OpenExternalJavaDoc">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.open.super.implementation"
-               label="%OpenSuperImplementationAction.label"
-               tooltip="%OpenSuperImplementationAction.tooltip"
-               retarget="true"
-               menubarPath="navigate/open.ext"
-               id="org.eclipse.jdt.ui.actions.OpenSuperImplementation">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.navigate.gotopackage"
-               label="%GoToPackageAction.label"
-               retarget="true"
-               menubarPath="navigate/goTo/"
-               id="org.eclipse.jdt.ui.actions.GoToPackage">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.navigate.gototype"
-               label="%GoToTypeAction.label"
-               retarget="true"
-               menubarPath="navigate/goTo/"
-               id="org.eclipse.jdt.ui.actions.GoToType">
-         </action>
-<!-- =========================================================================== -->
-<!-- Refactoring Menu                                                            -->
-<!-- =========================================================================== -->
-         <menu
-               label="%Refactoring.menu.label"
-               path="edit"
-               id="org.eclipse.jdt.ui.refactoring.menu">
-            <separator name="undoRedoGroup"/>
-            <separator name="reorgGroup"/>
-            <separator name="codingGroup"/>
-            <separator name="reorgGroup2"/>
-            <separator name="typeGroup"/>
-            <separator name="codingGroup2"/>
-            <separator name="typeGroup2"/>
-            <separator name="scriptGroup"/>
-         </menu>
-         
-<!-- reorg group  -->
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.move.element"
-               label="%Refactoring.moveAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/reorgGroup"
-               id="org.eclipse.jdt.ui.actions.Move">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.rename.element"
-               label="%Refactoring.renameAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/reorgGroup"
-               id="org.eclipse.jdt.ui.actions.Rename">
-         </action>
-         
-<!-- coding group  -->         
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.inline"
-               label="%Refactoring.inlineAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/codingGroup"
-               id="org.eclipse.jdt.ui.actions.Inline">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.extract.constant"
-               label="%Refactoring.extractConstantAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/codingGroup"
-               id="org.eclipse.jdt.ui.actions.ExtractConstant">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.extract.local.variable"
-               label="%Refactoring.extractTempAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/codingGroup"
-               id="org.eclipse.jdt.ui.actions.ExtractTemp">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.extract.method"
-               label="%Refactoring.extractMethodAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/codingGroup"
-               id="org.eclipse.jdt.ui.actions.ExtractMethod">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.modify.method.parameters"
-               label="%Refactoring.modifyParametersAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/codingGroup"
-               id="org.eclipse.jdt.ui.actions.ModifyParameters">
-         </action>
-         
-<!-- reorg group 2 -->
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.promote.local.variable"
-               label="%Refactoring.convertLocalToFieldAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/reorgGroup2"
-               id="org.eclipse.jdt.ui.actions.ConvertLocalToField">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.move.inner.to.top.level"
-               label="%Refactoring.convertNestedToTopAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/reorgGroup2"
-               id="org.eclipse.jdt.ui.actions.ConvertNestedToTop">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.convert.anonymous.to.nested"
-               label="%Refactoring.convertAnonymousToNestedAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/reorgGroup2"
-               id="org.eclipse.jdt.ui.actions.ConvertAnonymousToNested">
-         </action>
-         
-         
-         
-<!-- type group  -->
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.pull.up"
-               label="%Refactoring.pullUpAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/typeGroup"
-               id="org.eclipse.jdt.ui.actions.PullUp">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.push.down"
-               label="%Refactoring.pushDownAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/typeGroup"
-               id="org.eclipse.jdt.ui.actions.PushDown">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.use.supertype"
-               label="%Refactoring.useSupertypeAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/typeGroup"
-               id="org.eclipse.jdt.ui.actions.UseSupertype">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.extract.interface"
-               label="%Refactoring.extractInterfaceAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/typeGroup"
-               id="org.eclipse.jdt.ui.actions.ExtractInterface">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.extract.superclass"
-               label="%Refactoring.extractSupertypeAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/typeGroup"
-               id="org.eclipse.jdt.ui.actions.ExtractSuperclass">
-         </action>
-         
-<!-- coding group 2  -->
-<!--         
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.replace.invocations"
-               label="%Refactoring.replaceInvocationsAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/codingGroup2"
-               id="org.eclipse.jdt.ui.actions.ReplaceInvocations">
-         </action>
--->
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.self.encapsulate.field"
-               label="%Refactoring.selfEncapsulateFieldAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/codingGroup2"
-               id="org.eclipse.jdt.ui.actions.SelfEncapsulateField">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.introduce.parameter"
-               label="%Refactoring.introduceParameterAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/codingGroup2"
-               id="org.eclipse.jdt.ui.actions.IntroduceParameter">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.introduce.factory"
-               label="%Refactoring.introduceFactoryAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/codingGroup2"
-               id="org.eclipse.jdt.ui.actions.IntroduceFactory">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.introduce.indirection"
-               label="%Refactoring.introduceIndirectionAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/codingGroup2"
-               id="org.eclipse.jdt.ui.actions.IntroduceIndirection">
-         </action>
-
-<!-- type group 2 -->
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.infer.type.arguments"
-               label="%Refactoring.inferTypeArgumentsAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/typeGroup2"
-               id="org.eclipse.jdt.ui.actions.InferTypeArguments">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.change.type"
-               label="%Refactoring.changeTypeAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/typeGroup2"
-               id="org.eclipse.jdt.ui.actions.ChangeType">
-         </action>
-
-<!-- script group  -->
-        <action
-              class="org.eclipse.jdt.internal.ui.refactoring.actions.ShowRefactoringHistoryAction"
-              definitionId="org.eclipse.ltk.ui.refactor.show.refactoring.history"
-              id="org.eclipse.ltk.ui.actions.ShowRefactoringHistory"
-              label="%Refactoring.showHistory.label"
-              menubarPath="org.eclipse.jdt.ui.refactoring.menu/scriptGroup"/>         
-        <action
-               class="org.eclipse.jdt.internal.ui.refactoring.actions.ApplyRefactoringScriptAction"
-               definitionId="org.eclipse.ltk.ui.refactor.apply.refactoring.script"
-               id="org.eclipse.ltk.ui.actions.ApplyRefactoringStript"
-               label="%Refactoring.applyScript.label"
-               menubarPath="org.eclipse.jdt.ui.refactoring.menu/scriptGroup"/>
-        <action
-              class="org.eclipse.jdt.internal.ui.refactoring.actions.CreateRefactoringScriptAction"
-              definitionId="org.eclipse.ltk.ui.refactor.create.refactoring.script"
-              id="org.eclipse.ltk.ui.actions.CreateRefactoringScript"
-              label="%Refactoring.createScript.label"
-              menubarPath="org.eclipse.jdt.ui.refactoring.menu/scriptGroup"/>
-        <action
-              class="org.eclipse.jdt.internal.ui.refactoring.actions.MigrateJarFileAction"
-              definitionId="org.eclipse.jdt.ui.refactor.migrate.jar"
-              id="org.eclipse.jdt.ui.actions.MigrateJarFile"
-              label="%Refactoring.migrateJar.label"
-              menubarPath="org.eclipse.jdt.ui.refactoring.menu/scriptGroup"/>
-         
-<!-- =========================================================================== -->
-<!-- Source Menu                                                                 -->
-<!-- =========================================================================== -->
-         <menu
-               label="%SourceMenu.label"
-               path="edit"
-               id="org.eclipse.jdt.ui.source.menu">
-		    <separator
-                  name="commentGroup">
-            </separator>
-            <separator
-                  name="editGroup">
-            </separator>
-            <separator
-                  name="importGroup">
-            </separator>
-            <separator
-                  name="generateGroup">
-            </separator>
-            <separator
-                  name="codeGroup">
-            </separator>
-            <separator
-                  name="externalizeGroup">
-            </separator>
-            <separator
-                  name="convertGroup">
-            </separator>
-         </menu>
-<!-- Externalize Group -->
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.find.broken.nls.keys"
-               label="%FindNLSProblems.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/externalizeGroup"
-               id="org.eclipse.jdt.ui.actions.FindNLSProblems">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.externalize.strings"
-               label="%ExternalizeStringsAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/externalizeGroup"
-               id="org.eclipse.jdt.ui.actions.ExternalizeStrings">
-         </action>
-<!-- Code Group -->
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.surround.with.quickMenu"
-               label="%SurroundWithTemplateAction.label"
-               style="pulldown"
-               class="org.eclipse.jdt.internal.ui.actions.SurroundWithTemplateMenuAction"
-               menubarPath="org.eclipse.jdt.ui.source.menu/codeGroup"
-               id="org.eclipse.jdt.internal.ui.actions.SurroundWithTemplateMenuAction">
-         </action>
-<!-- Generate Group -->
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.add.unimplemented.constructors"
-               label="%AddConstructorFromSuperclassAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/generateGroup"
-               id="org.eclipse.jdt.ui.actions.AddConstructorFromSuperclass">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.generate.constructor.using.fields"
-               label="%GenerateConstructorUsingFieldsAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/generateGroup"
-               id="org.eclipse.jdt.ui.actions.GenerateConstructorUsingFields">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.generate.hashcode.equals"
-               label="%GenerateHashCodeEqualsAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/generateGroup"
-               id="org.eclipse.jdt.ui.actions.GenerateHashCodeEquals">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.create.delegate.methods"
-               label="%GenerateDelegateMethodsAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/generateGroup"
-               id="org.eclipse.jdt.ui.actions.GenerateDelegateMethods">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.create.getter.setter"
-               label="%GenerateGetterSetterAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/generateGroup"
-               id="org.eclipse.jdt.ui.actions.GenerateGetterSetter">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.override.methods"
-               label="%OverrideMethodsAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/generateGroup"
-               id="org.eclipse.jdt.ui.actions.OverrideMethods">
-         </action>
-<!-- Import Group -->
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.clean.up"
-               label="%CleanUpAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/importGroup"
-               id="org.eclipse.jdt.ui.actions.CleanUp">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.sort.members"
-               label="%SortMembersAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/importGroup"
-               id="org.eclipse.jdt.ui.actions.SortMembers">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.organize.imports"
-               label="%OrganizeImportsAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/importGroup"
-               id="org.eclipse.jdt.ui.actions.OrganizeImports">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.add.import"
-               label="%AddImportAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/importGroup"
-               id="org.eclipse.jdt.ui.actions.AddImport">
-         </action>
-<!-- edit group -->
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.quick.format"
-               label="%FormatElementAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/editGroup"
-               id="org.eclipse.jdt.ui.actions.FormatElement">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.format"
-               label="%FormatAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/editGroup"
-               id="org.eclipse.jdt.ui.actions.Format">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.indent"
-               label="%IndentAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/editGroup"
-               id="org.eclipse.jdt.ui.actions.Indent">
-         </action>
-         <action
-               definitionId="org.eclipse.ui.edit.text.shiftLeft"
-               label="%ShiftLeftAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/editGroup"
-               id="org.eclipse.jdt.ui.actions.ShiftLeft">
-         </action>
-         <action
-               definitionId="org.eclipse.ui.edit.text.shiftRight"
-               label="%ShiftRightAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/editGroup"
-               id="org.eclipse.jdt.ui.actions.ShiftRight">
-         </action>
-<!-- Comment Group -->
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.add.javadoc.comment"
-               label="%AddJavaDocCommentAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/commentGroup"
-               id="org.eclipse.jdt.ui.actions.AddJavaDocComment">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.uncomment"
-               label="%UncommentAction.label"
-               retarget="true"
-               id="org.eclipse.jdt.ui.actions.Uncomment">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.comment"
-               label="%CommentAction.label"
-               retarget="true"
-               id="org.eclipse.jdt.ui.actions.Comment">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.remove.block.comment"
-               label="%RemoveBlockCommentAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/commentGroup"
-               id="org.eclipse.jdt.ui.actions.RemoveBlockComment">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.add.block.comment"
-               label="%AddBlockCommentAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/commentGroup"
-               id="org.eclipse.jdt.ui.actions.AddBlockComment">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.toggle.comment"
-               label="%ToggleCommentAction.label"
-               retarget="true"
-               menubarPath="org.eclipse.jdt.ui.source.menu/commentGroup"
-               id="org.eclipse.jdt.ui.actions.ToggleComment">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSetPartAssociations">
-      <actionSetPartAssociation
-            targetID="org.eclipse.jdt.ui.CodingActionSet">
-         <part
-               id="org.eclipse.jdt.ui.PackageExplorer">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.TypeHierarchy">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.CompilationUnitEditor">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.ClassFileEditor">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.ProjectsView">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.PackagesView">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.TypesView">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.MembersView">
-         </part>
-      </actionSetPartAssociation>
-   </extension>
-<!-- Begin Java Search action set -->
-<!-- End Java Action Set (Adding the source, refactor and navigate menu -->
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="%JavaSearchActionSet.label"
-            description="%JavaSearchActionSet.description"
-            visible="false"
-            id="org.eclipse.jdt.ui.SearchActionSet">
-<!-- see http://bugs.eclipse.org/bugs/show_bug.cgi?id=15684    -->
-<!-- Note: The menu (re-) definition has to be here due to bug: -->
-<!-- =================================================================== -->
-<!-- Search Menu                                                         -->
-<!-- =================================================================== -->
-         <menu
-               label="%searchMenu.label"
-               path="navigate"
-               id="org.eclipse.search.menu">
-				<groupMarker name="internalDialogGroup"/>   <!-- not to be used by clients  -->
-				<groupMarker name="dialogGroup"/>           <!-- to be used by clients      -->
-				<separator name="fileSearchContextMenuActionsGroup"/> <!-- to be used by clients      -->
-	         	<separator name="contextMenuActionsGroup"/> <!-- to be used by clients -->
-	         	<separator name="occurencesActionsGroup"/> <!-- to be used by clients -->
-	         	<separator name="extraSearchGroup"/> <!-- to be used by clients -->
-         </menu>
-<!-- dialog group  -->
-         <action
-               label="%openJavaSearchPageAction.label"
-               icon="$nl$/icons/full/obj16/jsearch_obj.gif"
-               helpContextId="java_search_action_context"
-               class="org.eclipse.jdt.internal.ui.search.OpenJavaSearchPageAction"
-               menubarPath="org.eclipse.search.menu/dialogGroup"
-               id="org.eclipse.jdt.ui.actions.OpenJavaSearchPage">
-         </action>
-<!-- context menu group  -->
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.occurrences.in.file.quickMenu"
-               label="%occurrencesSubMenu.label"
-               style="pulldown"
-               class="org.eclipse.jdt.internal.ui.actions.OccurrencesSearchMenuAction"
-               menubarPath="org.eclipse.search.menu/occurencesActionsGroup"
-               id="org.eclipse.jdt.internal.ui.actions.OccurrencesSearchMenuAction">
-         </action>
-         <menu
-               label="%writeAccessSubMenu.label"
-               path="org.eclipse.search.menu/contextMenuActionsGroup"
-               id="writeAccessSubMenu">
-            <separator
-                  name="group1">
-            </separator>
-         </menu>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.implement.occurrences"
-               label="%ImplementOccurrences.label"
-               retarget="true"
-               id="org.eclipse.jdt.ui.actions.ImplementOccurrences">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.exception.occurrences"
-               label="%ExceptionOccurrences.label"
-               retarget="true"
-               id="org.eclipse.jdt.ui.actions.ExceptionOccurrences">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.occurrences.in.file"
-               label="%OccurrencesInFile.label"
-               retarget="true"
-               id="org.eclipse.jdt.ui.actions.OccurrencesInFile">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.write.access.in.working.set"
-               label="%InWorkingSet.label"
-               retarget="true"
-               menubarPath="org.eclipse.search.menu/writeAccessSubMenu/group1"
-               allowLabelUpdate="true"
-               id="org.eclipse.jdt.ui.actions.WriteAccessInWorkingSet">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.write.access.in.hierarchy"
-               label="%InHierarchy.label"
-               retarget="true"
-               menubarPath="org.eclipse.search.menu/writeAccessSubMenu/group1"
-               allowLabelUpdate="true"
-               id="org.eclipse.jdt.ui.actions.WriteAccessInHierarchy">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.write.access.in.project"
-               label="%InProject.label"
-               retarget="true"
-               menubarPath="org.eclipse.search.menu/writeAccessSubMenu/group1"
-               allowLabelUpdate="true"
-               id="org.eclipse.jdt.ui.actions.WriteAccessInProject">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.write.access.in.workspace"
-               label="%InWorkspace.label"
-               retarget="true"
-               menubarPath="org.eclipse.search.menu/writeAccessSubMenu/group1"
-               allowLabelUpdate="true"
-               id="org.eclipse.jdt.ui.actions.WriteAccessInWorkspace">
-         </action>
-         <menu
-               label="%readAccessSubMenu.label"
-               path="org.eclipse.search.menu/contextMenuActionsGroup"
-               id="readAccessSubMenu">
-            <separator
-                  name="group1">
-            </separator>
-         </menu>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.read.access.in.working.set"
-               label="%InWorkingSet.label"
-               retarget="true"
-               menubarPath="org.eclipse.search.menu/readAccessSubMenu/group1"
-               allowLabelUpdate="true"
-               id="org.eclipse.jdt.ui.actions.ReadAccessInWorkingSet">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.read.access.in.hierarchy"
-               label="%InHierarchy.label"
-               retarget="true"
-               menubarPath="org.eclipse.search.menu/readAccessSubMenu/group1"
-               allowLabelUpdate="true"
-               id="org.eclipse.jdt.ui.actions.ReadAccessInHierarchy">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.read.access.in.project"
-               label="%InProject.label"
-               retarget="true"
-               menubarPath="org.eclipse.search.menu/readAccessSubMenu/group1"
-               allowLabelUpdate="true"
-               id="org.eclipse.jdt.ui.actions.ReadAccessInProject">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.read.access.in.workspace"
-               label="%InWorkspace.label"
-               retarget="true"
-               menubarPath="org.eclipse.search.menu/readAccessSubMenu/group1"
-               allowLabelUpdate="true"
-               id="org.eclipse.jdt.ui.actions.ReadAccessInWorkspace">
-         </action>
-         <menu
-               label="%implementorsSubMenu.label"
-               path="org.eclipse.search.menu/contextMenuActionsGroup"
-               id="implementorsSubMenu">
-            <separator
-                  name="group1">
-            </separator>
-         </menu>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.implementors.in.working.set"
-               label="%InWorkingSet.label"
-               retarget="true"
-               menubarPath="org.eclipse.search.menu/implementorsSubMenu/group1"
-               allowLabelUpdate="true"
-               id="org.eclipse.jdt.ui.actions.ImplementorsInWorkingSet">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.implementors.in.project"
-               label="%InProject.label"
-               retarget="true"
-               menubarPath="org.eclipse.search.menu/implementorsSubMenu/group1"
-               allowLabelUpdate="true"
-               id="org.eclipse.jdt.ui.actions.ImplementorsInProject">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.implementors.in.workspace"
-               label="%InWorkspace.label"
-               retarget="true"
-               menubarPath="org.eclipse.search.menu/implementorsSubMenu/group1"
-               allowLabelUpdate="true"
-               id="org.eclipse.jdt.ui.actions.ImplementorsInWorkspace">
-         </action>
-         <menu
-               label="%declarationsSubMenu.label"
-               path="org.eclipse.search.menu/contextMenuActionsGroup"
-               id="declarationsSubMenu">
-            <separator
-                  name="group1">
-            </separator>
-         </menu>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.declarations.in.working.set"
-               label="%InWorkingSet.label"
-               retarget="true"
-               menubarPath="org.eclipse.search.menu/declarationsSubMenu/group1"
-               allowLabelUpdate="true"
-               id="org.eclipse.jdt.ui.actions.DeclarationsInWorkingSet">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.declarations.in.hierarchy"
-               label="%InHierarchy.label"
-               retarget="true"
-               menubarPath="org.eclipse.search.menu/declarationsSubMenu/group1"
-               allowLabelUpdate="true"
-               id="org.eclipse.jdt.ui.actions.DeclarationsInHierarchy">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.declarations.in.project"
-               label="%InProject.label"
-               retarget="true"
-               menubarPath="org.eclipse.search.menu/declarationsSubMenu/group1"
-               allowLabelUpdate="true"
-               id="org.eclipse.jdt.ui.actions.DeclarationsInProject">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.declarations.in.workspace"
-               label="%DeclarationsInWorkspace.label"
-               retarget="true"
-               menubarPath="org.eclipse.search.menu/declarationsSubMenu/group1"
-               allowLabelUpdate="true"
-               id="org.eclipse.jdt.ui.actions.DeclarationsInWorkspace">
-         </action>
-         <menu
-               label="%referencesSubMenu.label"
-               path="org.eclipse.search.menu/contextMenuActionsGroup"
-               id="referencesSubMenu">
-            <separator
-                  name="group1">
-            </separator>
-         </menu>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.references.in.working.set"
-               label="%InWorkingSet.label"
-               retarget="true"
-               menubarPath="org.eclipse.search.menu/referencesSubMenu/group1"
-               allowLabelUpdate="true"
-               id="org.eclipse.jdt.ui.actions.ReferencesInWorkingSet">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.references.in.hierarchy"
-               label="%InHierarchy.label"
-               retarget="true"
-               menubarPath="org.eclipse.search.menu/referencesSubMenu/group1"
-               allowLabelUpdate="true"
-               id="org.eclipse.jdt.ui.actions.ReferencesInHierarchy">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.references.in.project"
-               label="%InProject.label"
-               retarget="true"
-               menubarPath="org.eclipse.search.menu/referencesSubMenu/group1"
-               allowLabelUpdate="true"
-               id="org.eclipse.jdt.ui.actions.ReferencesInProject">
-         </action>
-         <action
-               definitionId="org.eclipse.jdt.ui.edit.text.java.search.references.in.workspace"
-               label="%ReferencesInWorkspace.label"
-               retarget="true"
-               menubarPath="org.eclipse.search.menu/referencesSubMenu/group1"
-               allowLabelUpdate="true"
-               id="org.eclipse.jdt.ui.actions.ReferencesInWorkspace">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.actionSetPartAssociations">
-      <actionSetPartAssociation
-            targetID="org.eclipse.jdt.ui.SearchActionSet">
-         <part
-               id="org.eclipse.jdt.ui.PackageExplorer">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.TypeHierarchy">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.CompilationUnitEditor">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.ClassFileEditor">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.ProjectsView">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.PackagesView">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.TypesView">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.MembersView">
-         </part>
-         <part
-               id="org.eclipse.search.SearchResultView">
-         </part>
-      </actionSetPartAssociation>
-   </extension>
-<!-- End Java contributions for Search view -->
-   <extension
-         point="org.eclipse.ui.actionSetPartAssociations">
-      <actionSetPartAssociation
-            targetID="org.eclipse.jdt.ui.text.java.actionSet.presentation">
-         <part
-               id="org.eclipse.jdt.ui.CompilationUnitEditor">
-         </part>
-         <part
-               id="org.eclipse.jdt.ui.ClassFileEditor">
-         </part>
-      </actionSetPartAssociation>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <viewerContribution
-            targetID="#CompilationUnitRulerContext"
-            id="org.eclipse.jdt.ui.CompilationUnitEditorPopupActions">
-         <action
-               label="%AddTask.label"
-               helpContextId="org.eclipse.ui.AddTask_action_context"
-               tooltip="%AddTask.tooltip"
-               class="org.eclipse.ui.texteditor.TaskRulerAction"
-               menubarPath="add"
-               id="org.eclipse.ui.texteditor.TaskRulerAction">
-         </action>
-         <action
-               label="%AddBookmark.label"
-               helpContextId="org.eclipse.ui.bookmark_action_context"
-               tooltip="%AddBookmark.tooltip"
-               class="org.eclipse.ui.texteditor.BookmarkRulerAction"
-               menubarPath="add"
-               id="org.eclipse.ui.texteditor.BookmarkRulerAction">
-         </action>
-       </viewerContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editorActions">
-      <editorContribution
-            targetID="org.eclipse.jdt.ui.CompilationUnitEditor"
-            id="org.eclipse.jdt.internal.ui.CompilationUnitEditor.ruler.actions">
-         <action
-               label="%BookmarkRulerAction.label"
-               helpContextId="org.eclipse.ui.bookmark_action_context"
-               class="org.eclipse.ui.texteditor.BookmarkRulerAction"
-               actionID="RulerDoubleClick"
-               id="org.eclipse.jdt.internal.ui.javaeditor.BookmarkRulerAction">
-         </action>
-         <action
-               label="%JavaSelectRulerAction.label"
-               class="org.eclipse.jdt.internal.ui.javaeditor.JavaSelectRulerAction"
-               actionID="RulerClick"
-               id="org.eclipse.jdt.internal.ui.javaeditor.JavaSelectRulerAction">
-         </action>
-      </editorContribution>
-      <editorContribution
-            targetID="org.eclipse.jdt.ui.ClassFileEditor"
-            id="org.eclipse.jdt.internal.ui.ClassFileEditor.ruler.actions">
-         <action
-               label="%JavaSelectRulerAction.label"
-               class="org.eclipse.jdt.internal.ui.javaeditor.JavaSelectRulerAction"
-               actionID="RulerClick"
-               id="org.eclipse.jdt.internal.ui.javaeditor.JavaSelectRulerAction">
-         </action>
-      </editorContribution>
-      <editorContribution
-            targetID="org.eclipse.jdt.ui.PropertiesFileEditor"
-            id="org.eclipse.jdt.internal.ui.PropertiesFileEditor.ruler.actions">
-         <action
-               label="%BookmarkRulerAction.label"
-               helpContextId="org.eclipse.ui.bookmark_action_context"
-               class="org.eclipse.ui.texteditor.BookmarkRulerAction"
-               actionID="RulerDoubleClick"
-               id="org.eclipse.jdt.internal.ui.propertiesfileeditor.BookmarkRulerAction">
-         </action>
-         <action
-               label="%JavaSelectRulerAction.label"
-               class="org.eclipse.ui.texteditor.SelectRulerAction"
-               actionID="RulerClick"
-               id="org.eclipse.jdt.internal.ui.propertiesfileeditor.SelectRulerAction">
-         </action>
-      </editorContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <viewerContribution
-            targetID="#CompilationUnitRulerContext"
-            id="org.eclipse.jdt.internal.ui.javaeditor.QuickFixRulerMenuAction">
-         <action
-               label="%Dummy.label"
-               helpContextId="org.eclipse.jdt.ui.quick_fix_action"
-               class="org.eclipse.jdt.internal.ui.javaeditor.JavaSelectRulerAction"
-               menubarPath="additions"
-               definitionId="org.eclipse.jdt.ui.edit.text.java.correction.assist.proposals"
-               id="org.eclipse.jdt.internal.ui.javaeditor.JavaSelectRulerMenuAction">
-         </action>
-      </viewerContribution>
-   </extension>
-<!-- =========================================================================== -->
-<!-- Java Working Set                                                            -->
-<!-- =========================================================================== -->
-   <extension
-         point="org.eclipse.ui.workingSets">
-      <workingSet
-            name="%JavaWorkingSetPage.name"
-            pageClass="org.eclipse.jdt.internal.ui.workingsets.JavaWorkingSetPage"
-            updaterClass="org.eclipse.jdt.internal.ui.workingsets.JavaWorkingSetUpdater"
-            elementAdapterClass="org.eclipse.ui.BasicWorkingSetElementAdapter:org.eclipse.jdt.core.IJavaElement;adapt=true"
-            icon="$nl$/icons/full/obj16/jworkingSet_obj.gif"
-            id="org.eclipse.jdt.ui.JavaWorkingSetPage">
-      </workingSet>
-   </extension>
-<!-- =========================================================================== -->
-<!-- Others Working Set                                                          -->
-<!-- =========================================================================== -->
-   <extension point="org.eclipse.ui.workingSets">
-      <workingSet
-            name="%OthersWorkingSetWizardPage.name"
-            icon="$nl$/icons/full/obj16/jworkingSet_obj.gif"
-            updaterClass="org.eclipse.jdt.internal.ui.workingsets.OthersWorkingSetUpdater"
-            id="org.eclipse.jdt.internal.ui.OthersWorkingSet">
-      </workingSet>
-   </extension>
-<!-- =========================================================================== -->
-<!-- JDT/UI command definitions                                                  -->
-<!-- =========================================================================== -->
-
-   <extension
-         point="org.eclipse.ui.contexts">
-      <context
-            name="%context.editingJavaSource.name"
-            description="%context.editingJavaSource.description"
-            parentId="org.eclipse.ui.textEditorScope"
-            id="org.eclipse.jdt.ui.javaEditorScope">
-      </context>
-   </extension>
-
-   <extension
-         point="org.eclipse.ui.commands">
-<!-- categories -->
-      <category
-            name="%category.source.name"
-            description="%category.source.description"
-            id="org.eclipse.jdt.ui.category.source">
-      </category>
-      <category
-            name="%category.refactoring.name"
-            description="%category.refactoring.description"
-            id="org.eclipse.jdt.ui.category.refactoring">
-      </category>
-<!-- edit -->
-      <command
-            name="%ActionDefinition.selectEnclosing.name"
-            description="%ActionDefinition.selectEnclosing.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.jdt.ui.edit.text.java.select.enclosing">
-      </command>
-      <command
-            name="%ActionDefinition.selectNext.name"
-            description="%ActionDefinition.selectNext.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.jdt.ui.edit.text.java.select.next">
-      </command>
-      <command
-            name="%ActionDefinition.selectPrevious.name"
-            description="%ActionDefinition.selectPrevious.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.jdt.ui.edit.text.java.select.previous">
-      </command>
-      <command
-            name="%ActionDefinition.selectLast.name"
-            description="%ActionDefinition.selectLast.description"
-            categoryId="org.eclipse.ui.category.edit"
-            id="org.eclipse.jdt.ui.edit.text.java.select.last">
-      </command>
-      <command
-            name="%ActionDefinition.showInPackageView.name"
-            description="%ActionDefinition.showInPackageView.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.jdt.ui.edit.text.java.show.in.package.view">
-      </command>
-      <command
-            name="%ActionDefinition.foldingCollapseMembers.name"
-            description="%ActionDefinition.foldingCollapseMembers.description"
-            categoryId="org.eclipse.ui.category.textEditor"
-            id="org.eclipse.jdt.ui.edit.text.java.folding.collapseMembers">
-      </command>
-      <command
-            name="%ActionDefinition.foldingCollapseComments.name"
-            description="%ActionDefinition.foldingCollapseComments.description"
-            categoryId="org.eclipse.ui.category.textEditor"
-            id="org.eclipse.jdt.ui.edit.text.java.folding.collapseComments">
-      </command>
-<!-- source -->
-      <command
-            name="%ActionDefinition.sourceQuickMenu.name"
-            description="%ActionDefinition.sourceQuickMenu.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.source.quickMenu">
-      </command>
-      <command
-            name="%ActionDefinition.comment.name"
-            description="%ActionDefinition.comment.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.comment">
-      </command>
-      <command
-            name="%ActionDefinition.uncomment.name"
-            description="%ActionDefinition.uncomment.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.uncomment">
-      </command>
-      <command
-            name="%ActionDefinition.toggleComment.name"
-            description="%ActionDefinition.toggleComment.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.toggle.comment">
-      </command>
-      <command
-            name="%ActionDefinition.format.name"
-            description="%ActionDefinition.format.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.format">
-      </command>
-      <command
-            name="%ActionDefinition.quickformat.name"
-            description="%ActionDefinition.quickformat.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.quick.format">
-      </command>
-      <command
-            name="%ActionDefinition.sortMembers.name"
-            description="%ActionDefinition.sortMembers.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.sort.members">
-      </command>
-      <command
-            name="%ActionDefinition.addImport.name"
-            description="%ActionDefinition.addImport.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.add.import">
-      </command>
-      <command
-            name="%ActionDefinition.organizeImports.name"
-            description="%ActionDefinition.organizeImports.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.organize.imports">
-      </command>
-      <command
-            name="%ActionDefinition.overrideMethods.name"
-            description="%ActionDefinition.overrideMethods.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.override.methods">
-      </command>
-      <command
-            name="%ActionDefinition.getterSetter.name"
-            description="%ActionDefinition.getterSetter.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.create.getter.setter">
-      </command>
-      <command
-            name="%ActionDefinition.generateHashCode.name"
-            description="%ActionDefinition.generateHashCode.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.generate.hashcode.equals">
-      </command>
-      <command
-            name="%ActionDefinition.delegateMethods.name"
-            description="%ActionDefinition.delegateMethods.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.create.delegate.methods">
-      </command>
-      <command
-            name="%ActionDefinition.addJavadocComment.name"
-            description="%ActionDefinition.addJavadocComment.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.add.javadoc.comment">
-      </command>
-      <command
-            name="%ActionDefinition.addUnimplementedConstructors.name"
-            description="%ActionDefinition.addUnimplementedConstructors.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.add.unimplemented.constructors">
-      </command>
-      <command
-            name="%ActionDefinition.generateConstructorUsingFields.name"
-            description="%ActionDefinition.generateConstructorsUsingFields.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.generate.constructor.using.fields">
-      </command>
-      <command
-            name="%ActionDefinition.surroundWith.tryCatch.name"
-            description="%ActionDefinition.surroundWith.tryCatch.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.surround.with.try.catch">
-      </command>
-      <command
-            name="%ActionDefinition.cleanUp.name"
-            description="%ActionDefinition.cleanUp.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.clean.up">
-      </command>
-      <command
-            name="%ActionDefinition.copyQualifiedName.name"
-            description="%ActionDefinition.copyQualifiedName.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.copy.qualified.name">
-      </command>
-      <command
-            name="%ActionDefinition.findNLSProblems.name"
-            description="%ActionDefinition.findNLSProblems.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.find.broken.nls.keys">
-      </command>
-      <command
-            name="%ActionDefinition.externalizeStrings.name"
-            description="%ActionDefinition.externalizeStrings.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.externalize.strings">
-      </command>
-      <command
-            name="%ActionDefinition.addBlockComment.name"
-            description="%ActionDefinition.addBlockComment.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.add.block.comment">
-      </command>
-      <command
-            name="%ActionDefinition.removeBlockComment.name"
-            description="%ActionDefinition.removeBlockComment.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.remove.block.comment">
-      </command>
-      <command
-            name="%ActionDefinition.indent.name"
-            description="%ActionDefinition.indent.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.indent">
-      </command>
-	  <command
-	        name="%toggleMarkOccurrences.label"
-	        description="%toggleMarkOccurrences.description"
-	        categoryId="org.eclipse.jdt.ui.category.source"
-	        id="org.eclipse.jdt.ui.edit.text.java.toggleMarkOccurrences">
-	  </command>
-      <command
-            name="%ActionDefinition.removeOccurrenceAnnotations.name"
-            description="%ActionDefinition.removeOccurrenceAnnotations.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.remove.occurrence.annotations">
-      </command>
-
-      <command
-            name="%ActionDefinition.corrections.renameInFile.name"
-            description="%ActionDefinition.corrections.renameInFile.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.correction.renameInFile.assist">
-      </command>
-      <command
-            name="%ActionDefinition.corrections.assignToLocal.name"
-            description="%ActionDefinition.corrections.assignToLocal.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.correction.assignToLocal.assist">
-      </command>
-      <command
-            name="%ActionDefinition.corrections.assignToField.name"
-            description="%ActionDefinition.corrections.assignToField.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.correction.assignToField.assist">
-      </command>
-      <command
-            name="%ActionDefinition.corrections.assignParamToField.name"
-            description="%ActionDefinition.corrections.assignParamToField.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.correction.assignParamToField.assist">
-      </command>
-      <command
-            name="%ActionDefinition.corrections.addBlock.name"
-            description="%ActionDefinition.corrections.addBlock.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.correction.addBlock.assist">
-      </command> 
-      <command
-            name="%ActionDefinition.corrections.addThrowsDecl.name"
-            description="%ActionDefinition.corrections.addThrowsDecl.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.correction.addThrowsDecl">
-      </command>
-      <command
-            name="%ActionDefinition.corrections.addCast.name"
-            description="%ActionDefinition.corrections.addCast.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.correction.addCast">
-      </command>
-      <command
-            name="%ActionDefinition.corrections.qualifyField.name"
-            description="%ActionDefinition.corrections.qualifyField.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.correction.qualifyField">
-      </command>
-      <command
-            name="%ActionDefinition.corrections.changeToStatic.name"
-            description="%ActionDefinition.corrections.changeToStatic.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.correction.changeToStatic">
-      </command>
-      <command
-            name="%ActionDefinition.corrections.addNonNLS.name"
-            description="%ActionDefinition.corrections.addNonNLS.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.correction.addNonNLS">
-      </command>
-      <command
-            name="%ActionDefinition.corrections.addImport.name"
-            description="%ActionDefinition.corrections.addImport.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.correction.addImport">
-      </command>
-      <command
-            name="%ActionDefinition.corrections.addSuppressWarnings.name"
-            description="%ActionDefinition.corrections.addSuppressWarnings.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.correction.addSuppressWarnings">
-      </command>
-      <command
-            name="%ActionDefinition.corrections.splitJoinVariableDeclaration.name"
-            description="%ActionDefinition.corrections.splitJoinVariableDeclaration.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.correction.splitJoinVariableDeclaration.assist">
-      </command>
-      <command
-            name="%ActionDefinition.corrections.extractLocal.name"
-            description="%ActionDefinition.corrections.extractLocal.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.correction.extractLocal.assist">
-      </command>
-      <command
-            name="%ActionDefinition.corrections.extractConstant.name"
-            description="%ActionDefinition.corrections.extractConstant.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.correction.extractConstant.assist">
-      </command>
-      <command
-            name="%ActionDefinition.corrections.convertLocalToField.name"
-            description="%ActionDefinition.corrections.convertLocalToField.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.correction.convertLocalToField.assist">
-      </command>
-      <command
-            name="%ActionDefinition.corrections.inlineLocal.name"
-            description="%ActionDefinition.corrections.inlineLocal.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.correction.inlineLocal.assist">
-      </command>
-      <command
-            name="%ActionDefinition.corrections.convertAnonymousToLocal.name"
-            description="%ActionDefinition.corrections.convertAnonymousToLocal.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.correction.convertAnonymousToLocal.assist">
-      </command>  
-      <command
-            name="%ActionDefinition.surroundWith.quickMenu.name"
-            description="%ActionDefinition.surroundWith.quickMenu.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.jdt.ui.edit.text.java.surround.with.quickMenu">
-      </command>
-<!-- perspectives -->
-      <command
-            name="%PerspectiveCommand.javaBrowsing.name"
-            description="%PerspectiveCommand.javaBrowsing.description"
-            categoryId="org.eclipse.ui.category.perspectives"
-            id="org.eclipse.jdt.ui.JavaBrowsingPerspective" />
-      <command
-            name="%PerspectiveCommand.java.name"
-            description="%PerspectiveCommand.java.description"
-            categoryId="org.eclipse.ui.category.perspectives"
-            id="org.eclipse.jdt.ui.JavaPerspective" />
-      <command
-            name="%PerspectiveCommand.javaTypeHierarchy.name"
-            description="%PerspectiveCommand.javaTypeHierarchy.description"
-            categoryId="org.eclipse.ui.category.perspectives"
-            id="org.eclipse.jdt.ui.JavaHierarchyPerspective" />
-            
-<!-- views -->
-      <command
-            name="%ViewCommand.typeHierarchy.name"
-            description="%ViewCommand.typeHierarchy.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.jdt.ui.TypeHierarchy">
-      </command>
-      
-      <command
-            name="%ViewCommand.packageExplorer.name"
-            description="%ViewCommand.packageExplorer.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.jdt.ui.PackageExplorer">
-      </command>
-      
-      <command
-            name="%ViewCommand.projectsView.name"
-            description="%ViewCommand.projectsView.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.jdt.ui.ProjectsView">
-      </command>
-      
-      <command
-            name="%ViewCommand.packagesView.name"
-            description="%ViewCommand.packagesView.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.jdt.ui.PackagesView">
-      </command>
-      
-      <command
-            name="%ViewCommand.typesView.name"
-            description="%ViewCommand.typesView.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.jdt.ui.TypesView">
-      </command>
-
-      <command
-            name="%ViewCommand.membersView.name"
-            description="%ViewCommand.membersView.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.jdt.ui.MembersView">
-      </command>
-      
-      <command
-            name="%ViewCommand.sourceView.name"
-            description="%ViewCommand.sourceView.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.jdt.ui.SourceView">
-      </command>
-      
-      <command
-            name="%ViewCommand.javadocView.name"
-            description="%ViewCommand.javadocView.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.jdt.ui.JavadocView">
-      </command>
-      
-      <command
-            name="%ViewCommand.callHierarchy.name"
-            description="%ViewCommand.callHierarchy.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.jdt.callhierarchy.view">
-      </command>
-
-<!-- refactoring -->
-      <command
-            name="%ActionDefinition.refactorQuickMenu.name"
-            description="%ActionDefinition.refactorQuickMenu.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.refactor.quickMenu">
-      </command>
-      <command
-            name="%ActionDefinition.renameElement.name"
-            description="%ActionDefinition.renameElement.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.rename.element">
-      </command>
-      <command
-            name="%ActionDefinition.moveElement.name"
-            description="%ActionDefinition.moveElement.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.move.element">
-      </command>
-      <command
-            name="%ActionDefinition.modifyMethodParameters.name"
-            description="%ActionDefinition.modifyMethodParameters.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.modify.method.parameters">
-      </command>
-      <command
-            name="%ActionDefinition.convertAnonymousToNested.name"
-            description="%ActionDefinition.convertAnonymousToNested.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.convert.anonymous.to.nested">
-      </command>
-      <command
-            name="%ActionDefinition.convertNestedToTopLevel.name"
-            description="%ActionDefinition.convertNestedToTopLevel.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.move.inner.to.top.level">
-      </command>
-      <command
-            name="%ActionDefinition.pushDown.name"
-            description="%ActionDefinition.pushDown.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.push.down">
-      </command>
-      <command
-            name="%ActionDefinition.pullUp.name"
-            description="%ActionDefinition.pullUp.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.pull.up">
-      </command>
-      <command
-            name="%ActionDefinition.extractInterface.name"
-            description="%ActionDefinition.extractInterface.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.extract.interface">
-      </command>
-      <command
-            name="%ActionDefinition.extractSupertype.name"
-            description="%ActionDefinition.extractSupertype.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.extract.superclass">
-      </command>
-      <command
-            name="%ActionDefinition.changeType.name"
-            description="%ActionDefinition.changeType.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.change.type">
-      </command>
-      <command
-            name="%ActionDefinition.useSupertype.name"
-            description="%ActionDefinition.useSupertype.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.use.supertype">
-      </command>
-      <command
-            name="%ActionDefinition.inferTypeArguments.name"
-            description="%ActionDefinition.inferTypeArguments.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.infer.type.arguments">
-      </command>
-      <command
-            name="%ActionDefinition.inline.name"
-            description="%ActionDefinition.inline.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.inline">
-      </command>
-      <command
-            name="%ActionDefinition.extractMethod.name"
-            description="%ActionDefinition.extractMethod.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.extract.method">
-      </command>
-      <command
-            name="%ActionDefinition.extractLocalVariable.name"
-            description="%ActionDefinition.extractLocalVariable.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.extract.local.variable">
-      </command>
-      <command
-            name="%ActionDefinition.extractConstant.name"
-            description="%ActionDefinition.extractConstant.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.extract.constant">
-      </command>
-      <command
-            name="%ActionDefinition.replaceInvocations.name"
-            description="%ActionDefinition.replaceInvocations.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.replace.invocations">
-      </command>
-      <command
-            name="%ActionDefinition.introduceIndirection.name"
-            description="%ActionDefinition.introduceIndirection.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.introduce.indirection">
-      </command>
-      <command
-            name="%ActionDefinition.introduceParameter.name"
-            description="%ActionDefinition.introduceParameter.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.introduce.parameter">
-      </command>
-      <command
-            name="%ActionDefinition.introduceFactory.name"
-            description="%ActionDefinition.introduceFactory.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.introduce.factory">
-      </command>
-      <command
-            name="%ActionDefinition.convertLocalToField.name"
-            description="%ActionDefinition.convertLocalToField.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.promote.local.variable">
-      </command>
-      <command
-            name="%ActionDefinition.selfEncapsulateField.name"
-            description="%ActionDefinition.selfEncapsulateField.description"
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            id="org.eclipse.jdt.ui.edit.text.java.self.encapsulate.field">
-      </command>
-      <command
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            description="%ActionDefinition.apply.description"
-            id="org.eclipse.ltk.ui.refactor.apply.refactoring.script"
-            name="%ActionDefinition.apply.name">
-      </command>
-      <command
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            description="%ActionDefinition.create.description"
-            id="org.eclipse.ltk.ui.refactor.create.refactoring.script"
-            name="%ActionDefinition.create.name">
-       </command>
-      <command
-            categoryId="org.eclipse.jdt.ui.category.refactoring"
-            description="%ActionDefinition.migrate.description"
-            id="org.eclipse.jdt.ui.refactor.migrate.jar"
-            name="%ActionDefinition.migrate.name">
-       </command>
-<!-- navigate -->
-      <command
-            name="%ActionDefinition.gotoNextMember.name"
-            description="%ActionDefinition.gotoNextMember.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.jdt.ui.edit.text.java.goto.next.member">
-      </command>
-      <command
-            name="%ActionDefinition.gotoPreviousMember.name"
-            description="%ActionDefinition.gotoPreviousMember.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.jdt.ui.edit.text.java.goto.previous.member">
-      </command>
-      <command
-            name="%ActionDefinition.gotoMatchingBracket.name"
-            description="%ActionDefinition.gotoMatchingBracket.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.jdt.ui.edit.text.java.goto.matching.bracket">
-      </command>
-      <command
-            name="%ActionDefinition.show.outline.name"
-            description="%ActionDefinition.show.outline.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.jdt.ui.edit.text.java.show.outline">
-      </command>
-      <command
-            name="%ActionDefinition.open.hierarchy.name"
-            description="%ActionDefinition.open.hierarchy.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.jdt.ui.edit.text.java.open.hierarchy">
-      </command>
-      <command
-            name="%ActionDefinition.open.structure.name"
-            description="%ActionDefinition.open.structure.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.jdt.ui.navigate.java.open.structure">
-      </command>
-      <command
-            name="%ActionDefinition.openType.name"
-            description="%ActionDefinition.openType.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.jdt.ui.navigate.open.type">
-      </command>
-      <command
-            name="%ActionDefinition.openTypeInHierarchy.name"
-            description="%ActionDefinition.openTypeInHierarchy.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.jdt.ui.navigate.open.type.in.hierarchy">
-      </command>
-      <command
-            name="%ActionDefinition.openEditor.name"
-            description="%ActionDefinition.openEditor.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.jdt.ui.edit.text.java.open.editor">
-      </command>
-      <command
-            name="%ActionDefinition.openSuperImplementation.name"
-            description="%ActionDefinition.openSuperImplementation.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.jdt.ui.edit.text.java.open.super.implementation">
-      </command>
-      <command
-            name="%ActionDefinition.openExternalJavadoc.name"
-            description="%ActionDefinition.openExternalJavadoc.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.jdt.ui.edit.text.java.open.external.javadoc">
-      </command>
-      <command
-            name="%ActionDefinition.openTypeHierarchy.name"
-            description="%ActionDefinition.openTypeHierarchy.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.jdt.ui.edit.text.java.open.type.hierarchy">
-      </command>
-      <command
-            name="%ActionDefinition.openCallHierarchy.name"
-            description="%ActionDefinition.openCallHierarchy.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.jdt.ui.edit.text.java.open.call.hierarchy">
-      </command>
-      
-      <command
-            name="%ActionDefinition.gotoPackage.name"
-            description="%ActionDefinition.gotoPackage.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.jdt.ui.navigate.gotopackage">
-      </command>
-      <command
-            name="%ActionDefinition.gotoType.name"
-            description="%ActionDefinition.gotoType.description"
-            categoryId="org.eclipse.ui.category.navigate"
-            id="org.eclipse.jdt.ui.navigate.gototype">
-      </command>
-      
-<!-- project -->
-      <command
-            name="%ActionDefinition.generateJavadoc.name"
-            description="%ActionDefinition.generateJavadoc.description"
-            categoryId="org.eclipse.ui.category.project"
-            id="org.eclipse.jdt.ui.generate.javadoc">
-      </command>
-      
-<!-- search -->
-      <command
-            name="%ActionDefinition.referencesInWorkspace.name"
-            description="%ActionDefinition.referencesInWorkspace.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.references.in.workspace">
-      </command>
-      <command
-            name="%ActionDefinition.referencesInProject.name"
-            description="%ActionDefinition.referencesInProject.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.references.in.project">
-      </command>
-      <command
-            name="%ActionDefinition.referencesInHierarchy.name"
-            description="%ActionDefinition.referencesInHierarchy.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.references.in.hierarchy">
-      </command>
-      <command
-            name="%ActionDefinition.referencesInWorkingSet.name"
-            description="%ActionDefinition.referencesInWorkingSet.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.references.in.working.set">
-      </command>
-      <command
-            name="%ActionDefinition.readAccessInworkspace.name"
-            description="%ActionDefinition.readAccessInWorkspace.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.read.access.in.workspace">
-      </command>
-      <command
-            name="%ActionDefinition.readAccessInProject.name"
-            description="%ActionDefinition.readAccessInProject.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.read.access.in.project">
-      </command>
-      <command
-            name="%ActionDefinition.readAccessInHierarchy.name"
-            description="%ActionDefinition.readAccessInHierarchy.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.read.access.in.hierarchy">
-      </command>
-      <command
-            name="%ActionDefinition.readAccessInWorkingSet.name"
-            description="%ActionDefinition.readAccessInWorkingSet.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.read.access.in.working.set">
-      </command>
-      <command
-            name="%ActionDefinition.writeAccessInWorkspace.name"
-            description="%ActionDefinition.writeAccessInWorkspace.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.write.access.in.workspace">
-      </command>
-      <command
-            name="%ActionDefinition.writeAccessInProject.name"
-            description="%ActionDefinition.writeAccessInProject.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.write.access.in.project">
-      </command>
-      <command
-            name="%ActionDefinition.writeAccessInHierarchy.name"
-            description="%ActionDefinition.writeAccessInHierarchy.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.write.access.in.hierarchy">
-      </command>
-      <command
-            name="%ActionDefinition.writeAccessInWorkingSet.name"
-            description="%ActionDefinition.writeAccessInWorkingSet.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.write.access.in.working.set">
-      </command>
-      <command
-            name="%ActionDefinition.declarationsInWorkspace.name"
-            description="%ActionDefinition.declarationsInWorkspace.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.declarations.in.workspace">
-      </command>
-      <command
-            name="%ActionDefinition.declarationsInProject.name"
-            description="%ActionDefinition.declarationsInProject.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.declarations.in.project">
-      </command>
-      <command
-            name="%ActionDefinition.declarationsInHierarchy.name"
-            description="%ActionDefinition.declarationsInHierarchy.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.declarations.in.hierarchy">
-      </command>
-      <command
-            name="%ActionDefinition.declarationsInWorkingSet.name"
-            description="%ActionDefinition.declarationsInWorkingSet.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.declarations.in.working.set">
-      </command>
-      <command
-            name="%ActionDefinition.implementorsInWorkspace.name"
-            description="%ActionDefinition.implementorsInWorkspace.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.implementors.in.workspace">
-      </command>
-      <command
-            name="%ActionDefinition.implementorsInProject.name"
-            description="%ActionDefinition.implementorsInProject.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.implementors.in.project">
-      </command>
-      <command
-            name="%ActionDefinition.implementorsInWorkingSet.name"
-            description="%ActionDefinition.implementorsInWorkingSet.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.implementors.in.working.set">
-      </command>
-      <command
-            name="%ActionDefinition.occurrencesInFile.quickMenu.name"
-            description="%ActionDefinition.occurrencesInFile.quickMenu.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.occurrences.in.file.quickMenu">
-      </command>
-      <command
-            name="%ActionDefinition.occurrencesInFile.name"
-            description="%ActionDefinition.occurrencesInFile.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.occurrences.in.file">
-      </command>
-      <command
-            name="%ActionDefinition.exceptionOccurrences.name"
-            description="%ActionDefinition.exceptionOccurrences.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.exception.occurrences">
-      </command>
-      <command
-            name="%ActionDefinition.implementOccurrences.name"
-            description="%ActionDefinition.implementOccurrences.description"
-            categoryId="org.eclipse.search.ui.category.search"
-            id="org.eclipse.jdt.ui.edit.text.java.search.implement.occurrences">
-      </command>
-   </extension>
-   
-   <extension
-         point="org.eclipse.ui.bindings">
-      <!--  win32:  M1=CTRL,    M2=SHIFT, M3=ALT, M4=-
-            carbon: M1=COMMAND, M2=SHIFT, M3=ALT, M4=CTRL -->
-      
-<!-- edit -->
-      <key
-            sequence="M2+M3+ARROW_UP"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.select.enclosing"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M2+M3+ARROW_UP"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="CTRL+SHIFT+ARROW_UP"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.select.enclosing"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-            
-      <key
-            sequence="M2+M3+ARROW_RIGHT"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.select.next"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M2+M3+ARROW_RIGHT"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="CTRL+SHIFT+ARROW_RIGHT"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.select.next"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M2+M3+ARROW_LEFT"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.select.previous"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M2+M3+ARROW_LEFT"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="CTRL+SHIFT+ARROW_LEFT"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.select.previous"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M2+M3+ARROW_DOWN"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.select.last"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M2+M3+ARROW_DOWN"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="CTRL+SHIFT+ARROW_DOWN"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.select.last"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-
-<!-- source -->
-      <key
-            sequence="M2+M3+S"
-            commandId="org.eclipse.jdt.ui.edit.text.java.source.quickMenu"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M2+M3+S"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="COMMAND+ALT+S"
-            commandId="org.eclipse.jdt.ui.edit.text.java.source.quickMenu"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-            
-      <key
-            sequence="M1+M2+C"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.toggle.comment"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M1+7"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.toggle.comment"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M1+/"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.toggle.comment"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <!-- alternative for some gtk input modes -->
-      <key
-            platform="gtk"
-            sequence="ESC CTRL+C"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.toggle.comment"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-            
-      <key
-            sequence="M1+M2+F"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.format"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <!-- alternative for some gtk input modes -->
-      <key
-            platform="gtk"
-            sequence="ESC CTRL+F"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.format"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-            
-      <key
-            sequence="M1+M2+M"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.add.import"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M1+M2+O"
-            commandId="org.eclipse.jdt.ui.edit.text.java.organize.imports"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M2+M3+J"
-            commandId="org.eclipse.jdt.ui.edit.text.java.add.javadoc.comment"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M2+M3+J"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="COMMAND+ALT+J"
-            commandId="org.eclipse.jdt.ui.edit.text.java.add.javadoc.comment"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      
-      <key
-            sequence="M1+M2+/"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.add.block.comment"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <!-- free this on MAC, see: https://bugs.eclipse.org/bugs/show_bug.cgi?id=113981 -->
-      <key
-            platform="carbon"
-            sequence="M1+M2+/"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-
-      <key
-            sequence="M1+M2+\"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.remove.block.comment"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M1+I"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.indent"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-	  <key
-	        sequence="M2+M3+O"
-	        contextId="org.eclipse.jdt.ui.javaEditorScope"
-	        commandId="org.eclipse.jdt.ui.edit.text.java.toggleMarkOccurrences"
-	        schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M2+M3+O"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="COMMAND+ALT+O"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.toggleMarkOccurrences"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-            
-      <key
-            sequence="M2+M3+U"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.remove.occurrence.annotations"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M2+M3+U"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="COMMAND+ALT+U"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.remove.occurrence.annotations"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-            
-       <key
-            sequence="M1+2 R"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.correction.renameInFile.assist"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-       <key
-            sequence="M1+2 L"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.correction.assignToLocal.assist"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>            
-       <key
-            sequence="M1+2 F"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.correction.assignToField.assist"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>              
-       <key
-            sequence="M2+M3+Z"
-            commandId="org.eclipse.jdt.ui.edit.text.java.surround.with.quickMenu"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>        
-       <key
-            platform="carbon"
-            sequence="M2+M3+Z"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-       <key
-            platform="carbon"
-            sequence="COMMAND+ALT+Z"
-            commandId="org.eclipse.jdt.ui.edit.text.java.surround.with.quickMenu"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-
-<!-- refactoring -->
-      <key
-            sequence="M2+M3+T"
-            commandId="org.eclipse.jdt.ui.edit.text.java.refactor.quickMenu"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M2+M3+T"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="COMMAND+ALT+T"
-            commandId="org.eclipse.jdt.ui.edit.text.java.refactor.quickMenu"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M2+M3+R"
-            commandId="org.eclipse.jdt.ui.edit.text.java.rename.element"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M2+M3+R"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="COMMAND+ALT+R"
-            commandId="org.eclipse.jdt.ui.edit.text.java.rename.element"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-            
-      <key
-            sequence="M2+M3+V"
-            commandId="org.eclipse.jdt.ui.edit.text.java.move.element"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M2+M3+V"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="COMMAND+ALT+V"
-            commandId="org.eclipse.jdt.ui.edit.text.java.move.element"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-            
-      <key
-            sequence="M2+M3+C"
-            commandId="org.eclipse.jdt.ui.edit.text.java.modify.method.parameters"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M2+M3+C"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="COMMAND+ALT+C"
-            commandId="org.eclipse.jdt.ui.edit.text.java.modify.method.parameters"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-            
-      <key
-            sequence="M2+M3+I"
-            commandId="org.eclipse.jdt.ui.edit.text.java.inline"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M2+M3+I"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="COMMAND+ALT+I"
-            commandId="org.eclipse.jdt.ui.edit.text.java.inline"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-            
-      <key
-            sequence="M2+M3+M"
-            commandId="org.eclipse.jdt.ui.edit.text.java.extract.method"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M2+M3+M"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="COMMAND+ALT+M"
-            commandId="org.eclipse.jdt.ui.edit.text.java.extract.method"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-            
-      <key
-            sequence="M2+M3+L"
-            commandId="org.eclipse.jdt.ui.edit.text.java.extract.local.variable"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M2+M3+L"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="COMMAND+ALT+L"
-            commandId="org.eclipse.jdt.ui.edit.text.java.extract.local.variable"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-            
-<!-- navigate -->
-      <key
-            sequence="M1+M2+ARROW_DOWN"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.goto.next.member"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M1+M2+ARROW_DOWN"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="CTRL+ALT+ARROW_DOWN"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.goto.next.member"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M1+M2+ARROW_UP"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.goto.previous.member"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M1+M2+ARROW_UP"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="CTRL+ALT+ARROW_UP"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.goto.previous.member"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M1+M2+P"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.goto.matching.bracket"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M1+O"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.show.outline"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M1+T"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.edit.text.java.open.hierarchy"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M1+F3"
-            contextId="org.eclipse.jdt.ui.javaEditorScope"
-            commandId="org.eclipse.jdt.ui.navigate.java.open.structure"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M1+M2+T"
-            commandId="org.eclipse.jdt.ui.navigate.open.type"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M1+M2+H"
-            commandId="org.eclipse.jdt.ui.navigate.open.type.in.hierarchy"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="F3"
-            commandId="org.eclipse.jdt.ui.edit.text.java.open.editor"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M2+F2"
-            commandId="org.eclipse.jdt.ui.edit.text.java.open.external.javadoc"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="F4"
-            commandId="org.eclipse.jdt.ui.edit.text.java.open.type.hierarchy"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="CTRL+ALT+H"
-            commandId="org.eclipse.jdt.ui.edit.text.java.open.call.hierarchy"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-	  <!-- COMMAND+ALT+H is "Hide Others" on carbon, so don't overwrite it -->
-      
-<!-- project -->
-
-<!-- search -->
-      <key
-            sequence="M1+M2+G"
-            commandId="org.eclipse.jdt.ui.edit.text.java.search.references.in.workspace"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M1+G"
-            commandId="org.eclipse.jdt.ui.edit.text.java.search.declarations.in.workspace"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M1+M2+U"
-            commandId="org.eclipse.jdt.ui.edit.text.java.search.occurrences.in.file.quickMenu"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-
-<!-- perspectives -->
-
-<!-- views -->
-      <key
-            sequence="M2+M3+Q T"
-            commandId="org.eclipse.jdt.ui.TypeHierarchy"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M2+M3+Q T"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="COMMAND+ALT+Q T"
-            commandId="org.eclipse.jdt.ui.TypeHierarchy"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M2+M3+Q P"
-            commandId="org.eclipse.jdt.ui.PackageExplorer"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M2+M3+Q P"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="COMMAND+ALT+Q P"
-            commandId="org.eclipse.jdt.ui.PackageExplorer"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M2+M3+Q D"
-            commandId="org.eclipse.jdt.ui.SourceView"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M2+M3+Q D"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="COMMAND+ALT+Q D"
-            commandId="org.eclipse.jdt.ui.SourceView"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            sequence="M2+M3+Q J"
-            commandId="org.eclipse.jdt.ui.JavadocView"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="M2+M3+Q J"
-            commandId=""
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-      <key
-            platform="carbon"
-            sequence="COMMAND+ALT+Q J"
-            commandId="org.eclipse.jdt.ui.JavadocView"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
-
-   </extension>
-   
-   
-   <extension
-         point="org.eclipse.ui.ide.markerResolution">
-      <markerResolutionGenerator
-            markerType="org.eclipse.jdt.core.problem"
-            class="org.eclipse.jdt.internal.ui.text.correction.CorrectionMarkerResolutionGenerator">
-      </markerResolutionGenerator>
-   </extension>
-   <extension
-         point="org.eclipse.ui.ide.markerResolution">
-      <markerResolutionGenerator
-            markerType="org.eclipse.jdt.core.buildpath_problem"
-            class="org.eclipse.jdt.internal.ui.wizards.buildpaths.UserLibraryMarkerResolutionGenerator">
-      </markerResolutionGenerator>
-   </extension>
-   
-   <extension point="org.eclipse.ui.ide.markerSupport">
-      <markerTypeCategory name="%markerCategory.problem">
-         <markerTypeReference id="org.eclipse.jdt.core.problem"/>
-      </markerTypeCategory>
-      <markerTypeCategory name="%markerCategory.buildpath_problem">
-         <markerTypeReference id="org.eclipse.jdt.core.buildpath_problem"/>
-         <markerTypeReference id="org.eclipse.jdt.launching.jreContainerMarker"/>
-      </markerTypeCategory>
-      
-    <markerGrouping id="org.eclipse.jdt.ui.java_marker_category" label="%MarkerCategory.name"/>
-    <markerGroupingEntry id="org.eclipse.jdt.ui.category.buildpath"
-        markerGrouping="org.eclipse.jdt.ui.java_marker_category"
-        label="%MarkerCategory.buildpath"
-        priority="100"/>
-    <markerGroupingEntry id="org.eclipse.jdt.ui.category.fatal"
-        markerGrouping="org.eclipse.jdt.ui.java_marker_category"
-        label="%MarkerCategory.fatal"
-        priority="90"/>
-    <markerGroupingEntry id="org.eclipse.jdt.ui.category.documentation"
-        markerGrouping="org.eclipse.jdt.ui.java_marker_category"
-        label="%MarkerCategory.documentation"
-        priority="80"/>
-    <markerGroupingEntry id="org.eclipse.jdt.ui.category.potential"
-        markerGrouping="org.eclipse.jdt.ui.java_marker_category"
-        label="%MarkerCategory.potential"
-        priority="70"/>        
-    <markerGroupingEntry id="org.eclipse.jdt.ui.category.codestyle"
-        markerGrouping="org.eclipse.jdt.ui.java_marker_category"
-        label="%MarkerCategory.codestyle"
-        priority="60"/>
-    <markerGroupingEntry id="org.eclipse.jdt.ui.category.restrictedAPI"
-        markerGrouping="org.eclipse.jdt.ui.java_marker_category"
-        label="%MarkerCategory.restrictedAPI"
-        priority="50"/>        
-    <markerGroupingEntry id="org.eclipse.jdt.ui.category.deprecation"
-        markerGrouping="org.eclipse.jdt.ui.java_marker_category"
-        label="%MarkerCategory.deprecation"
-        priority="40"/>
-    <markerGroupingEntry id="org.eclipse.jdt.ui.category.generictypes"
-        markerGrouping="org.eclipse.jdt.ui.java_marker_category"
-        label="%MarkerCategory.generictypes"
-        priority="30"/>
-    <markerGroupingEntry id="org.eclipse.jdt.ui.category.unnecessary"
-        markerGrouping="org.eclipse.jdt.ui.java_marker_category"
-        label="%MarkerCategory.unnecessary"
-        priority="20"/>          
-    <markerGroupingEntry id="org.eclipse.jdt.ui.category.nls"
-        markerGrouping="org.eclipse.jdt.ui.java_marker_category"
-        label="%MarkerCategory.nls"
-        priority="10"/>
-    <markerAttributeGrouping markerType="org.eclipse.jdt.core.problem" attribute="categoryId">
-        <markerAttributeMapping value="10" markerGroupingEntry="org.eclipse.jdt.ui.category.buildpath"/>
-        <markerAttributeMapping value="20" markerGroupingEntry="org.eclipse.jdt.ui.category.fatal"/>
-        <markerAttributeMapping value="30" markerGroupingEntry="org.eclipse.jdt.ui.category.fatal"/>
-        <markerAttributeMapping value="40" markerGroupingEntry="org.eclipse.jdt.ui.category.fatal"/>
-        <markerAttributeMapping value="50" markerGroupingEntry="org.eclipse.jdt.ui.category.fatal"/>
-        <markerAttributeMapping value="60" markerGroupingEntry="org.eclipse.jdt.ui.category.fatal"/>
-        <markerAttributeMapping value="70" markerGroupingEntry="org.eclipse.jdt.ui.category.documentation"/>
-        <markerAttributeMapping value="80" markerGroupingEntry="org.eclipse.jdt.ui.category.codestyle"/>
-        <markerAttributeMapping value="90" markerGroupingEntry="org.eclipse.jdt.ui.category.potential"/>
-        <markerAttributeMapping value="100" markerGroupingEntry="org.eclipse.jdt.ui.category.potential"/>
-        <markerAttributeMapping value="110" markerGroupingEntry="org.eclipse.jdt.ui.category.deprecation"/>
-        <markerAttributeMapping value="120" markerGroupingEntry="org.eclipse.jdt.ui.category.unnecessary"/>
-        <markerAttributeMapping value="130" markerGroupingEntry="org.eclipse.jdt.ui.category.generictypes"/>
-        <markerAttributeMapping value="140" markerGroupingEntry="org.eclipse.jdt.ui.category.nls"/>
-        <markerAttributeMapping value="150" markerGroupingEntry="org.eclipse.jdt.ui.category.restrictedAPI"/>
-     </markerAttributeGrouping>
-     <markerAttributeGrouping markerType="org.eclipse.jdt.core.buildpath_problem"
-        defaultGroupingEntry="org.eclipse.jdt.ui.category.buildpath"/>
-   </extension>
-   
-<!-- =========================================================================== -->
-<!-- Filter Support                                                              -->
-<!-- =========================================================================== -->
-   <extension
-         point="org.eclipse.jdt.ui.javaElementFilters">
-<!-- Package Explorer -->
-      <filter
-            targetId="org.eclipse.jdt.ui.PackageExplorer"
-            name="%HideSystemFiles.label"
-            enabled="true"
-            description="%HideSystemFiles.description"
-            pattern=".*">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.PackageExplorer"
-            name="%HideInnerClassFiles.label"
-            enabled="true"
-            description="%HideInnerClassFiles.description"
-            pattern="*$*.class">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.PackageExplorer"
-            name="%HideEmptyPackages.label"
-            enabled="false"
-            description="%HideEmptyPackages.description"
-            class="org.eclipse.jdt.internal.ui.filters.EmptyPackageFilter"
-            id="org.eclipse.jdt.internal.ui.PackageExplorer.EmptyPackageFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.PackageExplorer"
-            name="%HideEmptyInnerPackages.label"
-            enabled="true"
-            description="%HideEmptyInnerPackages.description"
-            class="org.eclipse.jdt.internal.ui.filters.EmptyInnerPackageFilter"
-            id="org.eclipse.jdt.internal.ui.PackageExplorer.EmptyInnerPackageFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.PackageExplorer"
-            name="%HideNonJavaElements.label"
-            enabled="false"
-            description="%HideNonJavaElements.description"
-            class="org.eclipse.jdt.internal.ui.filters.NonJavaElementFilter"
-            id="org.eclipse.jdt.ui.PackageExplorer.NonJavaElementFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.PackageExplorer"
-            name="%HideReferencedLibraries.label"
-            enabled="false"
-            description="%HideReferencedLibraries.description"
-            class="org.eclipse.jdt.internal.ui.filters.LibraryFilter"
-            id="org.eclipse.jdt.ui.PackageExplorer.LibraryFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.PackageExplorer"
-            name="%HideContainedLibraries.label"
-            enabled="false"
-            description="%HideContainedLibraries.description"
-            class="org.eclipse.jdt.internal.ui.filters.ContainedLibraryFilter"
-            id="org.eclipse.jdt.ui.PackageExplorer.ContainedLibraryFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.PackageExplorer"
-            name="%HideJavaFiles.label"
-            enabled="false"
-            description="%HideJavaFiles.description"
-            class="org.eclipse.jdt.internal.ui.filters.JavaFileFilter"
-            id="org.eclipse.jdt.ui.PackageExplorer.CuAndClassFileFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.PackageExplorer"
-            name="%HidePackageDeclaration.label"
-            enabled="true"
-            description="%HidePackageDeclaration.description"
-            class="org.eclipse.jdt.internal.ui.filters.PackageDeclarationFilter"
-            id="org.eclipse.jdt.ui.PackageExplorer.PackageDeclarationFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.PackageExplorer"
-            name="%HideImportDeclaration.label"
-            enabled="true"
-            description="%HideImportDeclaration.description"
-            class="org.eclipse.jdt.internal.ui.filters.ImportDeclarationFilter"
-            id="org.eclipse.jdt.ui.PackageExplorer.ImportDeclarationFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.PackageExplorer"
-            name="%HideSyntheticMembers.label"
-            enabled="true"
-            description="%HideSyntheticMembers.description"
-            class="org.eclipse.jdt.internal.ui.filters.SyntheticMembersFilter"
-            id="org.eclipse.jdt.ui.PackageExplorer.SyntheticMembersFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.PackageExplorer"
-            name="%HideNonJavaProjects.label"
-            enabled="false"
-            description="%HideNonJavaProjects.description"
-            class="org.eclipse.jdt.internal.ui.filters.NonJavaProjectsFilter"
-            id="org.eclipse.jdt.ui.PackageExplorer.NonJavaProjectsFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.PackageExplorer"
-            name="%HideNonSharedProjects.label"
-            enabled="false"
-            description="%HideNonSharedProjects.description"
-            class="org.eclipse.jdt.internal.ui.filters.NonSharedProjectFilter"
-            id="org.eclipse.jdt.ui.PackageExplorer.NonSharedProjectsFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.PackageExplorer"
-            name="%HideClosedProjects.label"
-            enabled="false"
-            description="%HideClosedProjects.description"
-            class="org.eclipse.jdt.internal.ui.filters.ClosedProjectFilter"
-            id="org.eclipse.jdt.ui.PackageExplorer.ClosedProjectsFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.PackageExplorer"
-            name="%HideFields.label"
-            enabled="false"
-            description="%HideFields.description"
-            class="org.eclipse.jdt.internal.ui.filters.FieldsFilter"
-            id="org.eclipse.jdt.ui.PackageExplorer.FieldsFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.PackageExplorer"
-            name="%HideStatics.label"
-            enabled="false"
-            description="%HideStatics.description"
-            class="org.eclipse.jdt.internal.ui.filters.StaticsFilter"
-            id="org.eclipse.jdt.ui.PackageExplorer.StaticsFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.PackageExplorer"
-            name="%HideNonPublic.label"
-            enabled="false"
-            description="%HideNonPublic.description"
-            class="org.eclipse.jdt.internal.ui.filters.NonPublicFilter"
-            id="org.eclipse.jdt.ui.PackageExplorer.NonPublicFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.PackageExplorer"
-            name="%HideLocalTypes.label"
-            enabled="false"
-            description="%HideLocalTypes.description"
-            class="org.eclipse.jdt.internal.ui.filters.LocalTypesFilter"
-            id="org.eclipse.jdt.ui.PackageExplorer.LocalTypesFilter">
-      </filter>
-<!-- Types view -->
-      <filter
-            targetId="org.eclipse.jdt.ui.TypesView"
-            name="%HideNonPublicType.label"
-            enabled="false"
-            description="%HideNonPublicType.description"
-            class="org.eclipse.jdt.internal.ui.filters.NonPublicTypeFilter"
-            id="org.eclipse.jdt.ui.TypesView.NonPublicTypeFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.TypesView"
-            name="%HideInterface.label"
-            enabled="false"
-            description="%HideInterface.description"
-            class="org.eclipse.jdt.internal.ui.filters.InterfaceFilter"
-            id="org.eclipse.jdt.ui.TypesView.InterfaceFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.TypesView"
-            name="%HideEnum.label"
-            enabled="false"
-            description="%HideEnum.description"
-            class="org.eclipse.jdt.internal.ui.filters.EnumFilter"
-            id="org.eclipse.jdt.ui.TypesView.EnumFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.TypesView"
-            name="%HideAnnotation.label"
-            enabled="false"
-            description="%HideAnnotation.description"
-            class="org.eclipse.jdt.internal.ui.filters.AnnotationFilter"
-            id="org.eclipse.jdt.ui.TypesView.AnnotationFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.TypesView"
-            name="%HideClass.label"
-            enabled="false"
-            description="%HideClass.description"
-            class="org.eclipse.jdt.internal.ui.filters.ClassFilter"
-            id="org.eclipse.jdt.ui.TypesView.ClassFilter">
-      </filter>
-<!-- Packages view -->
-      <filter
-            targetId="org.eclipse.jdt.ui.PackagesView"
-            name="%HideEmptyPackages.label"
-            enabled="false"
-            description="%HideEmptyPackages.description"
-            class="org.eclipse.jdt.internal.ui.filters.EmptyPackageFilter"
-            id="org.eclipse.jdt.internal.ui.PackagesView.EmptyPackageFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.PackagesView"
-            name="%HideEmptyInnerPackages.label"
-            enabled="true"
-            description="%HideEmptyInnerPackages.description"
-            class="org.eclipse.jdt.internal.ui.filters.EmptyInnerPackageFilter"
-            id="org.eclipse.jdt.internal.ui.PackagesView.EmptyInnerPackageFilter">
-      </filter>
-      <filter
-      		targetId="org.eclipse.jdt.ui.PackagesView"
-            name="%HideNoPackageContainingFolders.label"
-            enabled="true"
-            description="%HideNoPackageContainingFolders.description"
-            class="org.eclipse.jdt.internal.ui.filters.NoPackageContainingFoldersFilter"
-            id="org.eclipse.jdt.internal.ui.PackagesView.NoPackageContainingFolders">
-      </filter>
-<!-- Projects view -->
-      <filter
-            targetId="org.eclipse.jdt.ui.ProjectsView"
-            name="%HideReferencedLibraries.label"
-            enabled="false"
-            description="%HideReferencedLibraries.description"
-            class="org.eclipse.jdt.internal.ui.filters.LibraryFilter"
-            id="org.eclipse.jdt.ui.ProjectsView.LibraryFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.ProjectsView"
-            name="%HideContainedLibraries.label"
-            enabled="false"
-            description="%HideContainedLibraries.description"
-            class="org.eclipse.jdt.internal.ui.filters.ContainedLibraryFilter"
-            id="org.eclipse.jdt.ui.ProjectsView.ContainedLibraryFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.ProjectsView"
-            name="%HideNonSharedProjects.label"
-            enabled="false"
-            description="%HideNonSharedProjects.description"
-            class="org.eclipse.jdt.internal.ui.filters.NonSharedProjectFilter"
-            id="org.eclipse.jdt.ui.ProjectsView.NonSharedProjectsFilter">
-      </filter>
-<!-- Members view -->
-      <filter
-            targetId="org.eclipse.jdt.ui.MembersView"
-            name="%HideImportDeclaration.label"
-            enabled="false"
-            description="%HideImportDeclaration.description"
-            class="org.eclipse.jdt.internal.ui.filters.ImportDeclarationFilter"
-            id="org.eclipse.jdt.ui.MembersView.ImportDeclarationFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.MembersView"
-            name="%HideSyntheticMembers.label"
-            enabled="true"
-            description="%HideSyntheticMembers.description"
-            class="org.eclipse.jdt.internal.ui.filters.SyntheticMembersFilter"
-            id="org.eclipse.jdt.ui.MembersView.SyntheticMembersFilter">
-      </filter>
-<!-- Outline Page -->
-      <filter
-            targetId="org.eclipse.jdt.ui.JavaOutlinePage"
-            name="%HidePackageDeclaration.label"
-            enabled="false"
-            description="%HidePackageDeclaration.description"
-            class="org.eclipse.jdt.internal.ui.filters.PackageDeclarationFilter"
-            id="org.eclipse.jdt.ui.JavaOutlinePage.PackageDeclarationFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.JavaOutlinePage"
-            name="%HideImportDeclaration.label"
-            enabled="false"
-            description="%HideImportDeclaration.description"
-            class="org.eclipse.jdt.internal.ui.filters.ImportDeclarationFilter"
-            id="org.eclipse.jdt.ui.JavaOutlinePage.ImportDeclarationFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.ui.JavaOutlinePage"
-            name="%HideSyntheticMembers.label"
-            enabled="true"
-            description="%HideSyntheticMembers.description"
-            class="org.eclipse.jdt.internal.ui.filters.SyntheticMembersFilter"
-            id="org.eclipse.jdt.ui.JavaOutlinePage.SyntheticMembersFilter">
-      </filter>
-<!-- Quick Outline -->
-      <filter
-            targetId="org.eclipse.jdt.internal.ui.text.QuickOutline"
-            name="%HidePackageDeclaration.label"
-            enabled="false"
-            description="%HidePackageDeclaration.description"
-            class="org.eclipse.jdt.internal.ui.filters.PackageDeclarationFilter"
-            id="org.eclipse.jdt.internal.ui.text.QuickOutline.PackageDeclarationFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.internal.ui.text.QuickOutline"
-            name="%HideImportDeclaration.label"
-            enabled="true"
-            description="%HideImportDeclaration.description"
-            class="org.eclipse.jdt.internal.ui.filters.ImportDeclarationFilter"
-            id="org.eclipse.jdt.internal.ui.text.QuickOutline.ImportDeclarationFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.internal.ui.text.QuickOutline"
-            name="%HideFields.label"
-            enabled="false"
-            description="%HideFields.description"
-            class="org.eclipse.jdt.internal.ui.filters.FieldsFilter"
-            id="org.eclipse.jdt.internal.ui.text.QuickOutline.FieldsFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.internal.ui.text.QuickOutline"
-            name="%HideStatics.label"
-            enabled="false"
-            description="%HideStatics.description"
-            class="org.eclipse.jdt.internal.ui.filters.StaticsFilter"
-            id="org.eclipse.jdt.internal.ui.text.QuickOutline.StaticsFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.internal.ui.text.QuickOutline"
-            name="%HideNonPublic.label"
-            enabled="false"
-            description="%HideNonPublic.description"
-            class="org.eclipse.jdt.internal.ui.filters.NonPublicFilter"
-            id="org.eclipse.jdt.internal.ui.text.QuickOutline.NonPublicFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.internal.ui.text.QuickOutline"
-            name="%HideLocalTypes.label"
-            enabled="false"
-            description="%HideLocalTypes.description"
-            class="org.eclipse.jdt.internal.ui.filters.LocalTypesFilter"
-            id="org.eclipse.jdt.internal.ui.text.QuickOutline.LocalTypesFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.internal.ui.text.QuickOutline"
-            name="%HideSyntheticMembers.label"
-            enabled="true"
-            description="%HideSyntheticMembers.description"
-            class="org.eclipse.jdt.internal.ui.filters.SyntheticMembersFilter"
-            id="org.eclipse.jdt.internal.ui.text.QuickOutline.SyntheticMembersFilter">
-      </filter>
-<!-- Quick Hierarchy -->
-      <filter
-            targetId="org.eclipse.jdt.internal.ui.typehierarchy.QuickHierarchy"
-            name="%HideStatics.label"
-            enabled="false"
-            description="%HideStatics.description"
-            class="org.eclipse.jdt.internal.ui.filters.StaticsFilter"
-            id="org.eclipse.jdt.internal.ui.typehierarchy.QuickHierarchy.StaticsFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.internal.ui.typehierarchy.QuickHierarchy"
-            name="%HideNonPublic.label"
-            enabled="false"
-            description="%HideNonPublic.description"
-            class="org.eclipse.jdt.internal.ui.filters.NonPublicFilter"
-            id="org.eclipse.jdt.internal.ui.typehierarchy.QuickHierarchy.NonPublicFilter">
-      </filter>
-      <filter
-            targetId="org.eclipse.jdt.internal.ui.typehierarchy.QuickHierarchy"
-            name="%HideLocalTypes.label"
-            enabled="false"
-            description="%HideLocalTypes.description"
-            class="org.eclipse.jdt.internal.ui.filters.LocalTypesFilter"
-            id="org.eclipse.jdt.internal.ui.typehierarchy.QuickHierarchy.LocalTypesFilter">
-      </filter>
-   </extension>
-<!-- =========================================================================== -->
-<!-- Call Hierarchy                                                              -->
-<!-- =========================================================================== -->
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%callHierarchyViewName"
-            icon="$nl$/icons/full/eview16/call_hierarchy.gif"
-            category="org.eclipse.jdt.ui.java"
-            class="org.eclipse.jdt.internal.ui.callhierarchy.CallHierarchyViewPart"
-            id="org.eclipse.jdt.callhierarchy.view">
-      </view>
-   </extension>
-   
-<!-- =========================================================================== -->
-<!-- Templates                                                                   -->
-<!-- =========================================================================== -->
-   <extension
-         point="org.eclipse.ui.editors.templates">
-      <contextType
-            name="%templates.java.contextType.name"
-            class="org.eclipse.jdt.internal.corext.template.java.JavaContextType"
-            id="java">
-      </contextType>
-      <contextType
-            name="%templates.javadoc.contextType.name"
-            class="org.eclipse.jdt.internal.corext.template.java.JavaDocContextType"
-            id="javadoc">
-      </contextType>
-      <include
-      		file="templates/default-templates.xml"
-      		translations="$nl$/templates/default-templates.properties">
-      </include>
-      <include
-      		file="templates/default-codetemplates.xml"
-      		translations="$nl$/templates/default-templates.properties">
-      </include>
-      <resolver
-            class="org.eclipse.jdt.internal.corext.template.java.FieldResolver"
-            contextTypeId="java"
-            description="%templates.java.resolvers.Field.description"
-            name="%templates.java.resolvers.Field.name"
-            type="field"/>
-      <resolver
-            class="org.eclipse.jdt.internal.corext.template.java.LocalVarResolver"
-            contextTypeId="java"
-            description="%templates.java.resolvers.LocalVar.description"
-            name="%templates.java.resolvers.LocalVar.name"
-            type="localVar"/>
-      <resolver
-            class="org.eclipse.jdt.internal.corext.template.java.VarResolver"
-            contextTypeId="java"
-            description="%templates.java.resolvers.Var.description"
-            name="%templates.java.resolvers.Var.name"
-            type="var"/>
-      <resolver
-            class="org.eclipse.jdt.internal.corext.template.java.NameResolver"
-            contextTypeId="java"
-            description="%templates.java.resolvers.Name.description"
-            name="%templates.java.resolvers.Name.name"
-            type="newName"/>
-      <resolver
-            class="org.eclipse.jdt.internal.corext.template.java.ElementTypeResolver"
-            contextTypeId="java"
-            description="%templates.java.resolvers.ElementType.description"
-            name="%templates.java.resolvers.ElementType.name"
-            type="elemType"/>
-      <resolver
-            class="org.eclipse.jdt.internal.corext.template.java.TypeVariableResolver"
-            contextTypeId="java"
-            description="%templates.java.resolvers.ArgumentType.description"
-            name="%templates.java.resolvers.ArgumentType.name"
-            type="argType"/>
-   </extension>
-
-<!-- =========================================================================== -->
-<!-- Refactoring                                                                 -->
-<!-- =========================================================================== -->
-
-   <extension point="org.eclipse.ltk.ui.refactoring.statusContextViewers">
-      <statusContextViewer
-            class="org.eclipse.jdt.internal.ui.refactoring.JavaStatusContextViewer"
-            id="org.eclipse.jdt.ui.javaStatusContextViewer">
-         <enablement>
-            <or>
-               <instanceof value="org.eclipse.jdt.internal.corext.refactoring.base.JavaStatusContext"/>
-               <instanceof value="org.eclipse.jdt.internal.corext.refactoring.base.JavaStringStatusContext"/>
-            </or>
-         </enablement>
-      </statusContextViewer>
-   </extension>
-   
-   <extension point="org.eclipse.ltk.ui.refactoring.changePreviewViewers">
-      <changePreviewViewer
-            class="org.eclipse.jdt.internal.ui.refactoring.CreateTextFileChangePreviewViewer"
-            id="org.eclipse.jdt.ui.createTextFileChangePreviewViewer">
-         <enablement>
-            <instanceof value="org.eclipse.jdt.internal.corext.refactoring.nls.changes.CreateTextFileChange"/>
-         </enablement>
-      </changePreviewViewer>
-   </extension>
-
-   <extension
-         point="org.eclipse.ltk.core.refactoring.refactoringContributions">
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.RenameResourceRefactoringContribution"
-            id="org.eclipse.jdt.ui.rename.resource"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.RenameCompilationUnitRefactoringContribution"
-            id="org.eclipse.jdt.ui.rename.compilationunit"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.RenameEnumConstRefactoringContribution"
-            id="org.eclipse.jdt.ui.rename.enum.constant"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.RenameFieldRefactoringContribution"
-            id="org.eclipse.jdt.ui.rename.field"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.RenameJavaProjectRefactoringContribution"
-            id="org.eclipse.jdt.ui.rename.java.project"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.RenameLocalVariableRefactoringContribution"
-            id="org.eclipse.jdt.ui.rename.local.variable"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.RenameMethodRefactoringContribution"
-            id="org.eclipse.jdt.ui.rename.method"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.RenamePackageRefactoringContribution"
-            id="org.eclipse.jdt.ui.rename.package"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.RenameSourceFolderRefactoringContribution"
-            id="org.eclipse.jdt.ui.rename.source.folder"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.RenameTypeParameterRefactoringContribution"
-            id="org.eclipse.jdt.ui.rename.type.parameter"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.RenameTypeRefactoringContribution"
-            id="org.eclipse.jdt.ui.rename.type"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.ChangeMethodSignatureRefactoringContribution"
-            id="org.eclipse.jdt.ui.change.method.signature"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.MoveMethodRefactoringContribution"
-            id="org.eclipse.jdt.ui.move.method"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.MoveStaticMembersRefactoringContribution"
-            id="org.eclipse.jdt.ui.move.static"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.ExtractInterfaceRefactoringContribution"
-            id="org.eclipse.jdt.ui.extract.interface"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.UseSupertypeRefactoringContribution"
-            id="org.eclipse.jdt.ui.use.supertype"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.PullUpRefactoringContribution"
-            id="org.eclipse.jdt.ui.pull.up"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.PushDownRefactoringContribution"
-            id="org.eclipse.jdt.ui.push.down"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.ConvertAnonymousRefactoringContribution"
-            id="org.eclipse.jdt.ui.convert.anonymous"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.MoveMemberTypeRefactoringContribution"
-            id="org.eclipse.jdt.ui.move.inner"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.InlineMethodRefactoringContribution"
-            id="org.eclipse.jdt.ui.inline.method"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.InlineTempRefactoringContribution"
-            id="org.eclipse.jdt.ui.inline.temp"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.InlineConstantRefactoringContribution"
-            id="org.eclipse.jdt.ui.inline.constant"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.ExtractMethodRefactoringContribution"
-            id="org.eclipse.jdt.ui.extract.method"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.ExtractTempRefactoringContribution"
-            id="org.eclipse.jdt.ui.extract.temp"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.ExtractConstantRefactoringContribution"
-            id="org.eclipse.jdt.ui.extract.constant"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.IntroduceParameterRefactoringContribution"
-            id="org.eclipse.jdt.ui.introduce.parameter"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.IntroduceFactoryRefactoringContribution"
-            id="org.eclipse.jdt.ui.introduce.factory"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.IntroduceIndirectionRefactoringContribution"
-            id="org.eclipse.jdt.ui.introduce.indirection"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.PromoteTempToFieldRefactoringContribution"
-            id="org.eclipse.jdt.ui.promote.temp"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.SelfEncapsulateRefactoringContribution"
-            id="org.eclipse.jdt.ui.self.encapsulate"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.InferTypeArgumentsRefactoringContribution"
-            id="org.eclipse.jdt.ui.infer.typearguments"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.ChangeTypeRefactoringContribution"
-            id="org.eclipse.jdt.ui.change.type"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.ExtractSupertypeRefactoringContribution"
-            id="org.eclipse.jdt.ui.extract.superclass"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.DeleteRefactoringContribution"
-            id="org.eclipse.jdt.ui.delete"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.MoveRefactoringContribution"
-            id="org.eclipse.jdt.ui.move"/>
-      <contribution
-            class="org.eclipse.jdt.internal.corext.refactoring.scripting.CopyRefactoringContribution"
-            id="org.eclipse.jdt.ui.copy"/>
-   </extension>
-
-<!-- End Refactoring -->
-
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%JavaSourceView"
-            icon="$nl$/icons/full/eview16/source.gif"
-            category="org.eclipse.jdt.ui.java"
-            class="org.eclipse.jdt.internal.ui.infoviews.SourceView"
-            id="org.eclipse.jdt.ui.SourceView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%JavadocView"
-            icon="$nl$/icons/full/eview16/javadoc.gif"
-            category="org.eclipse.jdt.ui.java"
-            class="org.eclipse.jdt.internal.ui.infoviews.JavadocView"
-            id="org.eclipse.jdt.ui.JavadocView">
-      </view>
-   </extension>
-
-<!-- classpath container -->
-   
-   <extension
-         point="org.eclipse.jdt.ui.classpathContainerPage">
-      <classpathContainerPage
-            name="%userLibrary.name"
-            class="org.eclipse.jdt.internal.ui.wizards.buildpaths.UserLibraryWizardPage"
-            id="org.eclipse.jdt.USER_LIBRARY">
-      </classpathContainerPage>
-   </extension>
-   
-   <extension
-         point="org.eclipse.ui.popupMenus">    
-      <objectContribution
-            objectClass="org.eclipse.jdt.internal.ui.packageview.ClassPathContainer"
-            id="org.eclipse.jdt.ui.configure.classpathcontainer">
-         <action
-               label="%ConfigClasspathContainer.label"
-               tooltip="%ConfigClasspathContainer.tooltip"
-               class="org.eclipse.jdt.internal.ui.actions.ConfigureContainerAction"
-               menubarPath="additions"
-               enablesFor="1"
-               id="ConfigureContainer">
-         </action>
-      </objectContribution>
-   </extension>
-   
-	<extension
-		point= "org.eclipse.jdt.ui.foldingStructureProviders">
-		<provider
-			id="org.eclipse.jdt.ui.text.defaultFoldingProvider"
-			name= "%defaultFoldingStructureProviderName"
-			class="org.eclipse.jdt.ui.text.folding.DefaultJavaFoldingStructureProvider"
-			preferencesClass="org.eclipse.jdt.internal.ui.text.folding.DefaultJavaFoldingPreferenceBlock">
-		</provider>
-	</extension>
-
-	<extension point="org.eclipse.debug.core.launchConfigurationTypes">
-    	<launchConfigurationType
-           delegate="org.eclipse.jdt.internal.ui.text.correction.SerialVersionLaunchConfigurationDelegate"
-           public="false"
-           name="%serialVersionLaunchConfigName"
-           modes="run"
-           id="org.eclipse.jdt.ui.serial.support">
-    	</launchConfigurationType>
-	</extension>
-
-    <extension point="org.eclipse.ui.workbench.texteditor.spellingEngine">
-        <engine
-              preferencesClass="org.eclipse.jdt.internal.ui.preferences.SpellingPreferenceBlock"
-              label="%defaultSpellingEngine.label"
-              class="org.eclipse.jdt.internal.ui.text.spelling.DefaultSpellingEngine"
-              default="true"
-              id="org.eclipse.jdt.internal.ui.text.spelling.DefaultSpellingEngine">
-        </engine>
-    </extension>
-        
-    <extension point="org.eclipse.core.runtime.preferences">
-        <initializer class="org.eclipse.jdt.internal.ui.JavaUIPreferenceInitializer"/>
-    </extension>
-
-   <extension
-         id="modelProvider"
-         name="%JavaModelProvider.name"
-         point="org.eclipse.core.resources.modelProviders">
-      <modelProvider
-            class="org.eclipse.jdt.internal.ui.model.JavaModelProvider"/>
-      <extends-model id="org.eclipse.core.resources.modelProvider"/>
-      <enablement>
-          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature" />
-      </enablement>
-   </extension>
-
-   <extension
-         point="org.eclipse.core.runtime.adapters">
-      <factory
-            adaptableType="org.eclipse.jdt.internal.ui.model.JavaModelProvider"
-            class="org.eclipse.jdt.internal.ui.model.JavaModelAdapterFactory">
-         <adapter type="org.eclipse.team.core.mapping.IResourceMappingMerger"/>
-         <adapter type="org.eclipse.team.ui.mapping.ISynchronizationCompareAdapter"/>
-      </factory>
-      <factory
-            adaptableType="org.eclipse.ltk.core.refactoring.history.RefactoringHistory"
-            class="org.eclipse.jdt.internal.ui.model.JavaModelAdapterFactory">
-         <adapter type="org.eclipse.core.resources.mapping.ResourceMapping"/>
-      </factory>
-      <factory
-            adaptableType="org.eclipse.ltk.core.refactoring.RefactoringDescriptorProxy"
-            class="org.eclipse.jdt.internal.ui.model.JavaModelAdapterFactory">
-         <adapter type="org.eclipse.core.resources.mapping.ResourceMapping"/>
-      </factory>
-   </extension>
-   
-   <extension
-         id="jdtContentProvider"
-         point="org.eclipse.team.ui.teamContentProviders">
-      <teamContentProvider
-            contentExtensionId="org.eclipse.jdt.ui.javaModelContent"
-            icon="$nl$/icons/full/obj16/java_model_obj.gif"
-            modelProviderId="org.eclipse.jdt.ui.modelProvider"/>
-   </extension>
-   
-   <extension
-         point="org.eclipse.ui.navigator.viewer">
-      <viewerContentBinding viewerId="org.eclipse.team.cvs.ui.workspaceSynchronization">
-         <includes>
-            <contentExtension
-                  isRoot="true"
-                  pattern="org.eclipse.jdt.ui.javaModelContent"/>
-         </includes>
-      </viewerContentBinding>
-   </extension>
-   
-   <extension
-         point="org.eclipse.ui.navigator.navigatorContent">
-      <navigatorContent
-            activeByDefault="true"
-            contentProvider="org.eclipse.jdt.internal.ui.model.JavaSynchronizationContentProvider"
-            icon="$nl$/icons/full/obj16/java_model_obj.gif"
-            id="org.eclipse.jdt.ui.javaModelContent"
-            labelProvider="org.eclipse.jdt.internal.ui.model.JavaSynchronizationLabelProvider"
-            name="%JavaModelContent.name"
-            priority="normal">
-         <triggerPoints>
-            <or>
-               <instanceof value="org.eclipse.core.resources.IFolder" />
-               <instanceof value="org.eclipse.jdt.core.IJavaElement" />
-               <instanceof value="org.eclipse.jdt.internal.ui.model.JavaModelProvider"/>
-               <instanceof value="org.eclipse.ltk.core.refactoring.history.RefactoringHistory"/>
-               <instanceof value="org.eclipse.ltk.core.refactoring.RefactoringDescriptorProxy"/>
-               <instanceof value="org.eclipse.ltk.core.refactoring.RefactoringDescriptor"/>
-               <instanceof value="org.eclipse.team.core.mapping.ISynchronizationScope"/>
-               <instanceof value="org.eclipse.team.core.mapping.ISynchronizationContext"/>
-            </or>
-         </triggerPoints>
-         <commonSorter
-               class="org.eclipse.jdt.ui.JavaElementSorter"
-               id="org.eclipse.jdt.ui.JavaElementSorter">
-            <parentExpression>
-               <or>
-                  <adapt type="org.eclipse.jdt.core.IJavaElement"/>
-                  <instanceof value="org.eclipse.jdt.internal.ui.model.JavaModelProvider"/>
-               </or>
-            </parentExpression>
-         </commonSorter>
-         <override
-               policy="InvokeAlwaysRegardlessOfSuppressedExt"
-               suppressedExtensionId="org.eclipse.team.ui.resourceContent"/>
-         <possibleChildren>
-          <or>
-             <instanceof value="org.eclipse.jdt.core.IJavaElement"/>
-             <instanceof value="org.eclipse.core.resources.IFolder"/>
-             <instanceof value="org.eclipse.core.resources.IFile"/>
-             <instanceof value="org.eclipse.ltk.core.refactoring.history.RefactoringHistory"/>
-             <instanceof value="org.eclipse.ltk.core.refactoring.RefactoringDescriptorProxy"/>
-             <instanceof value="org.eclipse.ltk.core.refactoring.RefactoringDescriptor"/>
-          </or>
-		 </possibleChildren>
-         <actionProvider class="org.eclipse.ltk.ui.refactoring.model.RefactoringSynchronizationActionProvider">
-         </actionProvider>
-      </navigatorContent>
-   </extension>
-
-
-    <!-- CommonNavigator -->
-	
-	<extension
-			point="org.eclipse.ui.navigator.viewer">
-		<viewerContentBinding viewerId="org.eclipse.ui.navigator.ProjectExplorer">
-			<includes>
-				<contentExtension pattern="org.eclipse.jdt.java.ui.javaContent" />
-				<contentExtension pattern="org.eclipse.jdt.java.ui.filters.*" />	
-				<contentExtension pattern="org.eclipse.jdt.java.ui.javaLinkHelper" />	
-							
-			</includes>
-		</viewerContentBinding>
-	</extension>
-	
-
-	
-	<extension
-			point="org.eclipse.ui.navigator.navigatorContent">
-		<navigatorContent
-				activeByDefault="true"
-				contentProvider="org.eclipse.jdt.internal.ui.navigator.JavaNavigatorContentProvider"
-				icon="$nl$/icons/full/eview16/jperspective.gif"
-				id="org.eclipse.jdt.java.ui.javaContent"
-				labelProvider="org.eclipse.jdt.internal.ui.navigator.JavaNavigatorLabelProvider"
-				name="%commonNavigatorContentName"
-				priority="high">
-			<triggerPoints>
-				<or>
-					<adapt
-							type="org.eclipse.core.resources.IProject" >
-						<test
-							property="org.eclipse.core.resources.projectNature"
-							value="org.eclipse.jdt.core.javanature" />
-					</adapt>
-					<instanceof
-							value="org.eclipse.core.resources.IWorkspaceRoot" />
-					<instanceof
-							value="org.eclipse.core.resources.IFolder" />
-					<instanceof
-							value="org.eclipse.core.resources.IFile" />
-					<instanceof
-							value="org.eclipse.core.resources.IStorage" />
-					<instanceof
-							value="org.eclipse.jdt.core.IJavaProject" />
-					<instanceof
-							value="org.eclipse.jdt.core.IJavaElement" />
-					<instanceof
-							value="org.eclipse.jdt.internal.core.JarEntryFile" />
-					<instanceof
-							value="org.eclipse.jdt.core.IClassFile" />
-					<instanceof
-							value="org.eclipse.jdt.internal.ui.packageview.PackageFragmentRootContainer" />
-<!--
-					<instanceof
-							value="org.eclipse.jdt.internal.ui.workingsets.WorkingSetModel" />
--->
-				</or>
-			</triggerPoints>
-			<possibleChildren>
-				<or>
-					<adapt
-							type="org.eclipse.core.resources.IProject" >
-					</adapt>
-					<instanceof
-							value="org.eclipse.core.resources.IWorkspaceRoot" />
-					<instanceof
-							value="org.eclipse.core.resources.IFolder" />
-					<instanceof
-							value="org.eclipse.core.resources.IFile" />
-					<instanceof
-							value="org.eclipse.core.resources.IStorage" />
-					<instanceof
-							value="org.eclipse.jdt.core.IJavaProject" />
-					<instanceof
-							value="org.eclipse.jdt.core.IJavaElement" />
-					<instanceof
-							value="org.eclipse.jdt.internal.core.JarEntryFile" />
-					<instanceof
-							value="org.eclipse.jdt.core.IClassFile" />
-					<instanceof
-							value="org.eclipse.jdt.internal.ui.packageview.PackageFragmentRootContainer" />
-				</or>
-			</possibleChildren>
-			<actionProvider
-					class="org.eclipse.jdt.internal.ui.navigator.PackageExplorerActionProvider"
-					id="org.eclipse.jdt.internal.ui.navigator.PackageExplorerActionProvider"
-					overrides="org.eclipse.ui.navigator.resources.actions.RefactorActions"> 
-				<enablement>
-					<or>
-					<adapt
-							type="org.eclipse.core.resources.IProject" >
-					</adapt>
-					<instanceof
-							value="org.eclipse.core.resources.IWorkspaceRoot" />
-					<instanceof
-							value="org.eclipse.core.resources.IFolder" />
-					<instanceof
-							value="org.eclipse.core.resources.IFile" />
-					<instanceof
-							value="org.eclipse.core.resources.IStorage" />
-					<instanceof
-							value="org.eclipse.jdt.core.IJavaProject" />
-					<instanceof
-							value="org.eclipse.jdt.core.IJavaElement" />
-					<instanceof
-							value="org.eclipse.jdt.internal.core.JarEntryFile" />
-					<instanceof
-							value="org.eclipse.jdt.core.IClassFile" />
-					<instanceof
-							value="org.eclipse.jdt.internal.ui.packageview.PackageFragmentRootContainer" /> 
-					<adapt type="java.util.Collection"> 
-						<count value="0" />
-					</adapt>				
-				</or>
-				</enablement>
-			</actionProvider>
-			
-		   <actionProvider
-		         class="org.eclipse.jdt.internal.ui.navigator.PackageExplorerOpenActionProvider"
-		         id="org.eclipse.jdt.internal.ui.navigator.PackageExplorerOpenActionProvider"
-		         overrides="org.eclipse.ui.navigator.resources.OpenActions"> 
-		   </actionProvider> 
-		   
-			<override
-					policy="InvokeAlwaysRegardlessOfSuppressedExt"
-					suppressedExtensionId="org.eclipse.ui.navigator.resourceContent"/>
-			<commonSorter
-					class="org.eclipse.jdt.ui.JavaElementSorter"
-					id="org.eclipse.jdt.ui.javaElementSorter"/>
-		   
-		   <commonWizard
-		        menuGroupId="org.eclipse.jdt.ui.java"
-		        type="new"
-		        wizardId="org.eclipse.jdt.ui.wizards.NewPackageCreationWizard">
-		     <enablement>
-		        <or>
-		           <instanceof value="org.eclipse.jdt.core.IPackageFragment"/>
-		           <instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/>
-		           <instanceof value="org.eclipse.jdt.core.ICompilationUnit"/>
-		           <adapt type="org.eclipse.core.resources.IProject">
-		              <test
-		                    property="org.eclipse.core.resources.projectNature"
-		                    value="org.eclipse.jdt.core.javanature"/>
-		           </adapt>
-		        </or>
-		     </enablement>
-		  </commonWizard>
-		  <commonWizard
-		        menuGroupId="org.eclipse.jdt.ui.java"
-		        type="new"
-		        wizardId="org.eclipse.jdt.ui.wizards.NewClassCreationWizard">
-		     <enablement>
-		        <or>
-		           <instanceof value="org.eclipse.jdt.core.IPackageFragment"/>
-		           <instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/>
-		           <instanceof value="org.eclipse.jdt.core.ICompilationUnit"/>
-		           <adapt type="org.eclipse.core.resources.IProject">
-		              <test
-		                    property="org.eclipse.core.resources.projectNature"
-		                    value="org.eclipse.jdt.core.javanature"/>
-		           </adapt>
-		        </or>
-		     </enablement>
-		  </commonWizard>
-
-   	      <commonWizard
-		        menuGroupId="org.eclipse.jdt.ui.java"
-		        type="new"
-		        wizardId="org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard">
-		     <enablement>
-		        <or>
-		           <instanceof value="org.eclipse.jdt.core.IPackageFragment"/>
-		           <instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/>
-		           <instanceof value="org.eclipse.jdt.core.ICompilationUnit"/>
-		           <adapt type="org.eclipse.core.resources.IProject">
-		              <test
-		                    property="org.eclipse.core.resources.projectNature"
-		                    value="org.eclipse.jdt.core.javanature"/>
-		           </adapt>
-		        </or>
-		     </enablement>
-		  </commonWizard>		  
-		  <commonWizard
-		        menuGroupId="org.eclipse.jdt.ui.java"
-		        type="new"
-		        wizardId="org.eclipse.jdt.ui.wizards.NewAnnotationCreationWizard">
-		     <enablement>
-		        <or>
-		           <instanceof value="org.eclipse.jdt.core.IPackageFragment"/>
-		           <instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/>
-		           <instanceof value="org.eclipse.jdt.core.ICompilationUnit"/>
-		           <adapt type="org.eclipse.core.resources.IProject">
-		              <test
-		                    property="org.eclipse.core.resources.projectNature"
-		                    value="org.eclipse.jdt.core.javanature"/>
-		           </adapt>
-		        </or>
-		     </enablement>
-		  </commonWizard>
-
-		    <commonWizard
-		          menuGroupId="org.eclipse.jdt.ui.java"
-		          type="new"
-		          wizardId="org.eclipse.jdt.ui.wizards.NewEnumCreationWizard">
-				     <enablement>
-				        <or>
-				           <instanceof value="org.eclipse.jdt.core.IPackageFragment"/>
-				           <instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/>
-				           <instanceof value="org.eclipse.jdt.core.ICompilationUnit"/>
-				           <adapt type="org.eclipse.core.resources.IProject">
-				              <test
-				                    property="org.eclipse.core.resources.projectNature"
-				                    value="org.eclipse.jdt.core.javanature"/>
-				           </adapt>
-				        </or>
-				     </enablement>
-		    </commonWizard>	 
-		    <commonWizard
-		          menuGroupId="org.eclipse.jdt.ui.java"
-		          type="new"
-		          wizardId="org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard">
-				     <enablement>
-				        <or> 
-				           <instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/> 
-				           <adapt type="org.eclipse.core.resources.IProject">
-				              <test
-				                    property="org.eclipse.core.resources.projectNature"
-				                    value="org.eclipse.jdt.core.javanature"/>
-				           </adapt>
-				        </or>
-				     </enablement>
-			 </commonWizard>
-  			<dropAssistant
-    			class="org.eclipse.jdt.internal.ui.navigator.JavaDropAdapterAssistant"
-   				id="org.eclipse.jdt.ui.dropAssistant">
- 				<possibleDropTargets>
-    				<or>
-       					<instanceof value="org.eclipse.core.resources.IResource"/>
-       					<instanceof value="org.eclipse.jdt.core.IJavaElement"/>
-    				</or>
- 				</possibleDropTargets>
- 			</dropAssistant>		   
-		</navigatorContent>
-  		<commonFilter
-		        activeByDefault="false"
-		        class="org.eclipse.jdt.internal.ui.navigator.NonEssentialEmptyPackageFilter"
-		        name="%HideEmptyPackages.label"
-		        description="%HideEmptyPackages.description"
-		        id="org.eclipse.jdt.java.ui.filters.HideEmptyPackages"/>
-  		<commonFilter
-		        activeByDefault="true"
-		        class="org.eclipse.jdt.internal.ui.navigator.NonEssentialEmptyInnerPackageFilter"
-		        name="%HideEmptyInnerPackages.label"
-		        description="%HideEmptyInnerPackages.description"
-		        id="org.eclipse.jdt.java.ui.filters.HideEmptyInnerPackages"/>
-  		<commonFilter 
-		        class="org.eclipse.jdt.internal.ui.filters.AnnotationFilter"
-		        name="%HideAnnotation.label"
-		        description="%HideAnnotation.description"
-		        id="org.eclipse.jdt.java.ui.filters.HideAnnotations"/>
-  		<commonFilter 
-		        class="org.eclipse.jdt.internal.ui.filters.EnumFilter"
-		        name="%HideEnum.label"
-		        description="%HideEnum.description"
-		        id="org.eclipse.jdt.java.ui.filters.HideAnnotations"/>
-  		<commonFilter 
-		        class="org.eclipse.jdt.internal.ui.filters.InterfaceFilter"
-		        name="%HideInterface.label"
-		        description="%HideInterface.description"
-		        id="org.eclipse.jdt.java.ui.filters.HideInterface"/>		        		        
-  		<commonFilter 
-		        class="org.eclipse.jdt.internal.ui.filters.FieldsFilter"
-		        name="%HideFields.label"
-		        description="%HideFields.description"
-		        id="org.eclipse.jdt.java.ui.filters.HideFields"/>
-  		<commonFilter
-		        activeByDefault="true"
-		        class="org.eclipse.jdt.internal.ui.filters.ImportDeclarationFilter"
-		        name="%HideImportDeclaration.label"
-		        description="%HideImportDeclaration.description"
-		        id="org.eclipse.jdt.java.ui.filters.HideImportDeclaration"/> 
-  		<commonFilter
-		        activeByDefault="true"
-		        name="%HideInnerClassFiles.label"
-		        description="%HideInnerClassFiles.description"
-		        id="org.eclipse.jdt.java.ui.filters.HideInnerClassFiles"> 
-	         <filterExpression>
-	         	<and>
-		            <instanceof value="org.eclipse.core.resources.IFile"/>
-	            	<test property="org.eclipse.core.resources.name" value="*$*.class"/>	            
-		        </and>
-	         </filterExpression>		        
-		</commonFilter>		 
-  		<commonFilter 
-		        class="org.eclipse.jdt.internal.ui.filters.JavaFileFilter"
-		        name="%HideJavaFiles.label"
-		        description="%HideJavaFiles.description"
-		        id="org.eclipse.jdt.java.ui.filters.HideJavaFiles"/> 		 
-  		<commonFilter 
-		        class="org.eclipse.jdt.internal.ui.filters.LocalTypesFilter"
-		        name="%HideLocalTypes.label"
-		        description="%HideLocalTypes.description"
-		        id="org.eclipse.jdt.java.ui.filters.HideLocalTypes"/>    		 
-  		<commonFilter 
-		        class="org.eclipse.jdt.internal.ui.filters.NonJavaElementFilter"
-		        name="%HideNonJavaElements.label"
-		        description="%HideNonJavaElements.description"
-		        id="org.eclipse.jdt.java.ui.filters.HideNonJavaElements"/>   		
-  		<commonFilter 
-		        class="org.eclipse.jdt.internal.ui.filters.NonJavaProjectsFilter"
-		        name="%HideNonJavaProjects.label"
-		        description="%HideNonJavaProjects.description"
-		        id="org.eclipse.jdt.java.ui.filters.HideNonJavaProjects"/>   
-  		<commonFilter 
-		        class="org.eclipse.jdt.internal.ui.filters.NonPublicFilter"
-		        name="%HideNonPublic.label"
-		        description="%HideNonPublic.description"
-		        id="org.eclipse.jdt.java.ui.filters.HideNonPublic"/>   
-  		<commonFilter 
-		        class="org.eclipse.jdt.internal.ui.filters.NonSharedProjectFilter"
-		        name="%HideNonSharedProjects.label"
-		        description="%HideNonSharedProjects.description"
-		        id="org.eclipse.jdt.java.ui.filters.HideNonSharedProjects"/>   
-  		<commonFilter
-		        activeByDefault="true"
-		        class="org.eclipse.jdt.internal.ui.filters.PackageDeclarationFilter"
-		        name="%HidePackageDeclaration.label"
-		        description="%HidePackageDeclaration.description"
-		        id="org.eclipse.jdt.java.ui.filters.HidePackageDeclaration"/>   
-  		<commonFilter 
-		        class="org.eclipse.jdt.internal.ui.filters.LibraryFilter"
-		        name="%HideReferencedLibraries.label"
-		        description="%HideReferencedLibraries.description"
-		        id="org.eclipse.jdt.java.ui.filters.HideReferencedLibraries"/>   
-  		<commonFilter 
-		        class="org.eclipse.jdt.internal.ui.filters.StaticsFilter"
-		        name="%HideStatics.label"
-		        description="%HideStatics.description"
-		        id="org.eclipse.jdt.java.ui.filters.HideStatics"/>
-  		<commonFilter
-		        activeByDefault="true"
-		        class="org.eclipse.jdt.internal.ui.filters.SyntheticMembersFilter"
-		        name="%HideSyntheticMembers.label"
-		        description="%HideSyntheticMembers.description"
-		        id="org.eclipse.jdt.java.ui.filters.HideSyntheticMembers"/>
-	</extension>
-	<extension
-       point="org.eclipse.ui.navigator.linkHelper">
-		<linkHelper
-	          class="org.eclipse.jdt.internal.ui.navigator.JavaFileLinkHelper"
-	          id="org.eclipse.jdt.java.ui.javaLinkHelper">          
-	         <editorInputEnablement>
-		         <or> 
-		         	<instanceof
-							value="org.eclipse.ui.IFileEditorInput" />
-		         	<instanceof
-							value="org.eclipse.jdt.internal.ui.javaeditor.IClassFileEditorInput" />
-		         	<instanceof
-							value="org.eclipse.jdt.internal.ui.javaeditor.JarEntryEditorInput" />
-		         </or>
-	         </editorInputEnablement>
-	         <selectionEnablement>
-	         	<or>
-					<adapt
-							type="org.eclipse.core.resources.IProject" >
-					</adapt>
-					<instanceof
-							value="org.eclipse.core.resources.IWorkspaceRoot" />
-					<instanceof
-							value="org.eclipse.core.resources.IFolder" />
-					<instanceof
-							value="org.eclipse.core.resources.IFile" />
-					<instanceof
-							value="org.eclipse.core.resources.IStorage" />
-					<instanceof
-							value="org.eclipse.jdt.core.IJavaProject" />
-					<instanceof
-							value="org.eclipse.jdt.core.IJavaElement" />
-					<instanceof
-							value="org.eclipse.jdt.internal.core.JarEntryFile" />
-					<instanceof
-							value="org.eclipse.jdt.core.IClassFile" />
-					<instanceof
-							value="org.eclipse.jdt.internal.ui.packageview.PackageFragmentRootContainer" />
-				</or>
-	         </selectionEnablement>
-      	</linkHelper>          
- </extension>
-     
-</plugin>
diff --git a/ui/org.eclipse.pde.ui.tests/tests/performance/schema/navigatorContent.exsd b/ui/org.eclipse.pde.ui.tests/tests/performance/schema/navigatorContent.exsd
deleted file mode 100644
index e960aff..0000000
--- a/ui/org.eclipse.pde.ui.tests/tests/performance/schema/navigatorContent.exsd
+++ /dev/null
@@ -1,871 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.navigator">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ui.navigator" id="navigatorContent" name="navigatorContent"/>
-      </appInfo>
-      <documentation>
-         A content extension provides a content and label provider 
-that can be used by a navigator content service. The
-&lt;b&gt;navigatorContent&lt;/b&gt; extension defines the specific classes 
-for the content provider, label provider, and action provider
-in addition to the types of elements the extension knows about. 
-&lt;p&gt;
-The &lt;b&gt;triggerPoints&lt;/b&gt; expression describes the elements that will
-cause this extension to be invoked for either children or for
-labels. The &lt;b&gt;possibleChildren&lt;/b&gt; expression describes the elements 
-that the extension may be able to provide a parent for. Clients
-should describe all elements that could be set as the selection
-to ensure that the link with editor support can properly 
-expand to the right node.
-&lt;p&gt;
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <choice>
-               <element ref="navigatorContent" minOccurs="0" maxOccurs="1"/>
-               <element ref="actionProvider" minOccurs="0" maxOccurs="1"/>
-               <element ref="commonWizard" minOccurs="0" maxOccurs="1"/>
-               <element ref="commonFilter" minOccurs="0" maxOccurs="1"/>
-            </choice>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="navigatorContent">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-         <documentation>
-            A navigator content extension defines a content provider and label provider that can be used to provide children whenever an element matches the &lt;b&gt;triggerPoints&lt;/b&gt; expression and also to provide a parent whenever an element matches the &lt;b&gt;possibleChildren&lt;/b&gt; expression. 
-&lt;br&gt;&lt;br&gt;
-Optionally, clients may also provide an action provider which can provide menu contributions and action bar contributions when an element is selected that the extension contributed, or that matches the &lt;b&gt;triggerPoints&lt;/b&gt; expression. Clients may also choose to contribute a sorter to sort elements that are contributed by the extension.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <choice>
-               <element ref="enablement"/>
-               <sequence>
-                  <element ref="triggerPoints"/>
-                  <element ref="possibleChildren"/>
-               </sequence>
-            </choice>
-            <element ref="actionProvider" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="commonSorter" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="override" minOccurs="0" maxOccurs="1"/>
-            <element ref="dropAssistant" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="commonWizard" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A unique ID to identify this extension. Used for extension activation and by other extensions that would like to extend the defined extension (e.g. add another &lt;code&gt;org.eclipse.ui.navigator.CommonActionProvider&lt;/code&gt;)
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Specify a display name for the Content Extension. The display name is used in the activation dialog to allow clients to turn an extension on or off.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="priority">
-            <annotation>
-               <documentation>
-                  Indicates the relative priority of this extension to other extensions. Used by the Common Navigator to handle sorting and organization of the contributed content from this extension in relation to content from other extensions. Defaults to &quot;normal&quot;
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="lowest">
-                  </enumeration>
-                  <enumeration value="lower">
-                  </enumeration>
-                  <enumeration value="low">
-                  </enumeration>
-                  <enumeration value="normal">
-                  </enumeration>
-                  <enumeration value="high">
-                  </enumeration>
-                  <enumeration value="higher">
-                  </enumeration>
-                  <enumeration value="highest">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-         <attribute name="contentProvider" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Supplies the name of a class which implements &lt;code&gt;org.eclipse.jface.viewers.ITreeContentProvider&lt;/code&gt; or &lt;code&gt;org.eclipse.ui.navigator.ICommonContentProvider&lt;/code&gt;.
-&lt;br&gt;&lt;br&gt;
-The content provider will be consulted when addeding children to the tree. Use the &lt;b&gt;enablement&lt;/b&gt; or &lt;b&gt;triggerPoints&lt;/b&gt; clause to indicate what kinds of content should trigger a request to your content provider.
-&lt;br&gt;&lt;br&gt; 
-Elements contributed from the content provider are not guaranteed to appear in the tree in the same order. Clients should take advantage of the sorting extension (&lt;b&gt;commonSorter&lt;/b&gt;) to ensure proper ordering of their elements.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.viewers.ITreeContentProvider"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="icon" type="string">
-            <annotation>
-               <documentation>
-                  A plugin-relative path to an icon for use when displaying the metadata about the content extension to the user.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="activeByDefault" type="boolean">
-            <annotation>
-               <documentation>
-                  Indicates whether the current extension will be &lt;i&gt;active&lt;/i&gt; by default. Each content extension may be turned on or off by the user. The &lt;i&gt;active&lt;/i&gt; state is differentiated from the &lt;i&gt;visible&lt;/i&gt; state. See &lt;b&gt;org.eclipse.ui.navigator.viewer/viewerContentBinding&lt;/b&gt; for more information on &lt;i&gt;visibility&lt;/i&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="providesSaveables" type="boolean">
-            <annotation>
-               <documentation>
-                  Indicates whether this extension provides saveables. The default is false. If set to true, the content provider must adapt to SaveablesProvider.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="labelProvider" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Supplies the name of a class which implements &lt;code&gt;org.eclipse.jface.viewers.ILabelProvider&lt;/code&gt; or for more advanced functionality, the &lt;code&gt;org.eclipse.ui.navigator.ICommonLabelProvider&lt;/code&gt;.
-&lt;br&gt;&lt;br&gt;
-Clients may also implement &lt;code&gt;org.eclipse.ui.navigator.IDescriptionProvider&lt;/code&gt; in order to add text to the status bar at the bottom of the Eclipse workbench based on the selection in the viewer.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.viewers.ILabelProvider"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="enablement">
-      <annotation>
-         <documentation>
-            The enablement expression allows clients to specify the same expression for both &lt;b&gt;triggerPoints&lt;/b&gt; and &lt;b&gt;possibleChildren&lt;/b&gt;.
-&lt;br&gt;&lt;br&gt;
-In the case of &lt;b&gt;actionProvider&lt;/b&gt;, clients must define an expression that will indicate to the framework when their &lt;code&gt;org.eclipse.ui.navigator.CommonActionProvider&lt;/code&gt; should be invoked. Because of contributions to the IActionBars, clients must be invoked whenever an object they are interested in is selected. Therefore, clients should use discretion in deciding when their extension should be enabled.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence minOccurs="0" maxOccurs="unbounded">
-            <element ref="not"/>
-            <element ref="and"/>
-            <element ref="or"/>
-            <element ref="instanceof"/>
-            <element ref="test"/>
-            <element ref="systemTest"/>
-            <element ref="equals"/>
-            <element ref="count"/>
-            <element ref="with"/>
-            <element ref="resolve"/>
-            <element ref="adapt"/>
-            <element ref="iterate"/>
-         </sequence>
-      </complexType>
-   </element>
-
-   <element name="triggerPoints">
-      <annotation>
-         <documentation>
-            The &lt;b&gt;triggerPoints&lt;/b&gt; expression defines the nodes in a tree that should cause this extension to be invoked for children.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence minOccurs="0" maxOccurs="unbounded">
-            <element ref="not"/>
-            <element ref="and"/>
-            <element ref="or"/>
-            <element ref="instanceof"/>
-            <element ref="test"/>
-            <element ref="systemTest"/>
-            <element ref="equals"/>
-            <element ref="count"/>
-            <element ref="with"/>
-            <element ref="resolve"/>
-            <element ref="adapt"/>
-            <element ref="iterate"/>
-         </sequence>
-      </complexType>
-   </element>
-
-   <element name="possibleChildren">
-      <annotation>
-         <documentation>
-            The &lt;b&gt;possibleChildren&lt;/b&gt; expression defines the nodes in a tree that could be contributed by this extension. Clients should describes when this content extension could provide a parent for elements that match the expression.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence minOccurs="0" maxOccurs="unbounded">
-            <element ref="not"/>
-            <element ref="and"/>
-            <element ref="or"/>
-            <element ref="instanceof"/>
-            <element ref="test"/>
-            <element ref="systemTest"/>
-            <element ref="equals"/>
-            <element ref="count"/>
-            <element ref="with"/>
-            <element ref="resolve"/>
-            <element ref="adapt"/>
-            <element ref="iterate"/>
-         </sequence>
-      </complexType>
-   </element>
-
-   <element name="actionProvider">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="class"/>
-         </appInfo>
-         <documentation>
-            Supplies the name of a class that implements &lt;code&gt;org.eclipse.ui.navigator.CommonActionProvider&lt;/code&gt;. The action provider has an opportunity to contribute to the context menu and the retargetable actions defined in the IActionBars for the view that holds the navigator. Clients may also contribute directly to the view menu through the IActionBars view menu.
-&lt;br&gt;&lt;br&gt;
-A top level &lt;b&gt;actionProvider&lt;/b&gt; is &lt;i&gt;visible&lt;/i&gt; to an abstract viewer if there is a &lt;b&gt;viewerActionBinding&lt;/b&gt; for that &lt;b&gt;actionProvider&lt;/b&gt;. For actionProviders that are nested under a &lt;b&gt;navigatorContent&lt;/b&gt; element, the visibility will be controlled by the id of the navigatorContent extension id. Child action providers will automatically
-be picked up by matching &lt;b&gt;viewerContentBinding&lt;/b&gt;s. See &lt;b&gt;org.eclipse.ui.navigator.viewer&lt;/b&gt; for more information on visibility bindings.
-&lt;br&gt;&lt;br&gt;
-Clients may provide &lt;b&gt;actionProvider&lt;/b&gt;(s) under the root &lt;b&gt;extention&lt;/b&gt; element (peer to other &lt;b&gt;navigatorContent&lt;/b&gt;) in order to better control their enablement and viewer binding (see &lt;b&gt;veiwerActionBinding&lt;/b&gt;).
-&lt;br&gt;&lt;br&gt;
-For root &lt;b&gt;actionProviders&lt;/b&gt; with no id, the id defaults to &quot;org.eclipse.ui.navigator.actionProvider.X&quot;. For these &lt;b&gt;actionProvider&lt;/b&gt;s to be given the opportunity to contribute the menus or action bars of a viewer, a &lt;b&gt;viewerActionBinding&lt;/b&gt; must be defined (as part of the &lt;b&gt;org.eclipse.ui.navigator.viewer extension point&lt;/b&gt;) which declares a binding between the specific viewer and the default id (&quot;org.eclipse.ui.navigator.actionProvider.*&quot;). See the documentation for &lt;b&gt;viewerActionBinding&lt;/b&gt; under the schema documentation of &lt;b&gt;org.eclipse.ui.navigator.viewer&lt;/b&gt; for more information.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="enablement" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.navigator.CommonActionProvider"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  Clients may optionally define an id to use for filtering purposes (either through activities or &lt;b&gt;viewerContentBinding&lt;/b&gt;s).
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="dependsOn" type="string">
-            <annotation>
-               <documentation>
-                  Specifies the ID of an action provider that configures some menu or submenu that must be prepared before this action provider is applied. 
-&lt;br&gt;&lt;br&gt;
-Specifying a dependency on another action provider does not guarantee that this action provider will be invoked whereever the required action provider is invoked. The downstream action provider must be bound to the particular viewer to be invoked.  
-&lt;br&gt;&lt;br&gt;
-If the required action provider is disabled or unbound to the current viewer, then this action provider will not be applied. If a cycle exists, the framework will try to continue, but there are no guarantees as to what menu items or action bar contributions will be available.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="overrides" type="string">
-            <annotation>
-               <documentation>
-                  Specify the id of an &lt;b&gt;actionProvider&lt;/b&gt; which is defined by an upstream contributor that must be overridden. The upstream &lt;b&gt;actionProvider&lt;/b&gt; will not be given an opportunity to contribute menu options or retargetable actions when this &lt;b&gt;actionProvider&lt;/b&gt; is &lt;i&gt;visible&lt;/i&gt; and &lt;i&gt;enabled&lt;/i&gt;.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="commonWizard">
-      <annotation>
-         <documentation>
-            The extension point provides the ability to contribute to the menu defined by type.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="enablement"/>
-         </sequence>
-         <attribute name="type" use="required">
-            <annotation>
-               <documentation>
-                  The type atttribute should be the value of the root category of the expected wizard. The possible values include &quot;import&quot; for &lt;b&gt;org.eclipse.ui.importWizards&lt;/b&gt;, &quot;export&quot; &lt;b&gt;org.eclipse.ui.exportWizards&lt;/b&gt;, and &quot;new&quot; for &lt;b&gt;org.eclipse.ui.newWizards&lt;/b&gt;
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="import">
-                  </enumeration>
-                  <enumeration value="export">
-                  </enumeration>
-                  <enumeration value="new">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-         <attribute name="wizardId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The id of the desired wizard shortcut as defined by &lt;b&gt;org.eclipse.ui.importWizards&lt;/b&gt;, &lt;b&gt;org.eclipse.ui.exportWizards&lt;/b&gt;, or &lt;b&gt;org.eclipse.ui.newWizards&lt;/b&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="menuGroupId" type="string">
-            <annotation>
-               <documentation>
-                  Indicates a user-defined logical grouping id. &lt;b&gt;commonWizard&lt;/b&gt; extensions with matching &lt;i&gt;menuGroupId&lt;/i&gt;s will be indicated as related items when rendered as menu options to endusers. How the grouping will be done is not guaranteed. In particular, clients should never anticipate a menu separator or group marker of the given name to be present in the menu. 
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="associatedExtensionId" type="string">
-            <annotation>
-               <documentation>
-                  A &lt;b&gt;commonWizard&lt;/b&gt; may be defined as the nested child of a &lt;b&gt;navigatorContent&lt;/b&gt; extension point, in which case the &lt;i&gt;associatedExtensionId&lt;/i&gt; is automatically set to the id of its enclosing &lt;b&gt;naviagatorContent&lt;/b&gt; element. However, when specified as a top-level extension, a &lt;b&gt;commonWizard&lt;/b&gt; may indicate an content extension that it should be associated with explicitly. When a &lt;b&gt;commonWizard&lt;/b&gt; is associated with a content extension, it will inherit the &lt;i&gt;visibility&lt;/i&gt; and the &lt;i&gt;activation&lt;/i&gt; of that content extension. 
-&lt;br&gt;&lt;br&gt;
-That is, if the content extension is bound to a Common Navigator (see &lt;b&gt;org.eclipse.ui.navigator.viewer/viewerContentBinding&lt;/b&gt;) and the user has the content extension &lt;i&gt;activated&lt;/i&gt; either by default or through the &quot;Available Extensions&quot; dialog, then the &lt;b&gt;commonWizard&lt;/b&gt; menu option would appear. However, when the user &lt;i&gt;deactivates&lt;/i&gt; that content extension, the &lt;b&gt;commonWizard&lt;/b&gt; menu option would no longer be shown in the menu.
-&lt;br&gt;&lt;br&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="commonFilter">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-         <documentation>
-            Defines a filter that can big associated with a particular Common Viewer. Common filters are bound to a viewer like content extensions by using &lt;b&gt;org.eclipse.ui.navigator.viewer/viewerContentBinding&lt;/b&gt;.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="filterExpression" minOccurs="0" maxOccurs="1"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A unique identifier that will be used for management of this &lt;b&gt;filterExpression&lt;/b&gt;. The id will be used by the &lt;b&gt;org.eclipse.ui.navigator.viewer/viewerContentBinding&lt;/b&gt; to bind this filter to a matching viewer.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A translateable name that will be used to refer to this particular filter in dialogs presented to the user.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  A translatable description of what this filter is designed to hide from the view.
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  Clients may choose to define an explicit ViewerFilter subclass via the &quot;class&quot; attribute. Alternatively, clients may choose to nest a &lt;b&gt;filterExpression&lt;/b&gt; element to describe what the filter should hide. Clients may use either &lt;b&gt;filterExpression&lt;/b&gt; or the &quot;class&quot; attribute, but not both.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.viewers.ViewerFilter"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="activeByDefault" type="boolean">
-            <annotation>
-               <documentation>
-                  A value of true indicates the filter should be &quot;on&quot; by default. The user may customize whether the filter is on or off regardless of the value of this attribute. This attribute defines whether the filter is &quot;on&quot; the first time the view is brought up.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="filterExpression">
-      <annotation>
-         <documentation>
-            An optional Eclipse Core Expression that defines what the filter should hide from a particular view. 
-&lt;br&gt;&lt;br&gt;
-For instance, clients may decide to hide all resources that have a particular pattern in their name (like &quot;*.acme&quot;). When the filter is active (turned on by default or by the user), then all resources that end in &quot;acme&quot; would be hidden from the view of the user. 
-&lt;br&gt;&lt;br&gt;
-Clients may use either &lt;b&gt;filterExpression&lt;/b&gt; or the &quot;class&quot; attribute, but not both.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence minOccurs="0" maxOccurs="unbounded">
-            <element ref="not"/>
-            <element ref="and"/>
-            <element ref="or"/>
-            <element ref="instanceof"/>
-            <element ref="test"/>
-            <element ref="systemTest"/>
-            <element ref="equals"/>
-            <element ref="count"/>
-            <element ref="with"/>
-            <element ref="resolve"/>
-            <element ref="adapt"/>
-            <element ref="iterate"/>
-         </sequence>
-      </complexType>
-   </element>
-
-   <element name="commonSorter">
-      <annotation>
-         <documentation>
-            A &lt;b&gt;commonSorter&lt;/b&gt; declares an subclass of &lt;code&gt;org.eclipse.jface.viewers.ViewerSorter&lt;/code&gt; which is used to sort children in the tree. The nested &lt;b&gt;parentExpression&lt;/b&gt; describes when the &lt;b&gt;commonSorter&lt;/b&gt; should be used. If an element matches the &lt;b&gt;parentExpression&lt;/b&gt;, then its children will be sorted by this &lt;b&gt;commonSorter&lt;/b&gt;.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="parentExpression"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The id is used to identify the sorter when debugging a viewer.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A subclass of &lt;code&gt;org.eclipse.jface.viewers.ViewerSorter&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.jface.viewers.ViewerSorter"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="parentExpression">
-      <annotation>
-         <documentation>
-            A &lt;b&gt;parentExpression&lt;/b&gt; is used by &lt;b&gt;commonSorter&lt;/b&gt; to identify when it is applicable. If the &lt;b&gt;parentExpression&lt;/b&gt; for a &lt;b&gt;commonSorter&lt;/b&gt; matches a given element, then that &lt;b&gt;commonSorter&lt;/b&gt; will be used to sort the children of that element (as returned by the content provider of the content service).
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence minOccurs="0" maxOccurs="unbounded">
-            <element ref="not"/>
-            <element ref="and"/>
-            <element ref="or"/>
-            <element ref="instanceof"/>
-            <element ref="test"/>
-            <element ref="systemTest"/>
-            <element ref="equals"/>
-            <element ref="count"/>
-            <element ref="with"/>
-            <element ref="resolve"/>
-            <element ref="adapt"/>
-            <element ref="iterate"/>
-         </sequence>
-      </complexType>
-   </element>
-
-   <element name="override">
-      <annotation>
-         <documentation>
-            When the &lt;b&gt;triggerPoints&lt;/b&gt; expression of the suppressed extension and the declared extension are both &lt;i&gt;enabled&lt;/i&gt; on a given element, this extension will be invoked, but its suppressed extension will not. Clients that specify an &lt;b&gt;override&lt;/b&gt; element must also provide a content provider which implements &lt;code&gt;org.eclipse.ui.navigator.IPipelinedTreeContentProvider&lt;/code&gt;, which provides methods to intercept requests for children, parents, and direct updates to the viewer.
-&lt;br&gt;&lt;br&gt;
-         </documentation>
-      </annotation>
-      <complexType>
-         <attribute name="suppressedExtensionId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The id of an extension should be suppressed when this extension is &lt;i&gt;visible&lt;/i&gt; and &lt;i&gt;active&lt;/i&gt;.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="policy" use="default" value="InvokeAlwaysRegardlessOfSuppressedExt">
-            <annotation>
-               <documentation>
-                  The policy declares how the extension should be invoked by the framework. If the policy is left unspecified, then it defaults to &lt;i&gt;InvokeAlwaysRegardlessOfSuppressedExt&lt;/i&gt;. The available policies are as follows:&lt;br&gt;
-&lt;ul&gt;
-  &lt;li&gt;&lt;i&gt;InvokeOnlyIfSuppressedExtAlsoVisibleAndActive&lt;/i&gt;: This extension is expressly an overriding extension; unless its suppressed extension is &lt;i&gt;visible&lt;/i&gt; and &lt;i&gt;active&lt;/i&gt; to the viewer, this extension should not be given opportunities to contribute. When using this policy, this extension will only be invoked when the &lt;b&gt;triggerPoints&lt;/b&gt; expression of its suppressed extension and the &lt;b&gt;triggerPoints&lt;/b&gt; expression of this extension are &lt;i&gt;enabled&lt;/i&gt; for a given element. Therefore, the &lt;b&gt;triggerPoints&lt;/b&gt; and &lt;b&gt;possibleChildren&lt;/b&gt; expressions of this extension should be a subset of the &lt;b&gt;triggerPoints&lt;/b&gt; and &lt;b&gt;possibleChildren&lt;/b&gt; expressions respectively of its suppressed extension.&lt;/li&gt;
-  &lt;li&gt;&lt;i&gt;InvokeAlwaysRegardlessOfSuppressedExt&lt;/i&gt; (default): Indicates that this extension is a first class extension; it should be given opportunities to contribute content regardless if its &lt;i&gt;suppressedExtensionId&lt;/i&gt; is &lt;i&gt;visible&lt;/i&gt; or &lt;i&gt;active&lt;/i&gt; to the viewer. Thus, the extension is a first-class extension and an overriding extension. It will be invoked whenever its &lt;b&gt;triggerPoints&lt;/b&gt; expression is matched. When the suppressed extension and its &lt;b&gt;triggerPoints&lt;/b&gt; extension is matched, it will be invoked with the contributed items from its suppressed extension; the suppressed extension will not be given an opportunity to directly contribute.&lt;/li&gt;
-&lt;/ul&gt;
-               </documentation>
-            </annotation>
-            <simpleType>
-               <restriction base="string">
-                  <enumeration value="InvokeOnlyIfSuppressedExtAlsoVisibleAndActive">
-                  </enumeration>
-                  <enumeration value="InvokeAlwaysRegardlessOfSuppressedExt">
-                  </enumeration>
-               </restriction>
-            </simpleType>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="dropAssistant">
-      <annotation>
-         <documentation>
-            Provides a subclass of &lt;code&gt;org.eclipse.ui.navigator.CommonDropAdapterAssistant&lt;/code&gt; which can provide programatic validation for a drop operation, request additional transfer types, and handle the drop operation. 
-&lt;br&gt;&lt;br&gt;
-A &lt;b&gt;dropAssistant&lt;/b&gt; will be invoked whenever elements that are dragged match the &lt;b&gt;possibleChildren&lt;/b&gt; expression of the containing &lt;b&gt;navigatorContent&lt;/b&gt; extension &lt;i&gt;and&lt;/i&gt; the drop target of the operation is described by the &lt;b&gt;possibleDropTargets&lt;/b&gt; expression of the &lt;b&gt;dropAssistant&lt;/b&gt; element.
-&lt;br&gt;&lt;br&gt;
-An extension may have multiple drop adapters with mutually exclusive &lt;b&gt;possibleDropTargets&lt;/b&gt; expressions. The first drop adapter found that matches the given drop target and returns an OK status for &lt;code&gt;CommonDropAdapterAssistant.validateDrop(...)&lt;/code&gt; will be given an opportunity to handle the drop. 
-&lt;br&gt;&lt;br&gt;
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence>
-            <element ref="possibleDropTargets"/>
-         </sequence>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  The id is used to refer to the drop assistant internally. The id should be unique.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  An implementation of &lt;code&gt;org.eclipse.ui.navigator.CommonDropAdapterAssistant&lt;/code&gt;
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.ui.navigator.CommonDropAdapterAssistant"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="possibleDropTargets">
-      <annotation>
-         <documentation>
-            Describe the possible drop targets that a particular &lt;b&gt;dropAssistant&lt;/b&gt; can handle.
-         </documentation>
-      </annotation>
-      <complexType>
-         <sequence minOccurs="0" maxOccurs="unbounded">
-            <element ref="not"/>
-            <element ref="and"/>
-            <element ref="or"/>
-            <element ref="instanceof"/>
-            <element ref="test"/>
-            <element ref="systemTest"/>
-            <element ref="equals"/>
-            <element ref="count"/>
-            <element ref="with"/>
-            <element ref="resolve"/>
-            <element ref="adapt"/>
-            <element ref="iterate"/>
-         </sequence>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.2
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;br&gt;
-&lt;h2&gt;Adding content&lt;/h2&gt;
-&lt;p&gt;
-The following example describes a content extension that 
-provides resource content. The &lt;b&gt;triggerPoints&lt;/b&gt; expression
-determines when this extension is initially invoked. If 
-a &lt;b&gt;viewerContentBinding&lt;/b&gt; matches this extension with
-the &quot;isRoot&quot; attribute set to true, then the extension
-will be used, regardless of whether the root element
-matches the &lt;b&gt;triggerPoints&lt;/b&gt; expression.   
-&lt;p&gt;
-&lt;pre&gt;
-&lt;extension  
-  point=&quot;org.eclipse.ui.navigator.navigatorContent&quot;&gt;
- &lt;navigatorContent
-            name=&quot;%resource.extension.name&quot;
-            priority=&quot;low&quot;
-            icon=&quot;icons/full/eview16/resource_persp.gif&quot;
-            activeByDefault=&quot;true&quot;
-               contentProvider=&quot;org.eclipse.ui.navigator.resources.internal.workbench.ResourceExtensionContentProvider&quot;
-               labelProvider=&quot;org.eclipse.ui.navigator.resources.internal.workbench.ResourceExtensionLabelProvider&quot;   
-               sorter=&quot;org.eclipse.ui.navigator.resources.internal.workbench.ResourceSorter&quot;
-            id=&quot;org.eclipse.ui.navigator.resourceContent&quot;&gt;         
-  &lt;triggerPoints&gt;
-           &lt;or&gt;         
-              &lt;instanceof 
-                    value=&quot;org.eclipse.core.resources.IWorkspaceRoot&quot; /&gt; 
-              &lt;instanceof
-                    value=&quot;org.eclipse.core.resources.IProject&quot; /&gt;  
-              &lt;instanceof  
-                     value=&quot;org.eclipse.core.resources.IFolder&quot; /&gt; 
-           &lt;/or&gt;
-  &lt;/triggerPoints&gt;
-        &lt;possibleChildren&gt;
-           &lt;or&gt;         
-              &lt;instanceof 
-                    value=&quot;org.eclipse.core.resources.IWorkspaceRoot&quot; /&gt; 
-              &lt;instanceof
-                    value=&quot;org.eclipse.core.resources.IProject&quot; /&gt; 
-              &lt;instanceof 
-                     value=&quot;org.eclipse.core.resources.IResource&quot; /&gt; 
-              &lt;instanceof  
-                     value=&quot;org.eclipse.core.resources.IFolder&quot; /&gt;
-              &lt;instanceof 
-                     value=&quot;org.eclipse.core.resources.IFile&quot; /&gt; 
-         &lt;/or&gt;
-     &lt;/possibleChildren&gt;
- &lt;/navigatorContent&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-&lt;h2&gt;Adding Actions&lt;/h2&gt;
-&lt;p&gt;
-Clients may use object or viewer contributions (see &lt;b&gt;org.eclipse.ui.popupMenus&lt;/b&gt;) to provide
-actions for their view. Sometimes, clients require a greater degree of flexibility than either
-of these approaches allow, and therefore the Common Navigator framework supports adding 
-action providers. &quot;Action providers&quot; subclass &lt;code&gt;org.eclipse.ui.actions.ActionGroup&lt;/code&gt;
-and have opportunities to fill the action bars and the menus based on different events 
-(selection and right click respectively).
-&lt;/p&gt;
-&lt;p&gt;
-Clients may either associate one or more action providers with a particular
-content extension, or declare the action providers as top level contributions, unassociated
-with any particular content extension. Top level action provideers must be associated with
-a particular instance of vierwer using the &lt;b&gt;org.eclipse.ui.navigator.viewer/viewerActionBinding&lt;/b&gt;
-extension point. Nested action providers are automatically bound to a viewer based on whether
-their containing content extension is also bound to the viewer 
-(see &lt;b&gt;org.eclipse.ui.navigator/viewerContentBinding&lt;/b&gt;). 
-&lt;p&gt;
-&lt;p&gt;
-The following example demonstrates both approaches. The &quot;TestNestedActionProvider&quot; will be 
-given an opporunity to contribute to the menu and &lt;code&gt;org.eclipse.ui.IActionBars&lt;/code&gt; only
-when the &quot;org.eclipse.ui.tests.navigator.testContent&quot; extension is &lt;i&gt;visible&lt;/i&gt; and &lt;i&gt;active&lt;/i&gt;.
-If the user deactivates the test extension from the &quot;Available customizations&quot; dialog, then the
-nested action provider will no longer be given the opportunity to contribute. 
-&lt;pre&gt;
-&lt;extension  
-  point=&quot;org.eclipse.ui.navigator.navigatorContent&quot;&gt; 
-      &lt;navigatorContent 
-            id=&quot;org.eclipse.ui.tests.navigator.testContent&quot; 
-            name=&quot;%test.navigator.extension&quot;
-            contentProvider=&quot;org.eclipse.ui.tests.navigator.extension.TestContentProvider&quot;
-            labelProvider=&quot;org.eclipse.ui.tests.navigator.extension.TestLabelProvider&quot;
-            activeByDefault=&quot;true&quot;
-            priority=&quot;normal&quot;&gt;
-         &lt;triggerPoints&gt;
-            &lt;instanceof value=&quot;org.eclipse.core.resources.IProject&quot;/&gt;
-         &lt;/triggerPoints&gt; 
-        &lt;actionProvider
-            class=&quot;org.eclipse.ui.tests.navigator.extension.TestNestedActionProvider&quot;
-            id=&quot;org.eclipse.ui.tests.navigator.extension.TestNestedActionProvider&quot;&gt;
-          &lt;enablement&gt;
-             &lt;instanceof value=&quot;org.eclipse.core.resources.IResource&quot;/&gt;
-          &lt;/enablement&gt;
-        &lt;/actionProvider&gt;
-      &lt;/navigatorContent&gt;  
-        &lt;actionProvider
-             class=&quot;org.eclipse.ui.navigator.resources.internal.actions.NewActionProvider&quot;
-             id=&quot;org.eclipse.ui.navigator.resources.NewActions&quot;&gt; 
-         &lt;enablement&gt;
-    &lt;or&gt;
-     &lt;adapt type=&quot;org.eclipse.core.resources.IFile&quot; /&gt; 
-     &lt;adapt type=&quot;org.eclipse.core.resources.IFolder&quot; /&gt;
-            &lt;adapt type=&quot;org.eclipse.core.resources.IProject&quot; /&gt; 
-                 &lt;adapt type=&quot;org.eclipse.core.resources.IWorkspaceRoot&quot; /&gt; 
-    &lt;/or&gt;
-          &lt;/enablement&gt;
-  &lt;/actionProvider&gt;
-&lt;/extension&gt;  
-&lt;/pre&gt;
-&lt;/p&gt;
-
-
-&lt;p&gt;
-Clients may define filters using either subclasses of &lt;code&gt;org.eclipse.jface.viewers.ViewerFilter&lt;/code&gt; 
-or through Eclipse core expressions. The folowing example demonstrates both techniques. Clients may 
-only use of the two options. Extensions that specify both in error will result in only the core
-expression filter being respected. The name and description fields are translateable, and should externalized
-strings in real environments.
-
-&lt;p&gt;
-&lt;pre&gt;
-&lt;extension  
-  point=&quot;org.eclipse.ui.navigator.navigatorContent&quot;&gt;
- &lt;commonFilter
-      class=&quot;org.eclipse.ui.tests.navigator.extension.TestItemsThatEndIn3&quot;
-            description=&quot;Hide TestItem objects that end in the number &amp;quot;3&amp;quot;&quot;
-            id=&quot;org.eclipse.ui.tests.navigator.filters.TestItemsThatEndWith3&quot;
-            name=&quot;TestItems that end with &amp;quot;3&amp;quot;&quot;
-            activeByDefault=&quot;true&quot;
-            /&gt; 
- &lt;commonFilter
-            description=&quot;Hides all instances of Test Item&quot;
-            id=&quot;org.eclipse.ui.tests.navigator.filters.AllTestItems&quot;
-            name=&quot;A TestItem Exp Filter (should be sorted alphab..)&quot;&gt;
-         &lt;filterExpression&gt;
-            &lt;instanceof value=&quot;org.eclipse.ui.tests.navigator.extension.TestExtensionTreeData&quot;/&gt;
-         &lt;/filterExpression&gt;
- &lt;/commonFilter&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-&lt;/p&gt;
-
-&lt;p&gt;
-A common sorter is determined for a set of children based on their parent. The sorter class
-must subclass the &lt;code&gt;org.eclipse.jface.viewers.ViewerSorter&lt;/code&gt;. 
-&lt;p&gt;
-&lt;pre&gt;
-
-&lt;extension  
-  point=&quot;org.eclipse.ui.navigator.navigatorContent&quot;&gt;
- &lt;commonSorter
-      class=&quot;org.eclipse.ui.navigator.resources.internal.workbench.ResourceExtensionSorter&quot;
-            id=&quot;org.eclipse.ui.navigator.resources.sorters.defaultSorter&quot;&gt;
-  &lt;parentExpression&gt;
-         &lt;or&gt;         
-       &lt;instanceof 
-           value=&quot;org.eclipse.core.resources.IWorkspaceRoot&quot; /&gt; 
-          &lt;instanceof
-           value=&quot;org.eclipse.core.resources.IProject&quot; /&gt; 
-          &lt;instanceof 
-           value=&quot;org.eclipse.core.resources.IResource&quot; /&gt; 
-          &lt;instanceof  
-           value=&quot;org.eclipse.core.resources.IFolder&quot; /&gt;
-          &lt;instanceof 
-           value=&quot;org.eclipse.core.resources.IFile&quot; /&gt; 
-   &lt;/or&gt;
-  &lt;/parentExpression&gt;
- &lt;/commonSorter&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-&lt;p&gt;
-The following example demonstrates how to add wizard shortcut actions for 
-&quot;New Folder&quot; and &quot;New File&quot;, which are enabled on the specific subclasses 
-of org.eclipse.core.resources.IResource. Clients may use whatever parts of 
-the &lt;b&gt;org.eclipse.core.expressions&lt;/b&gt; that are necessary to describe when the 
-menu options should be available. The wizardId specified below must correspond
-to one of the &lt;b&gt;org.eclipse.ui.xxxWizards&lt;/b&gt; extension points.
-&lt;/p&gt;
-&lt;p&gt;
-For clients building their own viewers or
-view parts, be sure to use &lt;code&gt;org.eclipse.ui.navigator.WizardActionGroup&lt;/code&gt;
-to correctly populate the menu. See that class for more documentation on
-using this feature.
-&lt;/p&gt;
-&lt;p&gt;
-&lt;pre&gt;
-
-&lt;extension  
-  point=&quot;org.eclipse.ui.navigator.navigatorContent&quot;&gt;
- &lt;commonWizard
-      type=&quot;new&quot;
-   wizardId=&quot;org.eclipse.ui.wizards.new.folder&quot;&gt;
-  &lt;enablement&gt;
-   &lt;or&gt;
-    &lt;adapt type=&quot;org.eclipse.core.resources.IFile&quot; /&gt; 
-    &lt;adapt type=&quot;org.eclipse.core.resources.IFolder&quot; /&gt;
-           &lt;adapt type=&quot;org.eclipse.core.resources.IProject&quot; /&gt; 
-             &lt;adapt type=&quot;org.eclipse.core.resources.IWorkspaceRoot&quot; /&gt; 
-   &lt;/or&gt;
-  &lt;/enablement&gt;
- &lt;/commonWizard&gt;   
- &lt;commonWizard
-            type=&quot;new&quot;
-            wizardId=&quot;org.eclipse.ui.wizards.new.file&quot;&gt;
-  &lt;enablement&gt;
-   &lt;or&gt;
-    &lt;adapt type=&quot;org.eclipse.core.resources.IFile&quot; /&gt; 
-    &lt;adapt type=&quot;org.eclipse.core.resources.IFolder&quot; /&gt;
-           &lt;adapt type=&quot;org.eclipse.core.resources.IProject&quot; /&gt; 
-             &lt;adapt type=&quot;org.eclipse.core.resources.IWorkspaceRoot&quot; /&gt; 
-   &lt;/or&gt;
-  &lt;/enablement&gt;
- &lt;/commonWizard&gt;
-&lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2002, 2005 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which accompanies
-this distribution, and is available at &lt;a 
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/ui/org.eclipse.ui.views.log/.classpath b/ui/org.eclipse.ui.views.log/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/ui/org.eclipse.ui.views.log/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/ui/org.eclipse.ui.views.log/.project b/ui/org.eclipse.ui.views.log/.project
deleted file mode 100644
index 8de6b90..0000000
--- a/ui/org.eclipse.ui.views.log/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.views.log</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/ui/org.eclipse.ui.views.log/.settings/org.eclipse.core.resources.prefs b/ui/org.eclipse.ui.views.log/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 1a4cdbd..0000000
--- a/ui/org.eclipse.ui.views.log/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Fri Oct 20 13:22:13 EDT 2006
-eclipse.preferences.version=1
-encoding//core/framework/org/eclipse/osgi/framework/internal/core/default.permissions=UTF-8
-encoding//core/framework/org/eclipse/osgi/framework/internal/core/implied.permissions=UTF-8
-encoding//core/framework/org/eclipse/osgi/framework/internal/core/osname.aliases=UTF-8
-encoding//core/framework/org/eclipse/osgi/framework/internal/core/processor.aliases=UTF-8
-encoding/<project>=ISO-8859-1
diff --git a/ui/org.eclipse.ui.views.log/.settings/org.eclipse.jdt.core.prefs b/ui/org.eclipse.ui.views.log/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 10c4d00..0000000
--- a/ui/org.eclipse.ui.views.log/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,352 +0,0 @@
-#Wed Jan 02 10:20:52 CST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/ui/org.eclipse.ui.views.log/.settings/org.eclipse.jdt.ui.prefs b/ui/org.eclipse.ui.views.log/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 50b778b..0000000
--- a/ui/org.eclipse.ui.views.log/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,64 +0,0 @@
-#Sun Dec 30 18:01:47 CST 2007
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=;
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.overrideannotation=false
-org.eclipse.jdt.ui.staticondemandthreshold=99
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/ui/org.eclipse.ui.views.log/.settings/org.eclipse.pde.prefs b/ui/org.eclipse.ui.views.log/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 8d3361f..0000000
--- a/ui/org.eclipse.ui.views.log/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,16 +0,0 @@
-#Sun Dec 23 21:53:15 CST 2007
-compilers.incompatible-environment=1
-compilers.p.build=1
-compilers.p.deprecated=1
-compilers.p.missing-bundle-classpath-entries=1
-compilers.p.missing-packages=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=0
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=0
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/ui/org.eclipse.ui.views.log/META-INF/MANIFEST.MF b/ui/org.eclipse.ui.views.log/META-INF/MANIFEST.MF
deleted file mode 100644
index e36d21e..0000000
--- a/ui/org.eclipse.ui.views.log/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %name
-Bundle-SymbolicName: org.eclipse.ui.views.log;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.ui.internal.views.log.Activator
-Bundle-Vendor: %provider-name
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.filesystem;bundle-version="[1.1.0,2.0.0)";resolution:=optional,
- org.eclipse.ui;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.ui.ide;bundle-version="[3.3.0,4.0.0)";resolution:=optional
-Import-Package: com.ibm.icu.text
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-Localization: plugin
-Export-Package: org.eclipse.ui.internal.views.log;x-friends:="org.eclipse.pde.ui"
-Bundle-ActivationPolicy: lazy
diff --git a/ui/org.eclipse.ui.views.log/about.html b/ui/org.eclipse.ui.views.log/about.html
deleted file mode 100644
index 4602330..0000000
--- a/ui/org.eclipse.ui.views.log/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/ui/org.eclipse.ui.views.log/build.properties b/ui/org.eclipse.ui.views.log/build.properties
deleted file mode 100644
index 4d648cc..0000000
--- a/ui/org.eclipse.ui.views.log/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               plugin.properties,\
-               icons/,\
-               about.html
-src.includes = about.html
diff --git a/ui/org.eclipse.ui.views.log/icons/dlcl16/clear.gif b/ui/org.eclipse.ui.views.log/icons/dlcl16/clear.gif
deleted file mode 100644
index 6775edf..0000000
--- a/ui/org.eclipse.ui.views.log/icons/dlcl16/clear.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/dlcl16/collapseall.gif b/ui/org.eclipse.ui.views.log/icons/dlcl16/collapseall.gif
deleted file mode 100644
index 7dc0de5..0000000
--- a/ui/org.eclipse.ui.views.log/icons/dlcl16/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/dlcl16/export_log.gif b/ui/org.eclipse.ui.views.log/icons/dlcl16/export_log.gif
deleted file mode 100644
index a5a431e..0000000
--- a/ui/org.eclipse.ui.views.log/icons/dlcl16/export_log.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/dlcl16/filter_ps.gif b/ui/org.eclipse.ui.views.log/icons/dlcl16/filter_ps.gif
deleted file mode 100644
index f6f6219..0000000
--- a/ui/org.eclipse.ui.views.log/icons/dlcl16/filter_ps.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/dlcl16/find_obj.gif b/ui/org.eclipse.ui.views.log/icons/dlcl16/find_obj.gif
deleted file mode 100644
index f246a63..0000000
--- a/ui/org.eclipse.ui.views.log/icons/dlcl16/find_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/dlcl16/import_log.gif b/ui/org.eclipse.ui.views.log/icons/dlcl16/import_log.gif
deleted file mode 100644
index f935e22..0000000
--- a/ui/org.eclipse.ui.views.log/icons/dlcl16/import_log.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/dlcl16/open_log.gif b/ui/org.eclipse.ui.views.log/icons/dlcl16/open_log.gif
deleted file mode 100644
index 96d5334..0000000
--- a/ui/org.eclipse.ui.views.log/icons/dlcl16/open_log.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/dlcl16/properties.gif b/ui/org.eclipse.ui.views.log/icons/dlcl16/properties.gif
deleted file mode 100644
index ec394d6..0000000
--- a/ui/org.eclipse.ui.views.log/icons/dlcl16/properties.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/dlcl16/refresh.gif b/ui/org.eclipse.ui.views.log/icons/dlcl16/refresh.gif
deleted file mode 100644
index 6eafa48..0000000
--- a/ui/org.eclipse.ui.views.log/icons/dlcl16/refresh.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/dlcl16/remove.gif b/ui/org.eclipse.ui.views.log/icons/dlcl16/remove.gif
deleted file mode 100644
index 9e14298..0000000
--- a/ui/org.eclipse.ui.views.log/icons/dlcl16/remove.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/dlcl16/restore_log.gif b/ui/org.eclipse.ui.views.log/icons/dlcl16/restore_log.gif
deleted file mode 100644
index ab62179..0000000
--- a/ui/org.eclipse.ui.views.log/icons/dlcl16/restore_log.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/elcl16/clear.gif b/ui/org.eclipse.ui.views.log/icons/elcl16/clear.gif
deleted file mode 100644
index af30a42..0000000
--- a/ui/org.eclipse.ui.views.log/icons/elcl16/clear.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/elcl16/collapseall.gif b/ui/org.eclipse.ui.views.log/icons/elcl16/collapseall.gif
deleted file mode 100644
index a2d80a9..0000000
--- a/ui/org.eclipse.ui.views.log/icons/elcl16/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/elcl16/export_log.gif b/ui/org.eclipse.ui.views.log/icons/elcl16/export_log.gif
deleted file mode 100644
index 3465699..0000000
--- a/ui/org.eclipse.ui.views.log/icons/elcl16/export_log.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/elcl16/filter_ps.gif b/ui/org.eclipse.ui.views.log/icons/elcl16/filter_ps.gif
deleted file mode 100644
index 3d061d7..0000000
--- a/ui/org.eclipse.ui.views.log/icons/elcl16/filter_ps.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/elcl16/find_obj.gif b/ui/org.eclipse.ui.views.log/icons/elcl16/find_obj.gif
deleted file mode 100644
index d540a01..0000000
--- a/ui/org.eclipse.ui.views.log/icons/elcl16/find_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/elcl16/import_log.gif b/ui/org.eclipse.ui.views.log/icons/elcl16/import_log.gif
deleted file mode 100644
index cab213e..0000000
--- a/ui/org.eclipse.ui.views.log/icons/elcl16/import_log.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/elcl16/open_log.gif b/ui/org.eclipse.ui.views.log/icons/elcl16/open_log.gif
deleted file mode 100644
index 7e4c583..0000000
--- a/ui/org.eclipse.ui.views.log/icons/elcl16/open_log.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/elcl16/properties.gif b/ui/org.eclipse.ui.views.log/icons/elcl16/properties.gif
deleted file mode 100644
index 1dc19a3..0000000
--- a/ui/org.eclipse.ui.views.log/icons/elcl16/properties.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/elcl16/refresh.gif b/ui/org.eclipse.ui.views.log/icons/elcl16/refresh.gif
deleted file mode 100644
index e383147..0000000
--- a/ui/org.eclipse.ui.views.log/icons/elcl16/refresh.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/elcl16/remove.gif b/ui/org.eclipse.ui.views.log/icons/elcl16/remove.gif
deleted file mode 100644
index b6922ac..0000000
--- a/ui/org.eclipse.ui.views.log/icons/elcl16/remove.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/elcl16/restore_log.gif b/ui/org.eclipse.ui.views.log/icons/elcl16/restore_log.gif
deleted file mode 100644
index 8c4d765..0000000
--- a/ui/org.eclipse.ui.views.log/icons/elcl16/restore_log.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/eview16/error_log.gif b/ui/org.eclipse.ui.views.log/icons/eview16/error_log.gif
deleted file mode 100644
index 58873a1..0000000
--- a/ui/org.eclipse.ui.views.log/icons/eview16/error_log.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/eview16/event_next.gif b/ui/org.eclipse.ui.views.log/icons/eview16/event_next.gif
deleted file mode 100644
index 072b184..0000000
--- a/ui/org.eclipse.ui.views.log/icons/eview16/event_next.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/eview16/event_prev.gif b/ui/org.eclipse.ui.views.log/icons/eview16/event_prev.gif
deleted file mode 100644
index 0716475..0000000
--- a/ui/org.eclipse.ui.views.log/icons/eview16/event_prev.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/obj16/error_st_obj.gif b/ui/org.eclipse.ui.views.log/icons/obj16/error_st_obj.gif
deleted file mode 100644
index 0bc6068..0000000
--- a/ui/org.eclipse.ui.views.log/icons/obj16/error_st_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/obj16/error_stack.gif b/ui/org.eclipse.ui.views.log/icons/obj16/error_stack.gif
deleted file mode 100644
index e61fc24..0000000
--- a/ui/org.eclipse.ui.views.log/icons/obj16/error_stack.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/obj16/hierarchical.gif b/ui/org.eclipse.ui.views.log/icons/obj16/hierarchical.gif
deleted file mode 100644
index 2344861..0000000
--- a/ui/org.eclipse.ui.views.log/icons/obj16/hierarchical.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/obj16/info_st_obj.gif b/ui/org.eclipse.ui.views.log/icons/obj16/info_st_obj.gif
deleted file mode 100644
index 2da001e..0000000
--- a/ui/org.eclipse.ui.views.log/icons/obj16/info_st_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/obj16/ok_st_obj.gif b/ui/org.eclipse.ui.views.log/icons/obj16/ok_st_obj.gif
deleted file mode 100644
index 9cacb96..0000000
--- a/ui/org.eclipse.ui.views.log/icons/obj16/ok_st_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/icons/obj16/warning_st_obj.gif b/ui/org.eclipse.ui.views.log/icons/obj16/warning_st_obj.gif
deleted file mode 100644
index 2b2e50f..0000000
--- a/ui/org.eclipse.ui.views.log/icons/obj16/warning_st_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ui/org.eclipse.ui.views.log/plugin.properties b/ui/org.eclipse.ui.views.log/plugin.properties
deleted file mode 100644
index 7dacaa3..0000000
--- a/ui/org.eclipse.ui.views.log/plugin.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-name = Log View
-provider-name = Eclipse.org
-
-views.errorLog.name= Error Log
-ViewCommand.logView.name= Error Log
-ViewCommand.logView.description= Show the Error Log
-content-type.name.log = Runtime log files
-
diff --git a/ui/org.eclipse.ui.views.log/plugin.xml b/ui/org.eclipse.ui.views.log/plugin.xml
deleted file mode 100644
index e16bf22..0000000
--- a/ui/org.eclipse.ui.views.log/plugin.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension
-         point="org.eclipse.ui.views">
-      <view
-            name="%views.errorLog.name"
-            icon="$nl$/icons/eview16/error_log.gif"
-            category="org.eclipse.ui"
-            class="org.eclipse.ui.internal.views.log.LogView"
-            id="org.eclipse.pde.runtime.LogView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.ui.commands">
-      <command
-            name="%ViewCommand.logView.name"
-            description="%ViewCommand.logView.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.pde.runtime.LogView">
-      </command>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension
-            targetID="org.eclipse.ui.resourcePerspective">
-         <viewShortcut
-               id="org.eclipse.pde.runtime.LogView">
-         </viewShortcut>
-      </perspectiveExtension>
-   </extension>
-   <extension
-         point="org.eclipse.ui.bindings">
-      <key
-            commandId="org.eclipse.pde.runtime.LogView"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="M2+M3+Q L">
-      </key>
-      <key
-            platform="carbon"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="M2+M3+Q L">
-      </key>
-      <key
-            platform="carbon"
-            commandId="org.eclipse.pde.runtime.LogView"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="M1+M3+Q L">
-      </key>
-   </extension>
-   <extension
-         point="org.eclipse.core.contenttype.contentTypes">
-       <content-type
-            base-type="org.eclipse.core.runtime.text"
-            file-extensions="log"
-            id="log"
-            name="%content-type.name.log"
-            priority="high">
-      </content-type>
-   </extension>
-</plugin>
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/AbstractEntry.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/AbstractEntry.java
deleted file mode 100644
index e943926..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/AbstractEntry.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Jacek Pospychala <jacek.pospychala@pl.ibm.com> - bug 207344
- *******************************************************************************/
-package org.eclipse.ui.internal.views.log;
-
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * Everything that appears in LogView is Abstract Entry. It provides composite pattern.
- */
-public abstract class AbstractEntry extends PlatformObject implements IWorkbenchAdapter {
-
-	/**
-	 * The collection of direct children of this entry
-	 */
-	private List children = new ArrayList();
-	protected Object parent;
-
-	/**
-	 * Adds the specified child entry to the listing of children.
-	 * If the specified child is <code>null</code>, no work is done
-	 * 
-	 * @param child
-	 */
-	public void addChild(AbstractEntry child) {
-		if (child != null) {
-			children.add(0, child);
-			child.setParent(this);
-		}
-	}
-
-	/**
-	 * @see IWorkbenchAdapter#getChildren(Object)
-	 */
-	public Object[] getChildren(Object parent) {
-		return children.toArray();
-	}
-
-	/**
-	 * @return true if this entry has children, false otherwise
-	 */
-	public boolean hasChildren() {
-		return children.size() > 0;
-	}
-
-	/**
-	 * @return the size of the child array
-	 * 
-	 * TODO rename to getChildCount(), or something more meaningful
-	 */
-	public int size() {
-		return children.size();
-	}
-
-	/**
-	 * @see IWorkbenchAdapter#getImageDescriptor(Object)
-	 */
-	public ImageDescriptor getImageDescriptor(Object object) {
-		return null;
-	}
-
-	/**
-	 * @see IWorkbenchAdapter#getLabel(Object)
-	 */
-	public String getLabel(Object o) {
-		return null;
-	}
-
-	/**
-	 * @see IWorkbenchAdapter#getParent(Object)
-	 */
-	public Object getParent(Object o) {
-		return parent;
-	}
-
-	/**
-	 * Sets the parent of this entry
-	 * @param parent
-	 */
-	public void setParent(AbstractEntry parent) {
-		this.parent = parent;
-	}
-
-	/**
-	 * removes all of the children specified in the given listing
-	 * 
-	 * @param list the list of children to remove
-	 */
-	public void removeChildren(List list) {
-		children.removeAll(list);
-	}
-
-	/**
-	 * Removes all of the children from this entry
-	 */
-	public void removeAllChildren() {
-		children.clear();
-	}
-
-	/**
-	 * Writes this entry information into the given {@link PrintWriter}
-	 * 
-	 * @param writer
-	 */
-	public abstract void write(PrintWriter writer);
-}
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/Activator.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/Activator.java
deleted file mode 100644
index 0c25f73..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/Activator.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Jacek Pospychala <jacek.pospychala@pl.ibm.com> - bug 202583
- *******************************************************************************/
-package org.eclipse.ui.internal.views.log;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.ui.views.log"; //$NON-NLS-1$
-
-	// The shared instance
-	private static Activator plugin;
-
-	/**
-	 * The constructor
-	 */
-	public Activator() { // do nothing
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-	protected void initializeImageRegistry(ImageRegistry registry) {
-		registry.put(SharedImages.DESC_PREV_EVENT, createImageDescriptor(SharedImages.DESC_PREV_EVENT));
-		registry.put(SharedImages.DESC_NEXT_EVENT, createImageDescriptor(SharedImages.DESC_NEXT_EVENT));
-
-		registry.put(SharedImages.DESC_ERROR_ST_OBJ, createImageDescriptor(SharedImages.DESC_ERROR_ST_OBJ));
-		registry.put(SharedImages.DESC_ERROR_STACK_OBJ, createImageDescriptor(SharedImages.DESC_ERROR_STACK_OBJ));
-		registry.put(SharedImages.DESC_INFO_ST_OBJ, createImageDescriptor(SharedImages.DESC_INFO_ST_OBJ));
-		registry.put(SharedImages.DESC_OK_ST_OBJ, createImageDescriptor(SharedImages.DESC_OK_ST_OBJ));
-		registry.put(SharedImages.DESC_WARNING_ST_OBJ, createImageDescriptor(SharedImages.DESC_WARNING_ST_OBJ));
-		registry.put(SharedImages.DESC_HIERARCHICAL_LAYOUT_OBJ, createImageDescriptor(SharedImages.DESC_HIERARCHICAL_LAYOUT_OBJ));
-
-		registry.put(SharedImages.DESC_CLEAR, createImageDescriptor(SharedImages.DESC_CLEAR));
-		registry.put(SharedImages.DESC_CLEAR_DISABLED, createImageDescriptor(SharedImages.DESC_CLEAR_DISABLED));
-		registry.put(SharedImages.DESC_REMOVE_LOG, createImageDescriptor(SharedImages.DESC_REMOVE_LOG));
-		registry.put(SharedImages.DESC_REMOVE_LOG_DISABLED, createImageDescriptor(SharedImages.DESC_REMOVE_LOG_DISABLED));
-		registry.put(SharedImages.DESC_EXPORT, createImageDescriptor(SharedImages.DESC_EXPORT));
-		registry.put(SharedImages.DESC_EXPORT_DISABLED, createImageDescriptor(SharedImages.DESC_EXPORT_DISABLED));
-		registry.put(SharedImages.DESC_FILTER, createImageDescriptor(SharedImages.DESC_FILTER));
-		registry.put(SharedImages.DESC_FILTER_DISABLED, createImageDescriptor(SharedImages.DESC_FILTER_DISABLED));
-		registry.put(SharedImages.DESC_IMPORT, createImageDescriptor(SharedImages.DESC_IMPORT));
-		registry.put(SharedImages.DESC_IMPORT_DISABLED, createImageDescriptor(SharedImages.DESC_IMPORT_DISABLED));
-		registry.put(SharedImages.DESC_OPEN_LOG, createImageDescriptor(SharedImages.DESC_OPEN_LOG));
-		registry.put(SharedImages.DESC_OPEN_LOG_DISABLED, createImageDescriptor(SharedImages.DESC_OPEN_LOG_DISABLED));
-		registry.put(SharedImages.DESC_PROPERTIES, createImageDescriptor(SharedImages.DESC_PROPERTIES));
-		registry.put(SharedImages.DESC_PROPERTIES_DISABLED, createImageDescriptor(SharedImages.DESC_PROPERTIES_DISABLED));
-		registry.put(SharedImages.DESC_READ_LOG, createImageDescriptor(SharedImages.DESC_READ_LOG));
-		registry.put(SharedImages.DESC_READ_LOG_DISABLED, createImageDescriptor(SharedImages.DESC_READ_LOG_DISABLED));
-	}
-
-	private ImageDescriptor createImageDescriptor(String id) {
-		return imageDescriptorFromPlugin(PLUGIN_ID, id);
-	}
-
-}
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/EventDetailsDialog.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/EventDetailsDialog.java
deleted file mode 100644
index 90adbef..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/EventDetailsDialog.java
+++ /dev/null
@@ -1,802 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Jacek Pospychala <jacek.pospychala@pl.ibm.com> - bugs 202583, 207466, 207344
- *******************************************************************************/
-package org.eclipse.ui.internal.views.log;
-
-import java.io.*;
-import java.text.Collator;
-import java.util.*;
-import java.util.List;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-
-/**
- * Displays details about Log Entry.
- * Event information is split in three sections: details, stack trace and session. Details
- * contain event date, message and severity. Stack trace is displayed if an exception is bound
- * to event. Stack trace entries can be filtered.
- */
-public class EventDetailsDialog extends TrayDialog {
-
-	public static final String FILTER_ENABLED = "detailsStackFilterEnabled"; //$NON-NLS-1$
-	public static final String FILTER_LIST = "detailsStackFilterList"; //$NON-NLS-1$
-
-	private IMemento memento;
-
-	private AbstractEntry entry;
-	private AbstractEntry parentEntry; // parent of the entry
-	private AbstractEntry[] entryChildren; // children of the entry
-
-	private LogViewLabelProvider labelProvider;
-	private TreeViewer provider;
-
-	private static int COPY_ID = 22;
-
-	private int childIndex = 0;
-	private boolean isOpen;
-	private boolean isLastChild;
-	private boolean isAtEndOfLog;
-
-	private Label dateLabel;
-	private Label severityImageLabel;
-	private Label severityLabel;
-	private Text msgText;
-	private Text stackTraceText;
-	private Text sessionDataText;
-	private Clipboard clipboard;
-	private Button copyButton;
-	private Button backButton;
-	private Button nextButton;
-	private SashForm sashForm;
-
-	// sorting
-	private Comparator comparator = null;
-	Collator collator;
-
-	// patterns for filtering stack traces
-	private String[] stackFilterPatterns = null;
-
-	// location configuration
-	private Point dialogLocation;
-	private Point dialogSize;
-	private int[] sashWeights;
-
-	/**
-	 * 
-	 * @param parentShell shell in which dialog is displayed
-	 * @param selection entry initially selected and to be displayed
-	 * @param provider viewer
-	 * @param comparator comparator used to order all entries
-	 */
-	protected EventDetailsDialog(Shell parentShell, IAdaptable selection, ISelectionProvider provider, Comparator comparator, IMemento memento) {
-		super(parentShell);
-		this.provider = (TreeViewer) provider;
-		labelProvider = (LogViewLabelProvider) this.provider.getLabelProvider();
-		labelProvider.connect(this);
-		this.entry = (AbstractEntry) selection;
-		this.comparator = comparator;
-		this.memento = memento;
-		setShellStyle(SWT.MODELESS | SWT.MIN | SWT.MAX | SWT.RESIZE | SWT.CLOSE | SWT.BORDER | SWT.TITLE);
-		clipboard = new Clipboard(parentShell.getDisplay());
-		initialize();
-		collator = Collator.getInstance();
-		readConfiguration();
-		isLastChild = false;
-		isAtEndOfLog = false;
-		stackFilterPatterns = getFilters();
-	}
-
-	private void initialize() {
-		parentEntry = (AbstractEntry) entry.getParent(entry);
-		if (isChild(entry)) {
-			setEntryChildren(parentEntry);
-		} else {
-			setEntryChildren();
-		}
-		resetChildIndex();
-		isLastChild = false;
-		isAtEndOfLog = false;
-	}
-
-	private void resetChildIndex() {
-		if (entryChildren == null)
-			return;
-
-		LogEntry thisEntry = (LogEntry) entry;
-
-		for (int i = 0; i < entryChildren.length; i++) {
-			if (entryChildren[i] instanceof LogEntry) {
-
-				LogEntry logEntry = (LogEntry) entryChildren[i];
-
-				if (logEntry == thisEntry) {
-					childIndex = i;
-					return;
-				}
-			}
-		}
-
-		childIndex = 0;
-	}
-
-	private boolean isChild(AbstractEntry entry) {
-		return entry.getParent(entry) != null;
-	}
-
-	public boolean isOpen() {
-		return isOpen;
-	}
-
-	public int open() {
-		isOpen = true;
-		if (sashWeights == null) {
-			int width = getSashForm().getClientArea().width;
-			if (width - 100 > 0)
-				width -= 100;
-			else
-				width = width / 2;
-			sashWeights = new int[] {width, getSashForm().getClientArea().width - width};
-		}
-		getSashForm().setWeights(sashWeights);
-		return super.open();
-	}
-
-	public boolean close() {
-		storeSettings();
-		isOpen = false;
-		labelProvider.disconnect(this);
-		return super.close();
-	}
-
-	public void create() {
-		super.create();
-
-		// dialog location 
-		if (dialogLocation != null)
-			getShell().setLocation(dialogLocation);
-
-		// dialog size
-		if (dialogSize != null)
-			getShell().setSize(dialogSize);
-		else
-			getShell().setSize(500, 550);
-
-		applyDialogFont(buttonBar);
-		getButton(IDialogConstants.OK_ID).setFocus();
-	}
-
-	protected void buttonPressed(int buttonId) {
-		if (IDialogConstants.OK_ID == buttonId)
-			okPressed();
-		else if (IDialogConstants.CANCEL_ID == buttonId)
-			cancelPressed();
-		else if (IDialogConstants.BACK_ID == buttonId)
-			backPressed();
-		else if (IDialogConstants.NEXT_ID == buttonId)
-			nextPressed();
-		else if (COPY_ID == buttonId)
-			copyPressed();
-	}
-
-	protected void backPressed() {
-		if (childIndex > 0) {
-			if (isLastChild && (isChild(entry))) {
-				setEntryChildren(parentEntry);
-				isLastChild = false;
-			}
-			childIndex--;
-			entry = entryChildren[childIndex];
-		} else {
-			if (parentEntry instanceof LogEntry) {
-				entry = parentEntry;
-				if (isChild(entry)) {
-					setEntryChildren((AbstractEntry) entry.getParent(entry));
-				} else {
-					setEntryChildren();
-				}
-				resetChildIndex();
-			}
-		}
-		setEntrySelectionInTable();
-	}
-
-	protected void nextPressed() {
-		if (childIndex < entryChildren.length - 1) {
-			childIndex++;
-			entry = entryChildren[childIndex];
-			isLastChild = childIndex == entryChildren.length - 1;
-		} else if (isChild(entry) && isLastChild && !isAtEndOfLog) {
-			findNextSelectedChild(entry);
-		} else { // at end of list but can branch into child elements - bug 58083
-			setEntryChildren(entry);
-			entry = entryChildren[0];
-			isAtEndOfLog = entryChildren.length == 0;
-			isLastChild = entryChildren.length == 0;
-		}
-		setEntrySelectionInTable();
-	}
-
-	protected void copyPressed() {
-		StringWriter writer = new StringWriter();
-		PrintWriter pwriter = new PrintWriter(writer);
-
-		entry.write(pwriter);
-		pwriter.flush();
-		String textVersion = writer.toString();
-		try {
-			pwriter.close();
-			writer.close();
-		} catch (IOException e) { // do nothing
-		}
-		// set the clipboard contents
-		clipboard.setContents(new Object[] {textVersion}, new Transfer[] {TextTransfer.getInstance()});
-	}
-
-	public void setComparator(Comparator comparator) {
-		this.comparator = comparator;
-		updateProperties();
-	}
-
-	private void setComparator(byte sortType, final int sortOrder) {
-		if (sortType == LogView.DATE) {
-			comparator = new Comparator() {
-				public int compare(Object e1, Object e2) {
-					Date date1 = ((LogEntry) e1).getDate();
-					Date date2 = ((LogEntry) e2).getDate();
-					if (sortOrder == LogView.ASCENDING)
-						return date1.getTime() < date2.getTime() ? LogView.DESCENDING : LogView.ASCENDING;
-					return date1.getTime() > date2.getTime() ? LogView.DESCENDING : LogView.ASCENDING;
-				}
-			};
-		} else if (sortType == LogView.PLUGIN) {
-			comparator = new Comparator() {
-				public int compare(Object e1, Object e2) {
-					LogEntry entry1 = (LogEntry) e1;
-					LogEntry entry2 = (LogEntry) e2;
-					return collator.compare(entry1.getPluginId(), entry2.getPluginId()) * sortOrder;
-				}
-			};
-		} else {
-			comparator = new Comparator() {
-				public int compare(Object e1, Object e2) {
-					LogEntry entry1 = (LogEntry) e1;
-					LogEntry entry2 = (LogEntry) e2;
-					return collator.compare(entry1.getMessage(), entry2.getMessage()) * sortOrder;
-				}
-			};
-		}
-	}
-
-	public void resetSelection(IAdaptable selectedEntry, byte sortType, int sortOrder) {
-		setComparator(sortType, sortOrder);
-		resetSelection(selectedEntry);
-	}
-
-	public void resetSelection(IAdaptable selectedEntry) {
-		if (entry.equals(selectedEntry)) {
-			updateProperties();
-			return;
-		}
-		if (selectedEntry instanceof AbstractEntry) {
-			entry = (AbstractEntry) selectedEntry;
-			initialize();
-			updateProperties();
-		}
-	}
-
-	public void resetButtons() {
-		backButton.setEnabled(false);
-		nextButton.setEnabled(false);
-	}
-
-	private void setEntrySelectionInTable() {
-		ISelection selection = new StructuredSelection(entry);
-		provider.setSelection(selection);
-	}
-
-	public void updateProperties() {
-		if (isChild(entry)) {
-			parentEntry = (AbstractEntry) entry.getParent(entry);
-			setEntryChildren(parentEntry);
-			resetChildIndex();
-			if (childIndex == entryChildren.length - 1)
-				isLastChild = true;
-		}
-
-		if (entry instanceof LogEntry) {
-			LogEntry logEntry = (LogEntry) entry;
-
-			String strDate = logEntry.getFormattedDate();
-			dateLabel.setText(strDate);
-			severityImageLabel.setImage(labelProvider.getColumnImage(entry, 0));
-			severityLabel.setText(logEntry.getSeverityText());
-			msgText.setText(logEntry.getMessage() != null ? logEntry.getMessage() : ""); //$NON-NLS-1$
-			String stack = logEntry.getStack();
-
-			if (stack != null) {
-				stack = filterStack(stack);
-				stackTraceText.setText(stack);
-			} else {
-				stackTraceText.setText(Messages.EventDetailsDialog_noStack);
-			}
-
-			String session = logEntry.getSession().getSessionData();
-			if (session != null) {
-				sessionDataText.setText(session);
-			}
-
-		} else {
-			dateLabel.setText(""); //$NON-NLS-1$
-			severityImageLabel.setImage(null);
-			severityLabel.setText(""); //$NON-NLS-1$
-			msgText.setText(""); //$NON-NLS-1$
-			stackTraceText.setText(""); //$NON-NLS-1$
-			sessionDataText.setText(""); //$NON-NLS-1$
-		}
-
-		updateButtons();
-	}
-
-	private void updateButtons() {
-		boolean isAtEnd = childIndex == entryChildren.length - 1;
-		if (isChild(entry)) {
-			boolean canGoToParent = (entry.getParent(entry) instanceof LogEntry);
-			backButton.setEnabled((childIndex > 0) || canGoToParent);
-			nextButton.setEnabled(nextChildExists(entry, parentEntry, entryChildren) || entry.hasChildren() || !isLastChild || !isAtEnd);
-		} else {
-			backButton.setEnabled(childIndex != 0);
-			nextButton.setEnabled(!isAtEnd || entry.hasChildren());
-		}
-	}
-
-	private void findNextSelectedChild(AbstractEntry originalEntry) {
-		if (isChild(parentEntry)) {
-			// we're at the end of the child list; find next parent
-			// to select.  If the parent is a child at the end of the child
-			// list, find its next parent entry to select, etc.
-
-			entry = parentEntry;
-			setEntryChildren((AbstractEntry) parentEntry.getParent(parentEntry));
-			parentEntry = (AbstractEntry) parentEntry.getParent(parentEntry);
-			resetChildIndex();
-			isLastChild = childIndex == entryChildren.length - 1;
-			if (isLastChild) {
-				findNextSelectedChild(originalEntry);
-			} else {
-				nextPressed();
-			}
-		} else if (parentEntry instanceof LogEntry) {
-			entry = parentEntry;
-			setEntryChildren();
-			resetChildIndex();
-			isLastChild = childIndex == entryChildren.length - 1;
-			if (isLastChild) {
-				if (isChild(entry)) {
-					findNextSelectedChild(originalEntry);
-				} else {
-					entry = originalEntry;
-					isAtEndOfLog = true;
-					nextPressed();
-				}
-			} else {
-				nextPressed();
-			}
-		} else {
-			entry = originalEntry;
-			isAtEndOfLog = true;
-			nextPressed();
-		}
-	}
-
-	private boolean nextChildExists(AbstractEntry originalEntry, AbstractEntry originalParent, AbstractEntry[] originalEntries) {
-		if (isChild(parentEntry)) {
-			// we're at the end of the child list; find next parent
-			// to select.  If the parent is a child at the end of the child
-			// list, find its next parent entry to select, etc.
-
-			entry = parentEntry;
-			parentEntry = (AbstractEntry) entry.getParent(entry);
-			setEntryChildren(parentEntry);
-			resetChildIndex();
-			if (childIndex == entryChildren.length - 1) {
-				return nextChildExists(originalEntry, originalParent, originalEntries);
-			}
-			entry = originalEntry;
-			parentEntry = originalParent;
-			entryChildren = originalEntries;
-			resetChildIndex();
-			return true;
-		} else if (parentEntry instanceof LogEntry) {
-			entry = parentEntry;
-			setEntryChildren();
-			childIndex = -1;
-			resetChildIndex();
-			if ((childIndex != -1) && (childIndex < entryChildren.length - 1)) {
-				entry = originalEntry;
-				parentEntry = originalParent;
-				entryChildren = originalEntries;
-				resetChildIndex();
-				return true;
-			}
-		}
-		entry = originalEntry;
-		parentEntry = originalParent;
-		entryChildren = originalEntries;
-		resetChildIndex();
-		return false;
-
-	}
-
-	/**
-	 * Sets entry children (Prev-Next navigable) to top-level elements
-	 */
-	private void setEntryChildren() {
-		AbstractEntry[] children = getElements();
-
-		if (comparator != null)
-			Arrays.sort(children, comparator);
-		entryChildren = new AbstractEntry[children.length];
-
-		System.arraycopy(children, 0, entryChildren, 0, children.length);
-	}
-
-	/**
-	 * Sets entry children (Prev-Next navigable) to children of given entry
-	 */
-	private void setEntryChildren(AbstractEntry entry) {
-		Object[] children = entry.getChildren(entry);
-
-		if (comparator != null)
-			Arrays.sort(children, comparator);
-
-		List result = new ArrayList();
-		for (int i = 0; i < children.length; i++) {
-			if (children[i] instanceof AbstractEntry) {
-				result.add(children[i]);
-			}
-		}
-
-		entryChildren = (AbstractEntry[]) result.toArray(new AbstractEntry[result.size()]);
-	}
-
-	public SashForm getSashForm() {
-		return sashForm;
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Composite container = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		container.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		container.setLayoutData(gd);
-
-		createDetailsSection(container);
-		createSashForm(container);
-		createStackSection(getSashForm());
-		createSessionSection(getSashForm());
-
-		updateProperties();
-		Dialog.applyDialogFont(container);
-		return container;
-	}
-
-	private void createSashForm(Composite parent) {
-		sashForm = new SashForm(parent, SWT.VERTICAL);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = layout.marginWidth = 0;
-		sashForm.setLayout(layout);
-		sashForm.setLayoutData(new GridData(GridData.FILL_BOTH));
-	}
-
-	private void createToolbarButtonBar(Composite parent) {
-		Composite comp = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = layout.marginHeight = 0;
-		//layout.numColumns = 1;
-		comp.setLayout(layout);
-		comp.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-		((GridData) comp.getLayoutData()).verticalAlignment = SWT.BOTTOM;
-
-		Composite container = new Composite(comp, SWT.NONE);
-		layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		container.setLayout(layout);
-		container.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		backButton = createButton(container, IDialogConstants.BACK_ID, "", false); //$NON-NLS-1$
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		backButton.setLayoutData(gd);
-		backButton.setToolTipText(Messages.EventDetailsDialog_previous);
-		backButton.setImage(SharedImages.getImage(SharedImages.DESC_PREV_EVENT));
-
-		copyButton = createButton(container, COPY_ID, "", false); //$NON-NLS-1$
-		gd = new GridData();
-		copyButton.setLayoutData(gd);
-		copyButton.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_COPY));
-		copyButton.setToolTipText(Messages.EventDetailsDialog_copy);
-
-		nextButton = createButton(container, IDialogConstants.NEXT_ID, "", false); //$NON-NLS-1$
-		gd = new GridData();
-		nextButton.setLayoutData(gd);
-		nextButton.setToolTipText(Messages.EventDetailsDialog_next);
-		nextButton.setImage(SharedImages.getImage(SharedImages.DESC_NEXT_EVENT));
-
-		Button button = new Button(container, SWT.NONE);
-		button.setToolTipText(Messages.EventDetailsDialog_ShowFilterDialog);
-		button.setImage(SharedImages.getImage(SharedImages.DESC_FILTER));
-		gd = new GridData();
-		gd.horizontalAlignment = SWT.RIGHT;
-		button.setLayoutData(gd);
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				FilterDialog dialog = new FilterDialog(getShell(), memento);
-				dialog.create();
-				dialog.getShell().setText(Messages.EventDetailsDialog_FilterDialog);
-				if (dialog.open() == Window.OK)
-					// update filters and currently displayed stack trace
-					stackFilterPatterns = getFilters();
-				updateProperties();
-			}
-		});
-
-		// set numColumns at the end, after all createButton() calls, which change this value
-		layout.numColumns = 2;
-	}
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		// create OK button only by default
-		createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-	}
-
-	private void createDetailsSection(Composite parent) {
-		Composite container = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = layout.marginHeight = 0;
-		layout.numColumns = 2;
-		container.setLayout(layout);
-		container.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		createTextSection(container);
-		createToolbarButtonBar(container);
-	}
-
-	private void createTextSection(Composite parent) {
-		Composite textContainer = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		layout.marginHeight = layout.marginWidth = 0;
-		textContainer.setLayout(layout);
-		textContainer.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		Label label = new Label(textContainer, SWT.NONE);
-		label.setText(Messages.EventDetailsDialog_date);
-		dateLabel = new Label(textContainer, SWT.NULL);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		dateLabel.setLayoutData(gd);
-
-		label = new Label(textContainer, SWT.NONE);
-		label.setText(Messages.EventDetailsDialog_severity);
-		severityImageLabel = new Label(textContainer, SWT.NULL);
-		severityLabel = new Label(textContainer, SWT.NULL);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		severityLabel.setLayoutData(gd);
-
-		label = new Label(textContainer, SWT.NONE);
-		label.setText(Messages.EventDetailsDialog_message);
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-		label.setLayoutData(gd);
-		msgText = new Text(textContainer, SWT.MULTI | SWT.V_SCROLL | SWT.WRAP | SWT.BORDER);
-		msgText.setEditable(false);
-		gd = new GridData(GridData.FILL_BOTH | GridData.VERTICAL_ALIGN_BEGINNING | GridData.GRAB_VERTICAL);
-		gd.horizontalSpan = 2;
-		gd.heightHint = 44;
-		gd.grabExcessVerticalSpace = true;
-		msgText.setLayoutData(gd);
-	}
-
-	private void createStackSection(Composite parent) {
-		Composite container = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout(2, false);
-		layout.marginHeight = 0;
-		layout.marginWidth = 6;
-		container.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint = 100;
-		container.setLayoutData(gd);
-
-		Label label = new Label(container, SWT.NONE);
-		label.setText(Messages.EventDetailsDialog_exception);
-		gd = new GridData();
-		gd.verticalAlignment = SWT.BOTTOM;
-		label.setLayoutData(gd);
-
-		stackTraceText = new Text(container, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
-		gd = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL);
-		gd.grabExcessHorizontalSpace = true;
-		gd.horizontalSpan = 2;
-		stackTraceText.setLayoutData(gd);
-		stackTraceText.setEditable(false);
-	}
-
-	private void createSessionSection(Composite parent) {
-		Composite container = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 6;
-		container.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.heightHint = 100;
-		container.setLayoutData(gd);
-
-		Label line = new Label(container, SWT.SEPARATOR | SWT.HORIZONTAL);
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.widthHint = 1;
-		line.setLayoutData(gd);
-
-		Label label = new Label(container, SWT.NONE);
-		label.setText(Messages.EventDetailsDialog_session);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		label.setLayoutData(gd);
-		sessionDataText = new Text(container, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-		gd = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL);
-		gd.grabExcessHorizontalSpace = true;
-		sessionDataText.setLayoutData(gd);
-		sessionDataText.setEditable(false);
-	}
-
-	/**
-	 * Loads filters from preferences.
-	 * @return filters from preferences or empty array
-	 * 
-	 * @since 3.4
-	 */
-	private String[] getFilters() {
-
-		Boolean filterEnabled = memento.getBoolean(FILTER_ENABLED);
-
-		String filtersString = memento.getString(FILTER_LIST);
-
-		if ((filterEnabled == null) || (filterEnabled.booleanValue() == false) || filtersString == null) {
-			return new String[0];
-		}
-
-		StringTokenizer st = new StringTokenizer(filtersString, ";"); //$NON-NLS-1$
-		List filters = new ArrayList();
-		while (st.hasMoreElements()) {
-			String filter = st.nextToken();
-			filters.add(filter);
-		}
-
-		return (String[]) filters.toArray(new String[filters.size()]);
-	}
-
-	/**
-	 * Filters stack trace.
-	 * Every stack trace line is compared against all patterns.
-	 * If line contains any of pattern strings, it's excluded from output.
-	 * 
-	 * @returns filtered stack trace
-	 * @since 3.4
-	 */
-	private String filterStack(String stack) {
-		if (stackFilterPatterns.length == 0) {
-			return stack;
-		}
-
-		StringTokenizer st = new StringTokenizer(stack, "\n"); //$NON-NLS-1$
-		StringBuffer result = new StringBuffer();
-		while (st.hasMoreTokens()) {
-			String stackElement = st.nextToken();
-
-			boolean filtered = false;
-			int i = 0;
-			while ((!filtered) && (i < stackFilterPatterns.length)) {
-				filtered = stackElement.indexOf(stackFilterPatterns[i]) >= 0;
-				i++;
-			}
-
-			if (!filtered) {
-				result.append(stackElement).append("\n"); //$NON-NLS-1$
-			}
-		}
-
-		return result.toString();
-	}
-
-	//--------------- configuration handling --------------
-
-	/**
-	 * Stores the current state in the dialog settings.
-	 * @since 2.0
-	 */
-	private void storeSettings() {
-		writeConfiguration();
-	}
-
-	/**
-	 * Returns the dialog settings object used to share state
-	 * between several event detail dialogs.
-	 * 
-	 * @return the dialog settings to be used
-	 */
-	private IDialogSettings getDialogSettings() {
-		IDialogSettings settings = Activator.getDefault().getDialogSettings();
-		IDialogSettings dialogSettings = settings.getSection(getClass().getName());
-		if (dialogSettings == null)
-			dialogSettings = settings.addNewSection(getClass().getName());
-		return dialogSettings;
-	}
-
-	/**
-	 * Initializes itself from the dialog settings with the same state
-	 * as at the previous invocation.
-	 */
-	private void readConfiguration() {
-		IDialogSettings s = getDialogSettings();
-		try {
-			int x = s.getInt("x"); //$NON-NLS-1$
-			int y = s.getInt("y"); //$NON-NLS-1$
-			dialogLocation = new Point(x, y);
-
-			x = s.getInt("width"); //$NON-NLS-1$
-			y = s.getInt("height"); //$NON-NLS-1$
-			dialogSize = new Point(x, y);
-
-			sashWeights = new int[2];
-			sashWeights[0] = s.getInt("sashWidth1"); //$NON-NLS-1$
-			sashWeights[1] = s.getInt("sashWidth2"); //$NON-NLS-1$
-
-		} catch (NumberFormatException e) {
-			dialogLocation = null;
-			dialogSize = null;
-			sashWeights = null;
-		}
-	}
-
-	private void writeConfiguration() {
-		IDialogSettings s = getDialogSettings();
-		Point location = getShell().getLocation();
-		s.put("x", location.x); //$NON-NLS-1$
-		s.put("y", location.y); //$NON-NLS-1$
-
-		Point size = getShell().getSize();
-		s.put("width", size.x); //$NON-NLS-1$
-		s.put("height", size.y); //$NON-NLS-1$
-
-		sashWeights = getSashForm().getWeights();
-		s.put("sashWidth1", sashWeights[0]); //$NON-NLS-1$
-		s.put("sashWidth2", sashWeights[1]); //$NON-NLS-1$
-	}
-
-	/**
-	 * Utility method to get all top level elements of the Log View
-	 * @return top level elements of the Log View
-	 */
-	private AbstractEntry[] getElements() {
-		return (AbstractEntry[]) ((ITreeContentProvider) provider.getContentProvider()).getElements(null);
-	}
-}
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/EventDetailsDialogAction.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/EventDetailsDialogAction.java
deleted file mode 100644
index 2365a71..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/EventDetailsDialogAction.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Jacek Pospychala <jacek.pospychala@pl.ibm.com> - bugs 202583, 207344
- *******************************************************************************/
-package org.eclipse.ui.internal.views.log;
-
-import java.util.Comparator;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.actions.SelectionProviderAction;
-
-/**
- * Opens EventDetailsDialog
- */
-public class EventDetailsDialogAction extends SelectionProviderAction {
-
-	/**
-	 * The shell in which to open the property dialog
-	 */
-	private Shell shell;
-	private ISelectionProvider provider;
-	private EventDetailsDialog propertyDialog;
-	private Comparator comparator;
-	private IMemento memento;
-
-	/**
-	 * Creates a new action for opening a property dialog
-	 * on the elements from the given selection provider
-	 * @param shell - the shell in which the dialog will open
-	 * @param provider - the selection provider whose elements
-	 * @param memento - memento with EventDetails dialog options
-	 * the property dialog will describe
-	 */
-	public EventDetailsDialogAction(Shell shell, ISelectionProvider provider, IMemento memento) {
-		super(provider, Messages.EventDetailsDialog_title);
-		Assert.isNotNull(shell);
-		this.shell = shell;
-		this.provider = provider;
-		this.memento = memento;
-		// setToolTipText
-		//WorkbenchHelp.setHelp
-	}
-
-	public boolean resetSelection(byte sortType, int sortOrder) {
-		IAdaptable element = (IAdaptable) getStructuredSelection().getFirstElement();
-		if (element == null)
-			return false;
-		if (propertyDialog != null && propertyDialog.isOpen()) {
-			propertyDialog.resetSelection(element, sortType, sortOrder);
-			return true;
-		}
-		return false;
-	}
-
-	public void resetSelection() {
-		IAdaptable element = (IAdaptable) getStructuredSelection().getFirstElement();
-		if ((element == null) || (!(element instanceof LogEntry)))
-			return;
-		if (propertyDialog != null && propertyDialog.isOpen())
-			propertyDialog.resetSelection(element);
-	}
-
-	public void resetDialogButtons() {
-		if (propertyDialog != null && propertyDialog.isOpen())
-			propertyDialog.resetButtons();
-	}
-
-	public void setComparator(Comparator comparator) {
-		this.comparator = comparator;
-		if (propertyDialog != null && propertyDialog.isOpen())
-			propertyDialog.setComparator(comparator);
-	}
-
-	public void run() {
-		if (propertyDialog != null && propertyDialog.isOpen()) {
-			resetSelection();
-			return;
-		}
-
-		//get initial selection
-		IAdaptable element = (IAdaptable) getStructuredSelection().getFirstElement();
-		if ((element == null) || (!(element instanceof LogEntry)))
-			return;
-
-		propertyDialog = new EventDetailsDialog(shell, element, provider, comparator, memento);
-		propertyDialog.create();
-		propertyDialog.getShell().setText(Messages.EventDetailsDialog_title);
-		propertyDialog.open();
-	}
-}
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/FilterDialog.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/FilterDialog.java
deleted file mode 100644
index c0a543b..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/FilterDialog.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views.log;
-
-import java.util.StringTokenizer;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.ui.IMemento;
-
-public class FilterDialog extends TrayDialog {
-
-	Button okButton;
-
-	// entries count limit
-	private Button limit;
-	Text limitText;
-
-	// entry types filter
-	private Button errorButton;
-	private Button warningButton;
-	private Button infoButton;
-
-	// show all sessions
-	private Button showAllButton;
-
-	// filter stack trace elements in EventDetailsDialog
-	private Button filterEnabled;
-	private Button addFilter;
-	private Button removeFilter;
-	private List filterList;
-
-	private IMemento memento;
-
-	public FilterDialog(Shell parentShell, IMemento memento) {
-		super(parentShell);
-		this.memento = memento;
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Composite container = (Composite) super.createDialogArea(parent);
-		createEventTypesGroup(container);
-		createLimitSection(container);
-		createSessionSection(container);
-		createFilterSection(container);
-
-		Dialog.applyDialogFont(container);
-		return container;
-	}
-
-	private void createEventTypesGroup(Composite parent) {
-		Group group = new Group(parent, SWT.NONE);
-		group.setLayout(new GridLayout());
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.widthHint = 275;
-		group.setLayoutData(gd);
-		group.setText(Messages.LogView_FilterDialog_eventTypes);
-
-		infoButton = new Button(group, SWT.CHECK);
-		infoButton.setText(Messages.LogView_FilterDialog_information);
-		infoButton.setSelection(memento.getString(LogView.P_LOG_INFO).equals("true")); //$NON-NLS-1$
-
-		warningButton = new Button(group, SWT.CHECK);
-		warningButton.setText(Messages.LogView_FilterDialog_warning);
-		warningButton.setSelection(memento.getString(LogView.P_LOG_WARNING).equals("true")); //$NON-NLS-1$
-
-		errorButton = new Button(group, SWT.CHECK);
-		errorButton.setText(Messages.LogView_FilterDialog_error);
-		errorButton.setSelection(memento.getString(LogView.P_LOG_ERROR).equals("true")); //$NON-NLS-1$
-	}
-
-	private void createLimitSection(Composite parent) {
-		Composite comp = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		comp.setLayout(layout);
-		comp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		limit = new Button(comp, SWT.CHECK);
-		limit.setText(Messages.LogView_FilterDialog_limitTo);
-		limit.setSelection(memento.getString(LogView.P_USE_LIMIT).equals("true")); //$NON-NLS-1$
-		limit.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				limitText.setEnabled(((Button) e.getSource()).getSelection());
-			}
-		});
-
-		limitText = new Text(comp, SWT.BORDER);
-		limitText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				try {
-					if (okButton == null)
-						return;
-					Integer.parseInt(limitText.getText());
-					okButton.setEnabled(true);
-				} catch (NumberFormatException e1) {
-					okButton.setEnabled(false);
-				}
-			}
-		});
-		limitText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		limitText.setText(memento.getString(LogView.P_LOG_LIMIT));
-		limitText.setEnabled(limit.getSelection());
-
-	}
-
-	private void createSessionSection(Composite parent) {
-		Composite container = new Composite(parent, SWT.NONE);
-		container.setLayout(new GridLayout());
-		container.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		Label label = new Label(container, SWT.NONE);
-		label.setText(Messages.LogView_FilterDialog_eventsLogged);
-
-		showAllButton = new Button(container, SWT.RADIO);
-		showAllButton.setText(Messages.LogView_FilterDialog_allSessions);
-		GridData gd = new GridData();
-		gd.horizontalIndent = 20;
-		showAllButton.setLayoutData(gd);
-
-		Button button = new Button(container, SWT.RADIO);
-		button.setText(Messages.LogView_FilterDialog_recentSession);
-		gd = new GridData();
-		gd.horizontalIndent = 20;
-		button.setLayoutData(gd);
-
-		if (memento.getString(LogView.P_SHOW_ALL_SESSIONS).equals("true")) { //$NON-NLS-1$
-			showAllButton.setSelection(true);
-		} else {
-			button.setSelection(true);
-		}
-	}
-
-	private void createFilterSection(Composite parent) {
-		Composite comp = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout(2, false);
-		comp.setLayout(layout);
-		comp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		filterEnabled = new Button(comp, SWT.CHECK);
-		filterEnabled.setText(Messages.FilterDialog_EnableFiltersCheckbox);
-		GridData gd = new GridData();
-		gd.horizontalSpan = 2;
-		filterEnabled.setLayoutData(gd);
-		filterEnabled.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				setStackTraceFilterEnabled(filterEnabled.getSelection());
-			}
-
-		});
-
-		filterList = new List(comp, SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
-		gd.verticalSpan = 3;
-		gd.widthHint = 280;
-		gd.horizontalIndent = 20;
-		filterList.setLayoutData(gd);
-		filterList.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				removeFilter.setEnabled(true);
-			}
-		});
-
-		addFilter = new Button(comp, SWT.NONE);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		addFilter.setLayoutData(gd);
-		addFilter.setText(Messages.FilterDialog_Add);
-		addFilter.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				addFilter();
-			}
-		});
-
-		removeFilter = new Button(comp, SWT.NONE);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		removeFilter.setLayoutData(gd);
-		removeFilter.setText(Messages.FilterDialog_Remove);
-		removeFilter.setEnabled(false);
-		removeFilter.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				removeFilter();
-			}
-		});
-
-		// load preferences
-		Boolean enable = memento.getBoolean(EventDetailsDialog.FILTER_ENABLED);
-		enable = enable == null ? Boolean.FALSE : enable;
-
-		filterEnabled.setSelection(enable.booleanValue());
-		setStackTraceFilterEnabled(enable.booleanValue());
-
-		String filters = memento.getString(EventDetailsDialog.FILTER_LIST);
-		if (filters != null) {
-			StringTokenizer st = new StringTokenizer(filters, ";"); //$NON-NLS-1$
-			while (st.hasMoreElements()) {
-				filterList.add(st.nextToken());
-			}
-		}
-	}
-
-	private void addFilter() {
-		IInputValidator validator = new IInputValidator() {
-
-			public String isValid(String newText) {
-				return newText.indexOf(';') >= 0 ? Messages.FilterDialog_FilterShouldntContainSemicolon : null;
-			}
-
-		};
-		InputDialog dialog = new InputDialog(getShell(), Messages.FilterDialog_AddFilterTitle, Messages.FilterDialog_AddFliterLabel, null, validator);
-		if (dialog.open() == Window.OK) {
-			String value = dialog.getValue().trim();
-
-			if (value.length() > 0) {
-				filterList.add(value);
-			}
-		}
-	}
-
-	private void removeFilter() {
-		int index = filterList.getSelectionIndex();
-		if (index != -1) {
-			filterList.remove(index);
-		}
-
-		removeFilter.setEnabled(false);
-	}
-
-	private void setStackTraceFilterEnabled(boolean enabled) {
-		filterList.setEnabled(enabled);
-		addFilter.setEnabled(enabled);
-		removeFilter.setEnabled(enabled && filterList.getSelectionIndex() != -1);
-	}
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		okButton = createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-
-	protected void okPressed() {
-		memento.putString(LogView.P_LOG_INFO, infoButton.getSelection() ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
-		memento.putString(LogView.P_LOG_WARNING, warningButton.getSelection() ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
-		memento.putString(LogView.P_LOG_ERROR, errorButton.getSelection() ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
-		memento.putString(LogView.P_LOG_LIMIT, limitText.getText());
-		memento.putString(LogView.P_USE_LIMIT, limit.getSelection() ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
-		memento.putString(LogView.P_SHOW_ALL_SESSIONS, showAllButton.getSelection() ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		// store Event Dialog stack trace filter preferences
-		memento.putBoolean(EventDetailsDialog.FILTER_ENABLED, filterEnabled.getSelection());
-
-		StringBuffer sb = new StringBuffer();
-		String[] items = filterList.getItems();
-		for (int i = 0; i < items.length; i++) {
-			sb.append(items[i]);
-			if (i < items.length - 1) {
-				sb.append(";"); //$NON-NLS-1$
-			}
-		}
-		memento.putString(EventDetailsDialog.FILTER_LIST, sb.toString());
-
-		super.okPressed();
-	}
-
-}
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/Group.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/Group.java
deleted file mode 100644
index bb20569..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/Group.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Jacek Pospychala <jacek.pospychala@pl.ibm.com> - bugs 202583, 207344
- *******************************************************************************/
-package org.eclipse.ui.internal.views.log;
-
-import java.io.PrintWriter;
-
-/**
- * Groups other Abstract Entries under given name.
- */
-public class Group extends AbstractEntry {
-
-	private String name;
-
-	public Group(String name) {
-		this.name = name;
-	}
-
-	public void write(PrintWriter writer) { // do nothing
-	}
-
-	public String toString() {
-		return name;
-	}
-
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/IHelpContextIds.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/IHelpContextIds.java
deleted file mode 100644
index d8e61e3..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/IHelpContextIds.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views.log;
-
-public interface IHelpContextIds {
-
-	public static final String PREFIX = "org.eclipse.pde.doc.user" + "."; //$NON-NLS-1$ //$NON-NLS-2$
-	public static final String LOG_VIEW = PREFIX + "log_view"; //$NON-NLS-1$
-
-}
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/ILogFileProvider.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/ILogFileProvider.java
deleted file mode 100644
index 0b9d03b..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/ILogFileProvider.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views.log;
-
-import java.util.Map;
-
-/**
- * Provides log files.
- */
-public interface ILogFileProvider {
-
-	/**
-	 * Returns a Map of java.io.File log files indexed by String names.
-	 * 
-	 * @return Map of java.io.File log files index by String names.
-	 * @since 3.4
-	 */
-	Map getLogSources();
-}
\ No newline at end of file
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/ImportLogAction.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/ImportLogAction.java
deleted file mode 100644
index 488ab7e..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/ImportLogAction.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Benjamin Cabe <benjamin.cabe@anyware-tech.com> - bug 218293
- *******************************************************************************/
-package org.eclipse.ui.internal.views.log;
-
-import java.util.*;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.*;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IMemento;
-
-/**
- * Imports log to Log View from such sources as file in local file system, file in workspace,
- * files from log files manager.
- */
-public class ImportLogAction extends Action implements IMenuCreator {
-
-	private Menu toolbarMenu = null;
-	private Menu popupMenu = null;
-
-	/**
-	 * View to import logs to.
-	 */
-	private final LogView logView;
-	private ImportConfigurationLogAction[] actions;
-	private IMemento fMemento;
-
-	/**
-	 * Action imports log file from given location to Log View.
-	 */
-	private class ImportConfigurationLogAction extends Action {
-		private String name;
-		private String location;
-
-		public ImportConfigurationLogAction(String name, String location) {
-			super(name, AS_RADIO_BUTTON);
-			this.name = name;
-			this.location = location;
-			setId(name + "#" + location); //$NON-NLS-1$
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * @see org.eclipse.jface.action.Action#run()
-		 */
-		public void run() {
-			logView.handleImportPath(location);
-			if (isChecked()) {
-				// remember we clicked on that item
-				fMemento.putString(LogView.P_IMPORT_LOG, getId());
-			}
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * @see java.lang.Object#equals(java.lang.Object)
-		 */
-		public boolean equals(Object o) {
-			if (o instanceof ImportConfigurationLogAction) {
-				ImportConfigurationLogAction action = (ImportConfigurationLogAction) o;
-				return name.equals(action.name) && location.equals(action.name);
-			}
-
-			return false;
-		}
-	}
-
-	public ImportLogAction(LogView logView, String text, IMemento memento) {
-		super(text);
-		this.logView = logView;
-		this.fMemento = memento;
-		setMenuCreator(this);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#run()
-	 */
-	public void run() {
-		// by default import file selected by user
-		logView.handleImport();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control)
-	 */
-	public Menu getMenu(Control parent) {
-		if (menuUpdateNeeded(toolbarMenu)) {
-			toolbarMenu = new Menu(parent);
-			createMenuItems(toolbarMenu);
-		}
-		return toolbarMenu;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu)
-	 */
-	public Menu getMenu(Menu parent) {
-		if (menuUpdateNeeded(popupMenu)) {
-			popupMenu = new Menu(parent);
-			createMenuItems(popupMenu);
-		}
-		return popupMenu;
-	}
-
-	/**
-	 * Returns whether menu should be updated or not. Menu should be updated
-	 * if either number of actions or any of actions has been changed. 
-	 * @return true if menu should be updated, false otherwise
-	 */
-	private boolean menuUpdateNeeded(Menu menu) {
-		boolean result = false;
-
-		ImportConfigurationLogAction[] currActions = getLogActions();
-
-		if (menu == null) {
-			result = true;
-		} else if (actions == null) {
-			result = true;
-		} else if (currActions.length != actions.length) {
-			result = true;
-		} else {
-			for (int i = 0; i < currActions.length; i++) {
-				if (!currActions[i].equals(actions[i])) {
-					result = true;
-				}
-			}
-		}
-
-		if (result == true) {
-			actions = currActions;
-
-			if (toolbarMenu != null) {
-				toolbarMenu.dispose();
-				toolbarMenu = null;
-			}
-			if (popupMenu != null) {
-				popupMenu.dispose();
-				popupMenu = null;
-			}
-		}
-
-		return result;
-	}
-
-	/**
-	 * Returns list of all actions from LogFilesManager.
-	 * @return list of all actions from LogFilesManager
-	 */
-	private ImportConfigurationLogAction[] getLogActions() {
-		List result = new ArrayList();
-		Map sources = LogFilesManager.getLogSources();
-
-		for (Iterator j = sources.keySet().iterator(); j.hasNext();) {
-			String name = (String) j.next();
-			String location = (String) sources.get(name);
-			result.add(new ImportConfigurationLogAction(name, location));
-		}
-
-		return (ImportConfigurationLogAction[]) result.toArray(new ImportConfigurationLogAction[result.size()]);
-	}
-
-	/**
-	 * Builds menu of ImportLogAction actions from log files provided by LogFilesManager.
-	 * 
-	 * @see IMenuCreator#getMenu(Control)
-	 */
-	private void createMenuItems(Menu menu) {
-		String previouslyCheckedActionId = fMemento.getString(LogView.P_IMPORT_LOG);
-		if (actions.length == 0) {
-			Action action = new Action(Messages.ImportLogAction_noLaunchHistory) {
-				// dummy action
-			};
-			action.setEnabled(false);
-			ActionContributionItem actionItem = new ActionContributionItem(action);
-			actionItem.fill(menu, -1);
-		} else {
-			for (int i = 0; i < actions.length; i++) {
-				actions[i].setChecked(actions[i].getId().equals(previouslyCheckedActionId) && !logView.isPlatformLogOpen());
-				ActionContributionItem item = new ActionContributionItem(actions[i]);
-				item.fill(menu, -1);
-			}
-		}
-
-		(new Separator()).fill(menu, -1);
-		ImportConfigurationLogAction importWorkspaceLogAction = new ImportConfigurationLogAction(Messages.ImportLogAction_reloadWorkspaceLog, Platform.getLogFileLocation().toFile().getAbsolutePath());
-		importWorkspaceLogAction.setChecked(logView.isPlatformLogOpen());
-		ActionContributionItem item = new ActionContributionItem(importWorkspaceLogAction);
-		item.fill(menu, -1);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuCreator#dispose()
-	 */
-	public void dispose() {
-		if (toolbarMenu != null) {
-			toolbarMenu.dispose();
-			toolbarMenu = null;
-		}
-		if (popupMenu != null) {
-			popupMenu.dispose();
-			popupMenu = null;
-		}
-	}
-}
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogEntry.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogEntry.java
deleted file mode 100644
index c8098db..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogEntry.java
+++ /dev/null
@@ -1,292 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Jacek Pospychala <jacek.pospychala@pl.ibm.com> - bugs 209474, 207344
- *******************************************************************************/
-package org.eclipse.ui.internal.views.log;
-
-import com.ibm.icu.text.SimpleDateFormat;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.text.ParseException;
-import java.util.Date;
-import java.util.StringTokenizer;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-public class LogEntry extends AbstractEntry {
-
-	public static final String F_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS"; //$NON-NLS-1$
-	private static final SimpleDateFormat F_SDF = new SimpleDateFormat(F_DATE_FORMAT);
-
-	private String pluginId;
-	private int severity;
-	private int code;
-	private String fDateString;
-	private Date fDate;
-	private String message;
-	private String stack;
-	private LogSession session;
-
-	public LogEntry() { // do nothing
-	}
-
-	public LogSession getSession() {
-		if ((session == null) && (parent != null) && (parent instanceof LogEntry))
-			return ((LogEntry) parent).getSession();
-
-		return session;
-	}
-
-	void setSession(LogSession session) {
-		this.session = session;
-	}
-
-	public LogEntry(IStatus status) {
-		processStatus(status);
-	}
-
-	public int getSeverity() {
-		return severity;
-	}
-
-	public boolean isOK() {
-		return severity == IStatus.OK;
-	}
-
-	public int getCode() {
-		return code;
-	}
-
-	public String getPluginId() {
-		return pluginId;
-	}
-
-	public String getMessage() {
-		return message;
-	}
-
-	public String getStack() {
-		return stack;
-	}
-
-	public String getFormattedDate() {
-		if (fDateString == null)
-			fDateString = F_SDF.format(getDate());
-		return fDateString;
-	}
-
-	public Date getDate() {
-		if (fDate == null)
-			fDate = new Date(0); // unknown date - return epoch
-		return fDate;
-	}
-
-	public String getSeverityText() {
-		return getSeverityText(severity);
-	}
-
-	public String toString() {
-		return getSeverityText();
-	}
-
-	/**
-	 * @see IWorkbenchAdapter#getImageDescriptor(Object)
-	 */
-	public ImageDescriptor getImageDescriptor(Object arg0) {
-		return null;
-	}
-
-	/**
-	 * @see IWorkbenchAdapter#getLabel(Object)
-	 */
-	public String getLabel(Object obj) {
-		return getSeverityText();
-	}
-
-	private String getSeverityText(int severity) {
-		switch (severity) {
-			case IStatus.ERROR :
-				return Messages.LogView_severity_error;
-			case IStatus.WARNING :
-				return Messages.LogView_severity_warning;
-			case IStatus.INFO :
-				return Messages.LogView_severity_info;
-			case IStatus.OK :
-				return Messages.LogView_severity_ok;
-		}
-		return "?"; //$NON-NLS-1$
-	}
-
-	void processEntry(String line) {
-		//!ENTRY <pluginID> <severity> <code> <date>
-		//!ENTRY <pluginID> <date> if logged by the framework!!!
-		StringTokenizer stok = new StringTokenizer(line, " "); //$NON-NLS-1$
-		int tokenCount = stok.countTokens();
-		boolean noSeverity = stok.countTokens() < 5;
-
-		// no severity means it should be represented as OK
-		if (noSeverity) {
-			severity = 0;
-			code = 0;
-		}
-		StringBuffer dateBuffer = new StringBuffer();
-		for (int i = 0; i < tokenCount; i++) {
-			String token = stok.nextToken();
-			switch (i) {
-				case 0 :
-					break;
-				case 1 :
-					pluginId = token;
-					break;
-				case 2 :
-					if (noSeverity) {
-						if (dateBuffer.length() > 0)
-							dateBuffer.append(" "); //$NON-NLS-1$
-						dateBuffer.append(token);
-					} else {
-						severity = parseInteger(token);
-					}
-					break;
-				case 3 :
-					if (noSeverity) {
-						if (dateBuffer.length() > 0)
-							dateBuffer.append(" "); //$NON-NLS-1$
-						dateBuffer.append(token);
-					} else
-						code = parseInteger(token);
-					break;
-				default :
-					if (dateBuffer.length() > 0)
-						dateBuffer.append(" "); //$NON-NLS-1$
-					dateBuffer.append(token);
-			}
-		}
-		try {
-			Date date = F_SDF.parse(dateBuffer.toString());
-			if (date != null) {
-				fDate = date;
-				fDateString = F_SDF.format(fDate);
-			}
-		} catch (ParseException e) { // do nothing
-		}
-	}
-
-	int processSubEntry(String line) {
-		//!SUBENTRY <depth> <pluginID> <severity> <code> <date>
-		//!SUBENTRY  <depth> <pluginID> <date>if logged by the framework!!!
-		StringTokenizer stok = new StringTokenizer(line, " "); //$NON-NLS-1$
-		int tokenCount = stok.countTokens();
-		boolean byFrameWork = stok.countTokens() < 5;
-
-		StringBuffer dateBuffer = new StringBuffer();
-		int depth = 0;
-		for (int i = 0; i < tokenCount; i++) {
-			String token = stok.nextToken();
-			switch (i) {
-				case 0 :
-					break;
-				case 1 :
-					depth = parseInteger(token);
-					break;
-				case 2 :
-					pluginId = token;
-					break;
-				case 3 :
-					if (byFrameWork) {
-						if (dateBuffer.length() > 0)
-							dateBuffer.append(" "); //$NON-NLS-1$
-						dateBuffer.append(token);
-					} else {
-						severity = parseInteger(token);
-					}
-					break;
-				case 4 :
-					if (byFrameWork) {
-						if (dateBuffer.length() > 0)
-							dateBuffer.append(" "); //$NON-NLS-1$
-						dateBuffer.append(token);
-					} else
-						code = parseInteger(token);
-					break;
-				default :
-					if (dateBuffer.length() > 0)
-						dateBuffer.append(" "); //$NON-NLS-1$
-					dateBuffer.append(token);
-			}
-		}
-		try {
-			Date date = F_SDF.parse(dateBuffer.toString());
-			if (date != null) {
-				fDate = date;
-				fDateString = F_SDF.format(fDate);
-			}
-		} catch (ParseException e) { // do nothing
-		}
-		return depth;
-	}
-
-	private int parseInteger(String token) {
-		try {
-			return Integer.parseInt(token);
-		} catch (NumberFormatException e) {
-			return 0;
-		}
-	}
-
-	void setStack(String stack) {
-		this.stack = stack;
-	}
-
-	void setMessage(String message) {
-		this.message = message;
-	}
-
-	private void processStatus(IStatus status) {
-		pluginId = status.getPlugin();
-		severity = status.getSeverity();
-		code = status.getCode();
-		fDate = new Date();
-		fDateString = F_SDF.format(fDate);
-		message = status.getMessage();
-		Throwable throwable = status.getException();
-		if (throwable != null) {
-			StringWriter swriter = new StringWriter();
-			PrintWriter pwriter = new PrintWriter(swriter);
-			throwable.printStackTrace(pwriter);
-			pwriter.flush();
-			pwriter.close();
-			stack = swriter.toString();
-		}
-		IStatus[] schildren = status.getChildren();
-		if (schildren.length > 0) {
-			for (int i = 0; i < schildren.length; i++) {
-				LogEntry child = new LogEntry(schildren[i]);
-				addChild(child);
-			}
-		}
-	}
-
-	public void write(PrintWriter writer) {
-		if (session != null)
-			writer.println(session.getSessionData());
-		writer.println(getSeverityText());
-		if (fDate != null)
-			writer.println(getDate());
-
-		if (message != null)
-			writer.println(getMessage());
-
-		if (stack != null) {
-			writer.println();
-			writer.println(stack);
-		}
-	}
-}
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogFilesManager.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogFilesManager.java
deleted file mode 100644
index b51a5ec..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogFilesManager.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views.log;
-
-import java.util.*;
-
-/**
- * Manages the log file providers.
- * One adds log file provider to let Log View know where to find log files.
- */
-public class LogFilesManager {
-
-	private static List logFileProviders = new ArrayList();
-
-	/**
-	 * Adds log file provider.
-	 * Has no effect if an identical provider is already registered. 
-	 */
-	public static void addLogFileProvider(ILogFileProvider provider) {
-		if (!logFileProviders.contains(provider)) {
-			logFileProviders.add(provider);
-		}
-	}
-
-	/**
-	 * Removes log file provider.
-	 * Has no effect if an identical provider is already removed.
-	 */
-	public static void removeLogFileProvider(ILogFileProvider provider) {
-		logFileProviders.remove(provider);
-	}
-
-	/**
-	 * Returns the list of logs.
-	 */
-	static Map getLogSources() {
-		ILogFileProvider[] providers = (ILogFileProvider[]) logFileProviders.toArray(new ILogFileProvider[logFileProviders.size()]);
-		Map result = new HashMap();
-
-		for (int i = 0; i < providers.length; i++) {
-			ILogFileProvider provider = providers[i];
-
-			Map sources = provider.getLogSources();
-			result.putAll(sources);
-		}
-
-		return result;
-	}
-}
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogReader.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogReader.java
deleted file mode 100644
index eec74bf..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogReader.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Jacek Pospychala <jacek.pospychala@pl.ibm.com> - bugs 202583, 207061
- *     Jacek Pospychala <jacek.pospychala@pl.ibm.com> - bugs 207312, 100715
- *     Jacek Pospychala <jacek.pospychala@pl.ibm.com> - bugs 207344
- *******************************************************************************/
-package org.eclipse.ui.internal.views.log;
-
-import java.io.*;
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.ui.IMemento;
-
-class LogReader {
-	private static final int SESSION_STATE = 10;
-	public static final long MAX_FILE_LENGTH = 1024 * 1024;
-	private static final int ENTRY_STATE = 20;
-	private static final int SUBENTRY_STATE = 30;
-	private static final int MESSAGE_STATE = 40;
-	private static final int STACK_STATE = 50;
-	private static final int TEXT_STATE = 60;
-	private static final int UNKNOWN_STATE = 70;
-
-	public static LogSession parseLogFile(File file, List entries, IMemento memento) {
-		if (memento.getString(LogView.P_USE_LIMIT).equals("true") //$NON-NLS-1$
-				&& memento.getInteger(LogView.P_LOG_LIMIT).intValue() == 0)
-			return null;
-
-		ArrayList parents = new ArrayList();
-		LogEntry current = null;
-		LogSession session = null;
-		int writerState = UNKNOWN_STATE;
-		StringWriter swriter = null;
-		PrintWriter writer = null;
-		int state = UNKNOWN_STATE;
-		LogSession currentSession = null;
-		BufferedReader reader = null;
-		try {
-
-			reader = new BufferedReader(new InputStreamReader(new TailInputStream(file, MAX_FILE_LENGTH), "UTF-8")); //$NON-NLS-1$
-			for (;;) {
-				String line = reader.readLine();
-				if (line == null)
-					break;
-				line = line.trim();
-
-				if (line.startsWith("!SESSION")) { //$NON-NLS-1$
-					state = SESSION_STATE;
-				} else if (line.startsWith("!ENTRY")) { //$NON-NLS-1$
-					state = ENTRY_STATE;
-				} else if (line.startsWith("!SUBENTRY")) { //$NON-NLS-1$
-					state = SUBENTRY_STATE;
-				} else if (line.startsWith("!MESSAGE")) { //$NON-NLS-1$
-					state = MESSAGE_STATE;
-				} else if (line.startsWith("!STACK")) { //$NON-NLS-1$
-					state = STACK_STATE;
-				} else
-					state = TEXT_STATE;
-
-				if (state == TEXT_STATE) {
-					if (writer != null)
-						writer.println(line);
-					continue;
-				}
-
-				if (writer != null) {
-					setData(current, session, writerState, swriter);
-					writerState = UNKNOWN_STATE;
-					swriter = null;
-					writer.close();
-					writer = null;
-				}
-
-				if (state == STACK_STATE) {
-					swriter = new StringWriter();
-					writer = new PrintWriter(swriter, true);
-					writerState = STACK_STATE;
-				} else if (state == SESSION_STATE) {
-					session = new LogSession();
-					session.processLogLine(line);
-					swriter = new StringWriter();
-					writer = new PrintWriter(swriter, true);
-					writerState = SESSION_STATE;
-					currentSession = updateCurrentSession(currentSession, session);
-					// if current session is most recent and not showing all sessions
-					if (currentSession.equals(session) && !memento.getString(LogView.P_SHOW_ALL_SESSIONS).equals("true")) //$NON-NLS-1$
-						entries.clear();
-				} else if (state == ENTRY_STATE) {
-					if (currentSession == null) { // create fake session if there was no any
-						currentSession = new LogSession();
-					}
-					LogEntry entry = new LogEntry();
-					entry.setSession(currentSession);
-					entry.processEntry(line);
-					setNewParent(parents, entry, 0);
-					current = entry;
-					addEntry(current, entries, memento);
-				} else if (state == SUBENTRY_STATE) {
-					if (parents.size() > 0) {
-						LogEntry entry = new LogEntry();
-						entry.setSession(session);
-						int depth = entry.processSubEntry(line);
-						setNewParent(parents, entry, depth);
-						current = entry;
-						LogEntry parent = (LogEntry) parents.get(depth - 1);
-						parent.addChild(entry);
-					}
-				} else if (state == MESSAGE_STATE) {
-					swriter = new StringWriter();
-					writer = new PrintWriter(swriter, true);
-					String message = ""; //$NON-NLS-1$
-					if (line.length() > 8)
-						message = line.substring(9).trim();
-					message = message.trim();
-					if (current != null)
-						current.setMessage(message);
-					writerState = MESSAGE_STATE;
-				}
-			}
-
-			if (swriter != null && current != null && writerState == STACK_STATE) {
-				writerState = UNKNOWN_STATE;
-				current.setStack(swriter.toString());
-			}
-		} catch (FileNotFoundException e) { // do nothing
-		} catch (IOException e) { // do nothing
-		} finally {
-			try {
-				if (reader != null)
-					reader.close();
-			} catch (IOException e1) { // do nothing
-			}
-			if (writer != null) {
-				setData(current, session, writerState, swriter);
-				writer.close();
-			}
-		}
-
-		return currentSession;
-	}
-
-	/**
-	 * Assigns data from writer to appropriate field of current Log Entry or Session,
-	 * depending on writer state.
-	 */
-	private static void setData(LogEntry current, LogSession session, int writerState, StringWriter swriter) {
-		if (writerState == STACK_STATE && current != null) {
-			current.setStack(swriter.toString());
-		} else if (writerState == SESSION_STATE && session != null) {
-			session.setSessionData(swriter.toString());
-		} else if (writerState == MESSAGE_STATE && current != null) {
-			StringBuffer sb = new StringBuffer(current.getMessage());
-			sb.append(swriter.toString());
-			current.setMessage(sb.toString().trim());
-		}
-	}
-
-	/**
-	 * Updates the {@link currentSession} to be the one that is not null or has most recent date.
-	 * @param session
-	 */
-	private static LogSession updateCurrentSession(LogSession currentSession, LogSession session) {
-		if (currentSession == null) {
-			return session;
-		}
-		Date currentDate = currentSession.getDate();
-		Date sessionDate = session.getDate();
-		if (currentDate == null && sessionDate != null)
-			return session;
-		else if (currentDate != null && sessionDate == null)
-			return session;
-		else if (currentDate != null && sessionDate != null && sessionDate.after(currentDate))
-			return session;
-
-		return currentSession;
-	}
-
-	/**
-	 * Adds entry to the list if it's not filtered. Removes entries exceeding the count limit.
-	 * 
-	 * @param entry
-	 * @param entries
-	 * @param memento
-	 */
-	private static void addEntry(LogEntry entry, List entries, IMemento memento) {
-
-		if (isLogged(entry, memento)) {
-			entries.add(entry);
-
-			if (memento.getString(LogView.P_USE_LIMIT).equals("true")) {//$NON-NLS-1$
-				int limit = memento.getInteger(LogView.P_LOG_LIMIT).intValue();
-				if (entries.size() > limit) {
-					entries.remove(0);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Returns whether given entry is logged (true) or filtered (false).
-	 * 
-	 * @param entry
-	 * @param memento
-	 * @return is entry logged or filtered
-	 */
-	public static boolean isLogged(LogEntry entry, IMemento memento) {
-		int severity = entry.getSeverity();
-		switch (severity) {
-			case IStatus.INFO :
-				return memento.getString(LogView.P_LOG_INFO).equals("true"); //$NON-NLS-1$
-			case IStatus.WARNING :
-				return memento.getString(LogView.P_LOG_WARNING).equals("true"); //$NON-NLS-1$
-			case IStatus.ERROR :
-				return memento.getString(LogView.P_LOG_ERROR).equals("true"); //$NON-NLS-1$
-		}
-
-		return false;
-	}
-
-	private static void setNewParent(ArrayList parents, LogEntry entry, int depth) {
-		if (depth + 1 > parents.size())
-			parents.add(entry);
-		else
-			parents.set(depth, entry);
-	}
-}
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogSession.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogSession.java
deleted file mode 100644
index 097810a..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogSession.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Jacek Pospychala <jacek.pospychala@pl.ibm.com> - bugs 202583, 207344
- *******************************************************************************/
-package org.eclipse.ui.internal.views.log;
-
-import com.ibm.icu.text.SimpleDateFormat;
-import java.io.PrintWriter;
-import java.text.ParseException;
-import java.util.Date;
-
-/**
- * Group of entries with additional Session data.
- */
-public class LogSession extends Group {
-	private String sessionData;
-	private Date date;
-
-	public LogSession() {
-		super(Messages.LogViewLabelProvider_Session);
-	}
-
-	public Date getDate() {
-		return date;
-	}
-
-	public void setDate(String dateString) {
-		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); //$NON-NLS-1$
-		try {
-			date = formatter.parse(dateString);
-		} catch (ParseException e) { // do nothing
-		}
-	}
-
-	public String getSessionData() {
-		return sessionData;
-	}
-
-	void setSessionData(String data) {
-		this.sessionData = data;
-	}
-
-	public void processLogLine(String line) {
-		// process "!SESSION <dateUnknownFormat> ----------------------------"
-		line = line.substring(9); // strip "!SESSION "
-		int delim = line.indexOf("----"); //$NON-NLS-1$ // single "-" may be in date, so take few for sure
-		if (delim == -1)
-			return;
-
-		String dateBuffer = line.substring(0, delim).trim();
-		setDate(dateBuffer);
-	}
-
-	public void write(PrintWriter writer) {
-		writer.write(sessionData);
-	}
-}
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogView.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogView.java
deleted file mode 100644
index f013c73..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogView.java
+++ /dev/null
@@ -1,1547 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Jacek Pospychala <jacek.pospychala@pl.ibm.com> - bugs 202583, 202584, 207344
- *     													bugs 207323, 207931, 207101
- *     													bugs 172658, 216341, 216657
- *     Michael Rennie <Michael_Rennie@ca.ibm.com> - bug 208637
- *******************************************************************************/
-
-package org.eclipse.ui.internal.views.log;
-
-import com.ibm.icu.text.DateFormat;
-import com.ibm.icu.text.SimpleDateFormat;
-import java.io.*;
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-import java.util.List;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.util.Policy;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.program.Program;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.dialogs.FilteredTree;
-import org.eclipse.ui.dialogs.PatternFilter;
-import org.eclipse.ui.part.ViewPart;
-
-public class LogView extends ViewPart implements ILogListener {
-	public static final String P_LOG_WARNING = "warning"; //$NON-NLS-1$
-	public static final String P_LOG_ERROR = "error"; //$NON-NLS-1$
-	public static final String P_LOG_INFO = "info"; //$NON-NLS-1$
-	public static final String P_LOG_LIMIT = "limit"; //$NON-NLS-1$
-	public static final String P_USE_LIMIT = "useLimit"; //$NON-NLS-1$
-	public static final String P_SHOW_ALL_SESSIONS = "allSessions"; //$NON-NLS-1$
-	private static final String P_COLUMN_1 = "column2"; //$NON-NLS-1$
-	private static final String P_COLUMN_2 = "column3"; //$NON-NLS-1$
-	private static final String P_COLUMN_3 = "column4"; //$NON-NLS-1$
-	public static final String P_ACTIVATE = "activate"; //$NON-NLS-1$
-	public static final String P_SHOW_FILTER_TEXT = "show_filter_text"; //$NON-NLS-1$
-	public static final String P_ORDER_TYPE = "orderType"; //$NON-NLS-1$
-	public static final String P_ORDER_VALUE = "orderValue"; //$NON-NLS-1$
-	public static final String P_IMPORT_LOG = "importLog"; //$NON-NLS-1$
-	public static final String P_GROUP_BY = "groupBy"; //$NON-NLS-1$
-
-	private int MESSAGE_ORDER;
-	private int PLUGIN_ORDER;
-	private int DATE_ORDER;
-
-	public final static byte MESSAGE = 0x0;
-	public final static byte PLUGIN = 0x1;
-	public final static byte DATE = 0x2;
-	public static int ASCENDING = 1;
-	public static int DESCENDING = -1;
-
-	public static final int GROUP_BY_NONE = 0;
-	public static final int GROUP_BY_SESSION = 1;
-	public static final int GROUP_BY_PLUGIN = 2;
-
-	private List elements;
-	private Map groups;
-	private LogSession currentSession;
-
-	private List batchedEntries;
-	private boolean batchEntries;
-
-	private Clipboard fClipboard;
-
-	private IMemento fMemento;
-	private File fInputFile;
-	private String fDirectory;
-
-	private Comparator fComparator;
-
-	// hover text
-	private boolean fCanOpenTextShell;
-	private Text fTextLabel;
-	private Shell fTextShell;
-
-	private boolean fFirstEvent = true;
-
-	private TreeColumn fColumn1;
-	private TreeColumn fColumn2;
-	private TreeColumn fColumn3;
-
-	private Tree fTree;
-	private FilteredTree fFilteredTree;
-	private LogViewLabelProvider fLabelProvider;
-
-	private Action fPropertiesAction;
-	private Action fDeleteLogAction;
-	private Action fReadLogAction;
-	private Action fCopyAction;
-	private Action fActivateViewAction;
-	private Action fOpenLogAction;
-	private Action fExportAction;
-
-	/**
-	 * Action called when user selects "Group by -> ..." from menu.
-	 */
-	class GroupByAction extends Action {
-		private int groupBy;
-
-		public GroupByAction(String text, int groupBy) {
-			super(text, IAction.AS_RADIO_BUTTON);
-
-			this.groupBy = groupBy;
-
-			if (fMemento.getInteger(LogView.P_GROUP_BY).intValue() == groupBy) {
-				setChecked(true);
-			}
-		}
-
-		public void run() {
-			if (fMemento.getInteger(LogView.P_GROUP_BY).intValue() != groupBy) {
-				fMemento.putInteger(LogView.P_GROUP_BY, groupBy);
-				reloadLog();
-			}
-		}
-	}
-
-	/**
-	 * Constructor
-	 */
-	public LogView() {
-		elements = new ArrayList();
-		groups = new HashMap();
-		batchedEntries = new ArrayList();
-		fInputFile = Platform.getLogFileLocation().toFile();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = 0;
-		layout.verticalSpacing = 0;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		composite.setLayout(layout);
-
-		readLogFile();
-		createViewer(composite);
-		getSite().setSelectionProvider(fFilteredTree.getViewer());
-		createActions();
-		fClipboard = new Clipboard(fTree.getDisplay());
-		fTree.setToolTipText(""); //$NON-NLS-1$
-		initializeViewerSorter();
-
-		makeHoverShell();
-
-		Platform.addLogListener(this);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(fTree, IHelpContextIds.LOG_VIEW);
-		getSite().getWorkbenchWindow().addPerspectiveListener(new IPerspectiveListener2() {
-
-			public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, IWorkbenchPartReference partRef, String changeId) {
-				if (!(partRef instanceof IViewReference))
-					return;
-
-				IWorkbenchPart part = partRef.getPart(false);
-				if (part == null) {
-					return;
-				}
-
-				if (part.equals(LogView.this)) {
-					if (changeId.equals(IWorkbenchPage.CHANGE_VIEW_SHOW)) {
-						if (!batchedEntries.isEmpty()) {
-							pushBatchedEntries();
-						}
-
-						batchEntries = false;
-					} else if (changeId.equals(IWorkbenchPage.CHANGE_VIEW_HIDE)) {
-						batchEntries = true;
-					}
-				}
-			}
-
-			public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
-				// empty
-			}
-
-			public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) {
-				// empty
-			}
-
-		});
-	}
-
-	/**
-	 * Creates the actions for the viewsite action bars
-	 */
-	private void createActions() {
-		IActionBars bars = getViewSite().getActionBars();
-
-		fCopyAction = createCopyAction();
-		bars.setGlobalActionHandler(ActionFactory.COPY.getId(), fCopyAction);
-
-		IToolBarManager toolBarManager = bars.getToolBarManager();
-
-		fExportAction = createExportAction();
-		toolBarManager.add(fExportAction);
-
-		final Action importLogAction = createImportLogAction();
-		toolBarManager.add(importLogAction);
-
-		toolBarManager.add(new Separator());
-
-		final Action clearAction = createClearAction();
-		toolBarManager.add(clearAction);
-
-		fDeleteLogAction = createDeleteLogAction();
-		toolBarManager.add(fDeleteLogAction);
-
-		fOpenLogAction = createOpenLogAction();
-		toolBarManager.add(fOpenLogAction);
-
-		fReadLogAction = createReadLogAction();
-		toolBarManager.add(fReadLogAction);
-
-		toolBarManager.add(new Separator());
-
-		IMenuManager mgr = bars.getMenuManager();
-
-		mgr.add(createGroupByAction());
-
-		mgr.add(new Separator());
-
-		mgr.add(createFilterAction());
-
-		mgr.add(new Separator());
-
-		fActivateViewAction = createActivateViewAction();
-		mgr.add(fActivateViewAction);
-
-		mgr.add(createShowTextFilter());
-
-		createPropertiesAction();
-
-		MenuManager popupMenuManager = new MenuManager("#PopupMenu"); //$NON-NLS-1$
-		IMenuListener listener = new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				manager.add(fCopyAction);
-				manager.add(new Separator());
-				manager.add(clearAction);
-				manager.add(fDeleteLogAction);
-				manager.add(fOpenLogAction);
-				manager.add(fReadLogAction);
-				manager.add(new Separator());
-				manager.add(fExportAction);
-				manager.add(createImportLogAction());
-				manager.add(new Separator());
-
-				((EventDetailsDialogAction) fPropertiesAction).setComparator(fComparator);
-				TreeItem[] selection = fTree.getSelection();
-				if ((selection.length > 0) && (selection[0].getData() instanceof LogEntry)) {
-					manager.add(fPropertiesAction);
-				}
-
-				manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-			}
-		};
-		popupMenuManager.addMenuListener(listener);
-		popupMenuManager.setRemoveAllWhenShown(true);
-		getSite().registerContextMenu(popupMenuManager, getSite().getSelectionProvider());
-		Menu menu = popupMenuManager.createContextMenu(fTree);
-		fTree.setMenu(menu);
-	}
-
-	private Action createActivateViewAction() {
-		Action action = new Action(Messages.LogView_activate) { //       	
-			public void run() {
-				fMemento.putString(P_ACTIVATE, isChecked() ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		};
-		action.setChecked(fMemento.getString(P_ACTIVATE).equals("true")); //$NON-NLS-1$
-		return action;
-	}
-
-	private Action createClearAction() {
-		Action action = new Action(Messages.LogView_clear) {
-			public void run() {
-				handleClear();
-			}
-		};
-		action.setImageDescriptor(SharedImages.getImageDescriptor(SharedImages.DESC_CLEAR));
-		action.setDisabledImageDescriptor(SharedImages.getImageDescriptor(SharedImages.DESC_CLEAR_DISABLED));
-		action.setToolTipText(Messages.LogView_clear_tooltip);
-		action.setText(Messages.LogView_clear);
-		return action;
-	}
-
-	private Action createCopyAction() {
-		Action action = new Action(Messages.LogView_copy) {
-			public void run() {
-				copyToClipboard(fFilteredTree.getViewer().getSelection());
-			}
-		};
-		action.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_COPY));
-		return action;
-	}
-
-	private Action createDeleteLogAction() {
-		Action action = new Action(Messages.LogView_delete) {
-			public void run() {
-				doDeleteLog();
-			}
-		};
-		action.setToolTipText(Messages.LogView_delete_tooltip);
-		action.setImageDescriptor(SharedImages.getImageDescriptor(SharedImages.DESC_REMOVE_LOG));
-		action.setDisabledImageDescriptor(SharedImages.getImageDescriptor(SharedImages.DESC_REMOVE_LOG_DISABLED));
-		action.setEnabled(fInputFile.exists() && fInputFile.equals(Platform.getLogFileLocation().toFile()));
-		return action;
-	}
-
-	private Action createExportAction() {
-		Action action = new Action(Messages.LogView_export) {
-			public void run() {
-				handleExport();
-			}
-		};
-		action.setToolTipText(Messages.LogView_export_tooltip);
-		action.setImageDescriptor(SharedImages.getImageDescriptor(SharedImages.DESC_EXPORT));
-		action.setDisabledImageDescriptor(SharedImages.getImageDescriptor(SharedImages.DESC_EXPORT_DISABLED));
-		action.setEnabled(fInputFile.exists());
-		return action;
-	}
-
-	private Action createFilterAction() {
-		Action action = new Action(Messages.LogView_filter) {
-			public void run() {
-				handleFilter();
-			}
-		};
-		action.setToolTipText(Messages.LogView_filter);
-		action.setImageDescriptor(SharedImages.getImageDescriptor(SharedImages.DESC_FILTER));
-		action.setDisabledImageDescriptor(SharedImages.getImageDescriptor(SharedImages.DESC_FILTER_DISABLED));
-		return action;
-	}
-
-	private Action createImportLogAction() {
-		Action action = new ImportLogAction(this, Messages.LogView_import, fMemento);
-		action.setToolTipText(Messages.LogView_import_tooltip);
-		action.setImageDescriptor(SharedImages.getImageDescriptor(SharedImages.DESC_IMPORT));
-		action.setDisabledImageDescriptor(SharedImages.getImageDescriptor(SharedImages.DESC_IMPORT_DISABLED));
-		return action;
-	}
-
-	private Action createOpenLogAction() {
-		Action action = null;
-		try {
-			// TODO this isn't the best way to check... we should be smarter and use package admin
-			// check to see if org.eclipse.ui.ide is available
-			Class.forName("org.eclipse.ui.ide.IDE"); //$NON-NLS-1$
-			// check to see if org.eclipse.core.filesystem is available
-			Class.forName("org.eclipse.core.filesystem.IFileStore"); //$NON-NLS-1$
-			action = new OpenIDELogFileAction(this);
-		} catch (ClassNotFoundException e) {
-			action = new Action() {
-				public void run() {
-					if (fInputFile.exists()) {
-						Job job = getOpenLogFileJob();
-						job.setUser(false);
-						job.setPriority(Job.SHORT);
-						job.schedule();
-					}
-				}
-			};
-		}
-		action.setText(Messages.LogView_view_currentLog);
-		action.setImageDescriptor(SharedImages.getImageDescriptor(SharedImages.DESC_OPEN_LOG));
-		action.setDisabledImageDescriptor(SharedImages.getImageDescriptor(SharedImages.DESC_OPEN_LOG_DISABLED));
-		action.setEnabled(fInputFile.exists());
-		action.setToolTipText(Messages.LogView_view_currentLog_tooltip);
-		return action;
-	}
-
-	private void createPropertiesAction() {
-		fPropertiesAction = new EventDetailsDialogAction(fTree.getShell(), fFilteredTree.getViewer(), fMemento);
-		fPropertiesAction.setImageDescriptor(SharedImages.getImageDescriptor(SharedImages.DESC_PROPERTIES));
-		fPropertiesAction.setDisabledImageDescriptor(SharedImages.getImageDescriptor(SharedImages.DESC_PROPERTIES_DISABLED));
-		fPropertiesAction.setToolTipText(Messages.LogView_properties_tooltip);
-		fPropertiesAction.setEnabled(false);
-	}
-
-	private Action createReadLogAction() {
-		Action action = new Action(Messages.LogView_readLog_restore) {
-			public void run() {
-				fInputFile = Platform.getLogFileLocation().toFile();
-				reloadLog();
-			}
-		};
-		action.setToolTipText(Messages.LogView_readLog_restore_tooltip);
-		action.setImageDescriptor(SharedImages.getImageDescriptor(SharedImages.DESC_READ_LOG));
-		action.setDisabledImageDescriptor(SharedImages.getImageDescriptor(SharedImages.DESC_READ_LOG_DISABLED));
-		return action;
-	}
-
-	/**
-	 * Creates the Show Text Filter view menu action 
-	 * @return the new action for the Show Text Filter 
-	 */
-	private Action createShowTextFilter() {
-		Action action = new Action(Messages.LogView_show_filter_text) {
-			public void run() {
-				showFilterText(isChecked());
-			}
-		};
-		boolean visible = fMemento.getBoolean(P_SHOW_FILTER_TEXT).booleanValue();
-		action.setChecked(visible);
-		showFilterText(visible);
-		return action;
-	}
-
-	/**
-	 * Shows/hides the filter text control from the filtered tree. This method also sets the 
-	 * P_SHOW_FILTER_TEXT preference to the visible state
-	 * 
-	 * @param visible if the filter text control should be shown or not
-	 */
-	private void showFilterText(boolean visible) {
-		fMemento.putBoolean(P_SHOW_FILTER_TEXT, visible);
-		Composite ctrl = fFilteredTree.getFilterControl().getParent();
-		GridData gd = (GridData) ctrl.getLayoutData();
-		gd.exclude = !visible;
-		ctrl.setVisible(visible);
-		gd.verticalIndent = 8;
-		gd.horizontalIndent = 4;
-		if (!visible) // reset control if we aren't visible
-			fFilteredTree.getFilterControl().setText(Messages.LogView_show_filter_initialText);
-		fFilteredTree.layout(false);
-	}
-
-	private IContributionItem createGroupByAction() {
-		IMenuManager manager = new MenuManager(Messages.LogView_GroupBy);
-		manager.add(new GroupByAction(Messages.LogView_GroupBySession, LogView.GROUP_BY_SESSION));
-		manager.add(new GroupByAction(Messages.LogView_GroupByPlugin, LogView.GROUP_BY_PLUGIN));
-		manager.add(new GroupByAction(Messages.LogView_GroupByNone, LogView.GROUP_BY_NONE));
-		return manager;
-	}
-
-	private void createViewer(Composite parent) {
-
-		fFilteredTree = new FilteredTree(parent, SWT.FULL_SELECTION, new PatternFilter() {
-			protected boolean isLeafMatch(Viewer viewer, Object element) {
-				if (element instanceof LogEntry) {
-					LogEntry logEntry = (LogEntry) element;
-					String message = logEntry.getMessage();
-					String plugin = logEntry.getPluginId();
-					String date = logEntry.getFormattedDate();
-					return wordMatches(message) || wordMatches(plugin) || wordMatches(date);
-				}
-				return false;
-			}
-		});
-		fFilteredTree.setInitialText(Messages.LogView_show_filter_initialText);
-		fTree = fFilteredTree.getViewer().getTree();
-		fTree.setLinesVisible(true);
-		createColumns(fTree);
-		fFilteredTree.getViewer().setAutoExpandLevel(2);
-		fFilteredTree.getViewer().setContentProvider(new LogViewContentProvider(this));
-		fFilteredTree.getViewer().setLabelProvider(fLabelProvider = new LogViewLabelProvider(this));
-		fLabelProvider.connect(this);
-		fFilteredTree.getViewer().addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent e) {
-				handleSelectionChanged(e.getSelection());
-				if (fPropertiesAction.isEnabled())
-					((EventDetailsDialogAction) fPropertiesAction).resetSelection();
-			}
-		});
-		fFilteredTree.getViewer().addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				((EventDetailsDialogAction) fPropertiesAction).setComparator(fComparator);
-				fPropertiesAction.run();
-			}
-		});
-		fFilteredTree.getViewer().setInput(this);
-		addMouseListeners();
-		addDragSource();
-	}
-
-	private void createColumns(Tree tree) {
-		fColumn1 = new TreeColumn(tree, SWT.LEFT);
-		fColumn1.setText(Messages.LogView_column_message);
-		fColumn1.setWidth(fMemento.getInteger(P_COLUMN_1).intValue());
-		fColumn1.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				MESSAGE_ORDER *= -1;
-				ViewerComparator comparator = getViewerComparator(MESSAGE);
-				fFilteredTree.getViewer().setComparator(comparator);
-				boolean isComparatorSet = ((EventDetailsDialogAction) fPropertiesAction).resetSelection(MESSAGE, MESSAGE_ORDER);
-				setComparator(MESSAGE);
-				if (!isComparatorSet)
-					((EventDetailsDialogAction) fPropertiesAction).setComparator(fComparator);
-				fMemento.putInteger(P_ORDER_VALUE, MESSAGE_ORDER);
-				fMemento.putInteger(P_ORDER_TYPE, MESSAGE);
-				setColumnSorting(fColumn1, MESSAGE_ORDER);
-			}
-		});
-
-		fColumn2 = new TreeColumn(tree, SWT.LEFT);
-		fColumn2.setText(Messages.LogView_column_plugin);
-		fColumn2.setWidth(fMemento.getInteger(P_COLUMN_2).intValue());
-		fColumn2.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				PLUGIN_ORDER *= -1;
-				ViewerComparator comparator = getViewerComparator(PLUGIN);
-				fFilteredTree.getViewer().setComparator(comparator);
-				boolean isComparatorSet = ((EventDetailsDialogAction) fPropertiesAction).resetSelection(PLUGIN, PLUGIN_ORDER);
-				setComparator(PLUGIN);
-				if (!isComparatorSet)
-					((EventDetailsDialogAction) fPropertiesAction).setComparator(fComparator);
-				fMemento.putInteger(P_ORDER_VALUE, PLUGIN_ORDER);
-				fMemento.putInteger(P_ORDER_TYPE, PLUGIN);
-				setColumnSorting(fColumn2, PLUGIN_ORDER);
-			}
-		});
-
-		fColumn3 = new TreeColumn(tree, SWT.LEFT);
-		fColumn3.setText(Messages.LogView_column_date);
-		fColumn3.setWidth(fMemento.getInteger(P_COLUMN_3).intValue());
-		fColumn3.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				DATE_ORDER *= -1;
-				ViewerComparator comparator = getViewerComparator(DATE);
-				fFilteredTree.getViewer().setComparator(comparator);
-				setComparator(DATE);
-				((EventDetailsDialogAction) fPropertiesAction).setComparator(fComparator);
-				fMemento.putInteger(P_ORDER_VALUE, DATE_ORDER);
-				fMemento.putInteger(P_ORDER_TYPE, DATE);
-				setColumnSorting(fColumn3, DATE_ORDER);
-			}
-		});
-
-		tree.setHeaderVisible(true);
-	}
-
-	private void initializeViewerSorter() {
-		byte orderType = fMemento.getInteger(P_ORDER_TYPE).byteValue();
-		ViewerComparator comparator = getViewerComparator(orderType);
-		fFilteredTree.getViewer().setComparator(comparator);
-		if (orderType == MESSAGE)
-			setColumnSorting(fColumn1, MESSAGE_ORDER);
-		else if (orderType == PLUGIN)
-			setColumnSorting(fColumn2, PLUGIN_ORDER);
-		else if (orderType == DATE)
-			setColumnSorting(fColumn3, DATE_ORDER);
-	}
-
-	private void setColumnSorting(TreeColumn column, int order) {
-		fTree.setSortColumn(column);
-		fTree.setSortDirection(order == ASCENDING ? SWT.UP : SWT.DOWN);
-	}
-
-	public void dispose() {
-		writeSettings();
-		Platform.removeLogListener(this);
-		fClipboard.dispose();
-		if (fTextShell != null)
-			fTextShell.dispose();
-		fLabelProvider.disconnect(this);
-		fFilteredTree.dispose();
-		super.dispose();
-	}
-
-	void handleImport() {
-		FileDialog dialog = new FileDialog(getViewSite().getShell());
-		dialog.setFilterExtensions(new String[] {"*.log"}); //$NON-NLS-1$
-		if (fDirectory != null)
-			dialog.setFilterPath(fDirectory);
-		String path = dialog.open();
-		if (path == null) { // cancel
-			return;
-		}
-
-		File file = new Path(path).toFile();
-		if (file.exists()) {
-			handleImportPath(path);
-		} else {
-			String msg = NLS.bind(Messages.LogView_FileCouldNotBeFound, file.getName());
-			MessageDialog.openError(getViewSite().getShell(), Messages.LogView_OpenFile, msg);
-		}
-	}
-
-	public void handleImportPath(String path) {
-		if (path != null && new Path(path).toFile().exists()) {
-			fInputFile = new Path(path).toFile();
-			fDirectory = fInputFile.getParent();
-			IRunnableWithProgress op = new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor) {
-					monitor.beginTask(Messages.LogView_operation_importing, IProgressMonitor.UNKNOWN);
-					readLogFile();
-				}
-			};
-			ProgressMonitorDialog pmd = new ProgressMonitorDialog(getViewSite().getShell());
-			try {
-				pmd.run(true, true, op);
-			} catch (InvocationTargetException e) { // do nothing
-			} catch (InterruptedException e) { // do nothing
-			} finally {
-				fReadLogAction.setText(Messages.LogView_readLog_reload);
-				fReadLogAction.setToolTipText(Messages.LogView_readLog_reload);
-				asyncRefresh(false);
-				resetDialogButtons();
-			}
-		}
-	}
-
-	private void handleExport() {
-		FileDialog dialog = new FileDialog(getViewSite().getShell(), SWT.SAVE);
-		dialog.setFilterExtensions(new String[] {"*.log"}); //$NON-NLS-1$
-		if (fDirectory != null)
-			dialog.setFilterPath(fDirectory);
-		String path = dialog.open();
-		if (path != null) {
-			if (path.indexOf('.') == -1 && !path.endsWith(".log")) //$NON-NLS-1$
-				path += ".log"; //$NON-NLS-1$
-			File outputFile = new Path(path).toFile();
-			fDirectory = outputFile.getParent();
-			if (outputFile.exists()) {
-				String message = NLS.bind(Messages.LogView_confirmOverwrite_message, outputFile.toString());
-				if (!MessageDialog.openQuestion(getViewSite().getShell(), Messages.LogView_exportLog, message))
-					return;
-			}
-			copy(fInputFile, outputFile);
-		}
-	}
-
-	private void copy(File inputFile, File outputFile) {
-		BufferedReader reader = null;
-		BufferedWriter writer = null;
-		try {
-			reader = new BufferedReader(new InputStreamReader(new FileInputStream(inputFile), "UTF-8")); //$NON-NLS-1$
-			writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputFile), "UTF-8")); //$NON-NLS-1$
-			while (reader.ready()) {
-				writer.write(reader.readLine());
-				writer.write(System.getProperty("line.separator")); //$NON-NLS-1$
-			}
-		} catch (IOException e) { // do nothing
-		} finally {
-			try {
-				if (reader != null)
-					reader.close();
-				if (writer != null)
-					writer.close();
-			} catch (IOException e1) { // do nothing
-			}
-		}
-	}
-
-	private void handleFilter() {
-		FilterDialog dialog = new FilterDialog(Activator.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell(), fMemento);
-		dialog.create();
-		dialog.getShell().setText(Messages.LogView_FilterDialog_title);
-		if (dialog.open() == Window.OK)
-			reloadLog();
-	}
-
-	private void doDeleteLog() {
-		String title = Messages.LogView_confirmDelete_title;
-		String message = Messages.LogView_confirmDelete_message;
-		if (!MessageDialog.openConfirm(fTree.getShell(), title, message))
-			return;
-		if (fInputFile.delete() || elements.size() > 0) {
-			elements.clear();
-			groups.clear();
-			currentSession.removeAllChildren();
-			asyncRefresh(false);
-			resetDialogButtons();
-		}
-	}
-
-	public void fillContextMenu(IMenuManager manager) { // nothing
-	}
-
-	public AbstractEntry[] getElements() {
-		return (AbstractEntry[]) elements.toArray(new AbstractEntry[elements.size()]);
-	}
-
-	protected void handleClear() {
-		BusyIndicator.showWhile(fTree.getDisplay(), new Runnable() {
-			public void run() {
-				elements.clear();
-				groups.clear();
-				currentSession.removeAllChildren();
-				asyncRefresh(false);
-				resetDialogButtons();
-			}
-		});
-	}
-
-	protected void reloadLog() {
-		IRunnableWithProgress op = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) {
-				monitor.beginTask(Messages.LogView_operation_reloading, IProgressMonitor.UNKNOWN);
-				readLogFile();
-			}
-		};
-		ProgressMonitorDialog pmd = new ProgressMonitorDialog(getViewSite().getShell());
-		try {
-			pmd.run(true, true, op);
-		} catch (InvocationTargetException e) { // do nothing
-		} catch (InterruptedException e) { // do nothing
-		} finally {
-			fReadLogAction.setText(Messages.LogView_readLog_restore);
-			fReadLogAction.setToolTipText(Messages.LogView_readLog_restore);
-			asyncRefresh(false);
-			resetDialogButtons();
-		}
-	}
-
-	private void readLogFile() {
-		if (!fInputFile.exists())
-			return;
-
-		elements.clear();
-		groups.clear();
-
-		List result = new ArrayList();
-		currentSession = LogReader.parseLogFile(fInputFile, result, fMemento);
-		group(result);
-		limitEntriesCount();
-
-		getSite().getShell().getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				setContentDescription(getTitleSummary());
-			}
-		});
-
-	}
-
-	private String getTitleSummary() {
-		String path = ""; //$NON-NLS-1$
-		try {
-			path = fInputFile.getCanonicalPath();
-		} catch (IOException e) { // log nothing
-		}
-
-		if (isPlatformLogOpen()) {
-			return Messages.LogView_WorkspaceLogFile;
-		}
-
-		Map sources = LogFilesManager.getLogSources();
-		if (sources.containsValue(path)) {
-			for (Iterator i = sources.keySet().iterator(); i.hasNext();) {
-				String key = (String) i.next();
-				if (sources.get(key).equals(path)) {
-					return NLS.bind(Messages.LogView_LogFileTitle, new String[] {key, path});
-				}
-			}
-		}
-
-		return path;
-	}
-
-	/**
-	 * Add new entries to correct groups in the view.
-	 * @param entries new entries to show up in groups in the view.
-	 */
-	private void group(List entries) {
-		if (fMemento.getInteger(P_GROUP_BY).intValue() == GROUP_BY_NONE) {
-			elements.addAll(entries);
-		} else {
-			for (Iterator i = entries.iterator(); i.hasNext();) {
-				LogEntry entry = (LogEntry) i.next();
-				Group group = getGroup(entry);
-				group.addChild(entry);
-			}
-		}
-	}
-
-	/**
-	 * Limits the number of entries according to the max entries limit set in
-	 * memento.
-	 */
-	private void limitEntriesCount() {
-		int limit = Integer.MAX_VALUE;
-		if (fMemento.getString(LogView.P_USE_LIMIT).equals("true")) {//$NON-NLS-1$
-			limit = fMemento.getInteger(LogView.P_LOG_LIMIT).intValue();
-		}
-
-		int entriesCount = getEntriesCount();
-
-		if (entriesCount <= limit) {
-			return;
-		}
-		Comparator dateComparator = new Comparator() {
-			public int compare(Object o1, Object o2) {
-				Date l1 = ((LogEntry) o1).getDate();
-				Date l2 = ((LogEntry) o2).getDate();
-				if ((l1 != null) && (l2 != null)) {
-					return l1.before(l2) ? -1 : 1;
-				} else if ((l1 == null) && (l2 == null)) {
-					return 0;
-				} else
-					return (l1 == null) ? -1 : 1;
-			}
-		};
-
-		if (fMemento.getInteger(P_GROUP_BY).intValue() == GROUP_BY_NONE) {
-			elements.subList(0, elements.size() - limit).clear();
-		} else {
-			List copy = new ArrayList(entriesCount);
-			for (Iterator i = elements.iterator(); i.hasNext();) {
-				AbstractEntry group = (AbstractEntry) i.next();
-				copy.addAll(Arrays.asList(group.getChildren(group)));
-			}
-
-			Collections.sort(copy, dateComparator);
-			List toRemove = copy.subList(0, copy.size() - limit);
-
-			for (Iterator i = elements.iterator(); i.hasNext();) {
-				AbstractEntry group = (AbstractEntry) i.next();
-				group.removeChildren(toRemove);
-			}
-		}
-
-	}
-
-	private int getEntriesCount() {
-		if (fMemento.getInteger(P_GROUP_BY).intValue() == GROUP_BY_NONE) {
-			return elements.size();
-		}
-		int size = 0;
-		for (Iterator i = elements.iterator(); i.hasNext();) {
-			AbstractEntry group = (AbstractEntry) i.next();
-			size += group.size();
-		}
-		return size;
-	}
-
-	/**
-	 * Returns group appropriate for the entry. Group depends on P_GROUP_BY
-	 * preference, or is null if grouping is disabled (GROUP_BY_NONE), or group
-	 * could not be determined. May create group if it haven't existed before.
-	 * 
-	 * @param entry entry to be grouped
-	 * @return group or null if grouping is disabled
-	 */
-	protected Group getGroup(LogEntry entry) {
-		int groupBy = fMemento.getInteger(P_GROUP_BY).intValue();
-		Object elementGroupId = null;
-		String groupName = null;
-
-		switch (groupBy) {
-			case GROUP_BY_PLUGIN :
-				groupName = entry.getPluginId();
-				elementGroupId = groupName;
-				break;
-
-			case GROUP_BY_SESSION :
-				elementGroupId = entry.getSession();
-				break;
-
-			default : // grouping is disabled
-				return null;
-		}
-
-		if (elementGroupId == null) { // could not determine group
-			return null;
-		}
-
-		Group group = (Group) groups.get(elementGroupId);
-		if (group == null) {
-			if (groupBy == GROUP_BY_SESSION) {
-				group = entry.getSession();
-			} else {
-				group = new Group(groupName);
-			}
-			groups.put(elementGroupId, group);
-			elements.add(group);
-		}
-
-		return group;
-	}
-
-	public void logging(IStatus status, String plugin) {
-		if (!fInputFile.equals(Platform.getLogFileLocation().toFile()))
-			return;
-
-		if (batchEntries) {
-			// create LogEntry immediately to don't loose IStatus creation date.
-			LogEntry entry = createLogEntry(status);
-			batchedEntries.add(entry);
-			return;
-		}
-
-		if (fFirstEvent) {
-			readLogFile();
-			asyncRefresh(true);
-			fFirstEvent = false;
-		} else {
-			LogEntry entry = createLogEntry(status);
-
-			if (!batchedEntries.isEmpty()) {
-				// batch new entry as well, to have only one asyncRefresh()
-				batchedEntries.add(entry);
-				pushBatchedEntries();
-			} else {
-				pushEntry(entry);
-				asyncRefresh(true);
-			}
-		}
-	}
-
-	/**
-	 * Push batched entries to log view.
-	 */
-	private void pushBatchedEntries() {
-		Job job = new Job(Messages.LogView_AddingBatchedEvents) {
-			protected IStatus run(IProgressMonitor monitor) {
-				for (int i = 0; i < batchedEntries.size(); i++) {
-					if (!monitor.isCanceled()) {
-						LogEntry entry = (LogEntry) batchedEntries.get(i);
-						pushEntry(entry);
-						batchedEntries.remove(i);
-					}
-				}
-				asyncRefresh(true);
-				return Status.OK_STATUS;
-			}
-		};
-		job.schedule();
-	}
-
-	private LogEntry createLogEntry(IStatus status) {
-		LogEntry entry = new LogEntry(status);
-		entry.setSession(currentSession);
-		return entry;
-	}
-
-	private synchronized void pushEntry(LogEntry entry) {
-		if (LogReader.isLogged(entry, fMemento)) {
-			group(Collections.singletonList(entry));
-			limitEntriesCount();
-		}
-		asyncRefresh(true);
-	}
-
-	private void asyncRefresh(final boolean activate) {
-		if (fTree.isDisposed())
-			return;
-		Display display = fTree.getDisplay();
-		final ViewPart view = this;
-		if (display != null) {
-			display.asyncExec(new Runnable() {
-				public void run() {
-					if (!fTree.isDisposed()) {
-						fFilteredTree.getViewer().refresh();
-						fFilteredTree.getViewer().expandToLevel(2);
-						fDeleteLogAction.setEnabled(fInputFile.exists() && fInputFile.equals(Platform.getLogFileLocation().toFile()));
-						fOpenLogAction.setEnabled(fInputFile.exists());
-						fExportAction.setEnabled(fInputFile.exists());
-						if (activate && fActivateViewAction.isChecked()) {
-							IWorkbenchPage page = Activator.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
-							if (page != null)
-								page.bringToTop(view);
-						}
-					}
-				}
-			});
-		}
-	}
-
-	public void setFocus() {
-		if (fFilteredTree != null && !fFilteredTree.isDisposed())
-			fFilteredTree.setFocus();
-	}
-
-	private void handleSelectionChanged(ISelection selection) {
-		updateStatus(selection);
-		fCopyAction.setEnabled((!selection.isEmpty()) && ((IStructuredSelection) selection).getFirstElement() instanceof LogEntry);
-		fPropertiesAction.setEnabled(!selection.isEmpty());
-	}
-
-	private void updateStatus(ISelection selection) {
-		IStatusLineManager status = getViewSite().getActionBars().getStatusLineManager();
-		if (selection.isEmpty())
-			status.setMessage(null);
-		else {
-			Object element = ((IStructuredSelection) selection).getFirstElement();
-			status.setMessage(((LogViewLabelProvider) fFilteredTree.getViewer().getLabelProvider()).getColumnText(element, 0));
-		}
-	}
-
-	/**
-	 * Converts selected log view element to string.
-	 * @return textual log entry representation or null if selection doesn't contain log entry
-	 */
-	private static String selectionToString(ISelection selection) {
-		StringWriter writer = new StringWriter();
-		PrintWriter pwriter = new PrintWriter(writer);
-		if (selection.isEmpty())
-			return null;
-		LogEntry entry = (LogEntry) ((IStructuredSelection) selection).getFirstElement();
-		entry.write(pwriter);
-		pwriter.flush();
-		String textVersion = writer.toString();
-		try {
-			pwriter.close();
-			writer.close();
-		} catch (IOException e) {
-			// empty
-		}
-
-		return textVersion;
-	}
-
-	/**
-	 * Copies selected element to clipboard.
-	 */
-	private void copyToClipboard(ISelection selection) {
-		String textVersion = selectionToString(selection);
-		if ((textVersion != null) && (textVersion.trim().length() > 0)) {
-			// set the clipboard contents
-			fClipboard.setContents(new Object[] {textVersion}, new Transfer[] {TextTransfer.getInstance()});
-		}
-	}
-
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		super.init(site, memento);
-		if (memento == null)
-			this.fMemento = XMLMemento.createWriteRoot("LOGVIEW"); //$NON-NLS-1$
-		else
-			this.fMemento = memento;
-		readSettings();
-
-		// initialize column ordering 
-		final byte type = this.fMemento.getInteger(P_ORDER_TYPE).byteValue();
-		switch (type) {
-			case DATE :
-				DATE_ORDER = this.fMemento.getInteger(P_ORDER_VALUE).intValue();
-				MESSAGE_ORDER = DESCENDING;
-				PLUGIN_ORDER = DESCENDING;
-				break;
-			case MESSAGE :
-				MESSAGE_ORDER = this.fMemento.getInteger(P_ORDER_VALUE).intValue();
-				DATE_ORDER = DESCENDING;
-				PLUGIN_ORDER = DESCENDING;
-				break;
-			case PLUGIN :
-				PLUGIN_ORDER = this.fMemento.getInteger(P_ORDER_VALUE).intValue();
-				MESSAGE_ORDER = DESCENDING;
-				DATE_ORDER = DESCENDING;
-				break;
-			default :
-				DATE_ORDER = DESCENDING;
-				MESSAGE_ORDER = DESCENDING;
-				PLUGIN_ORDER = DESCENDING;
-		}
-		setComparator(fMemento.getInteger(P_ORDER_TYPE).byteValue());
-	}
-
-	private void initializeMemento() {
-		if (fMemento.getString(P_USE_LIMIT) == null) {
-			fMemento.putString(P_USE_LIMIT, "true"); //$NON-NLS-1$
-		}
-		if (fMemento.getInteger(P_LOG_LIMIT) == null) {
-			fMemento.putInteger(P_LOG_LIMIT, 50);
-		}
-		if (fMemento.getString(P_LOG_INFO) == null) {
-			fMemento.putString(P_LOG_INFO, "true"); //$NON-NLS-1$
-		}
-		if (fMemento.getString(P_LOG_WARNING) == null) {
-			fMemento.putString(P_LOG_WARNING, "true"); //$NON-NLS-1$
-		}
-		if (fMemento.getString(P_LOG_ERROR) == null) {
-			fMemento.putString(P_LOG_ERROR, "true"); //$NON-NLS-1$
-		}
-		if (fMemento.getString(P_SHOW_ALL_SESSIONS) == null) {
-			fMemento.putString(P_SHOW_ALL_SESSIONS, "true"); //$NON-NLS-1$
-		}
-		Integer width = fMemento.getInteger(P_COLUMN_1);
-		if (width == null || width.intValue() == 0) {
-			fMemento.putInteger(P_COLUMN_1, 300);
-		}
-		width = fMemento.getInteger(P_COLUMN_2);
-		if (width == null || width.intValue() == 0) {
-			fMemento.putInteger(P_COLUMN_2, 150);
-		}
-		width = fMemento.getInteger(P_COLUMN_3);
-		if (width == null || width.intValue() == 0) {
-			fMemento.putInteger(P_COLUMN_3, 150);
-		}
-		if (fMemento.getString(P_ACTIVATE) == null) {
-			fMemento.putString(P_ACTIVATE, "true"); //$NON-NLS-1$
-		}
-		if (fMemento.getBoolean(P_SHOW_FILTER_TEXT) == null) {
-			fMemento.putBoolean(P_SHOW_FILTER_TEXT, true);
-		}
-		fMemento.putInteger(P_ORDER_VALUE, DESCENDING);
-		fMemento.putInteger(P_ORDER_TYPE, DATE);
-		if (fMemento.getInteger(P_GROUP_BY) == null) {
-			fMemento.putInteger(P_GROUP_BY, GROUP_BY_NONE);
-		}
-	}
-
-	public void saveState(IMemento memento) {
-		if (this.fMemento == null || memento == null)
-			return;
-		this.fMemento.putInteger(P_COLUMN_1, fColumn1.getWidth());
-		this.fMemento.putInteger(P_COLUMN_2, fColumn2.getWidth());
-		this.fMemento.putInteger(P_COLUMN_3, fColumn3.getWidth());
-		this.fMemento.putString(P_ACTIVATE, fActivateViewAction.isChecked() ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
-		memento.putMemento(this.fMemento);
-		writeSettings();
-	}
-
-	private void addMouseListeners() {
-		Listener tableListener = new Listener() {
-			public void handleEvent(Event e) {
-				switch (e.type) {
-					case SWT.MouseMove :
-						onMouseMove(e);
-						break;
-					case SWT.MouseHover :
-						onMouseHover(e);
-						break;
-					case SWT.MouseDown :
-						onMouseDown(e);
-						break;
-				}
-			}
-		};
-		int[] tableEvents = new int[] {SWT.MouseDown, SWT.MouseMove, SWT.MouseHover};
-		for (int i = 0; i < tableEvents.length; i++) {
-			fTree.addListener(tableEvents[i], tableListener);
-		}
-	}
-
-	/**
-	 * Adds drag source support to error log tree.
-	 */
-	private void addDragSource() {
-		DragSource source = new DragSource(fTree, DND.DROP_COPY);
-		Transfer[] types = new Transfer[] {TextTransfer.getInstance()};
-		source.setTransfer(types);
-
-		source.addDragListener(new DragSourceAdapter() {
-
-			public void dragStart(DragSourceEvent event) {
-				ISelection selection = fFilteredTree.getViewer().getSelection();
-				if (selection.isEmpty()) {
-					event.doit = false;
-					return;
-				}
-
-				AbstractEntry entry = (AbstractEntry) ((TreeSelection) selection).getFirstElement();
-				if (!(entry instanceof LogEntry)) {
-					event.doit = false;
-					return;
-				}
-			}
-
-			public void dragSetData(DragSourceEvent event) {
-				if (!TextTransfer.getInstance().isSupportedType(event.dataType)) {
-					return;
-				}
-
-				ISelection selection = fFilteredTree.getViewer().getSelection();
-				String textVersion = selectionToString(selection);
-				event.data = textVersion;
-			}
-		});
-	}
-
-	private void makeHoverShell() {
-		fTextShell = new Shell(fTree.getShell(), SWT.NO_FOCUS | SWT.ON_TOP | SWT.TOOL);
-		Display display = fTextShell.getDisplay();
-		fTextShell.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-		GridLayout layout = new GridLayout(1, false);
-		int border = ((fTree.getShell().getStyle() & SWT.NO_TRIM) == 0) ? 0 : 1;
-		layout.marginHeight = border;
-		layout.marginWidth = border;
-		fTextShell.setLayout(layout);
-		fTextShell.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		Composite shellComposite = new Composite(fTextShell, SWT.NONE);
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		shellComposite.setLayout(layout);
-		shellComposite.setLayoutData(new GridData(GridData.FILL_BOTH | GridData.VERTICAL_ALIGN_BEGINNING));
-		fTextLabel = new Text(shellComposite, SWT.WRAP | SWT.MULTI | SWT.READ_ONLY);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.widthHint = 100;
-		gd.grabExcessHorizontalSpace = true;
-		fTextLabel.setLayoutData(gd);
-		Color c = fTree.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND);
-		fTextLabel.setBackground(c);
-		c = fTree.getDisplay().getSystemColor(SWT.COLOR_INFO_FOREGROUND);
-		fTextLabel.setForeground(c);
-		fTextLabel.setEditable(false);
-		fTextShell.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				onTextShellDispose(e);
-			}
-		});
-	}
-
-	void onTextShellDispose(DisposeEvent e) {
-		fCanOpenTextShell = true;
-		setFocus();
-	}
-
-	void onMouseDown(Event e) {
-		if (fTextShell != null && !fTextShell.isDisposed() && !fTextShell.isFocusControl()) {
-			fTextShell.setVisible(false);
-			fCanOpenTextShell = true;
-		}
-	}
-
-	void onMouseHover(Event e) {
-		if (!fCanOpenTextShell || fTextShell == null || fTextShell.isDisposed())
-			return;
-		fCanOpenTextShell = false;
-		Point point = new Point(e.x, e.y);
-		TreeItem item = fTree.getItem(point);
-		if (item == null)
-			return;
-
-		String message = null;
-		if (item.getData() instanceof LogEntry) {
-			message = ((LogEntry) item.getData()).getStack();
-		} else if (item.getData() instanceof LogSession) {
-			LogSession session = ((LogSession) item.getData());
-			message = Messages.LogView_SessionStarted;
-			if (session.getDate() != null) {
-				DateFormat formatter = new SimpleDateFormat(LogEntry.F_DATE_FORMAT);
-				message += formatter.format(session.getDate());
-			}
-		}
-
-		if (message == null)
-			return;
-
-		fTextLabel.setText(message);
-		Rectangle bounds = fTree.getDisplay().getBounds();
-		Point cursorPoint = fTree.getDisplay().getCursorLocation();
-		int x = point.x;
-		int y = point.y + 25;
-		int width = fTree.getColumn(0).getWidth();
-		int height = 125;
-		if (cursorPoint.x + width > bounds.width)
-			x -= width;
-		if (cursorPoint.y + height + 25 > bounds.height)
-			y -= height + 27;
-
-		fTextShell.setLocation(fTree.toDisplay(x, y));
-		fTextShell.setSize(width, height);
-		fTextShell.setVisible(true);
-	}
-
-	void onMouseMove(Event e) {
-		if (fTextShell != null && !fTextShell.isDisposed() && fTextShell.isVisible())
-			fTextShell.setVisible(false);
-
-		Point point = new Point(e.x, e.y);
-		TreeItem item = fTree.getItem(point);
-		if (item == null)
-			return;
-		Image image = item.getImage();
-		Object data = item.getData();
-		if (data instanceof LogEntry) {
-			LogEntry entry = (LogEntry) data;
-			int parentCount = getNumberOfParents(entry);
-			int startRange = 20 + Math.max(image.getBounds().width + 2, 7 + 2) * parentCount;
-			int endRange = startRange + 16;
-			fCanOpenTextShell = e.x >= startRange && e.x <= endRange;
-		}
-	}
-
-	private int getNumberOfParents(AbstractEntry entry) {
-		AbstractEntry parent = (AbstractEntry) entry.getParent(entry);
-		if (parent == null)
-			return 0;
-		return 1 + getNumberOfParents(parent);
-	}
-
-	public Comparator getComparator() {
-		return fComparator;
-	}
-
-	private void setComparator(byte sortType) {
-		if (sortType == DATE) {
-			fComparator = new Comparator() {
-				public int compare(Object e1, Object e2) {
-					long date1 = 0;
-					long date2 = 0;
-					if ((e1 instanceof LogEntry) && (e2 instanceof LogEntry)) {
-						date1 = ((LogEntry) e1).getDate().getTime();
-						date2 = ((LogEntry) e2).getDate().getTime();
-					} else if ((e1 instanceof LogSession) && (e2 instanceof LogSession)) {
-						date1 = ((LogSession) e1).getDate() == null ? 0 : ((LogSession) e1).getDate().getTime();
-						date2 = ((LogSession) e2).getDate() == null ? 0 : ((LogSession) e2).getDate().getTime();
-					}
-					if (date1 == date2) {
-						int result = elements.indexOf(e2) - elements.indexOf(e1);
-						if (DATE_ORDER == DESCENDING)
-							result *= DESCENDING;
-						return result;
-					}
-					if (DATE_ORDER == DESCENDING)
-						return date1 > date2 ? DESCENDING : ASCENDING;
-					return date1 < date2 ? DESCENDING : ASCENDING;
-				}
-			};
-		} else if (sortType == PLUGIN) {
-			fComparator = new Comparator() {
-				public int compare(Object e1, Object e2) {
-					if ((e1 instanceof LogEntry) && (e2 instanceof LogEntry)) {
-						LogEntry entry1 = (LogEntry) e1;
-						LogEntry entry2 = (LogEntry) e2;
-						return getDefaultComparator().compare(entry1.getPluginId(), entry2.getPluginId()) * PLUGIN_ORDER;
-					}
-					return 0;
-				}
-			};
-		} else {
-			fComparator = new Comparator() {
-				public int compare(Object e1, Object e2) {
-					if ((e1 instanceof LogEntry) && (e2 instanceof LogEntry)) {
-						LogEntry entry1 = (LogEntry) e1;
-						LogEntry entry2 = (LogEntry) e2;
-						return getDefaultComparator().compare(entry1.getMessage(), entry2.getMessage()) * MESSAGE_ORDER;
-					}
-					return 0;
-				}
-			};
-		}
-	}
-
-	private Comparator getDefaultComparator() {
-		return Policy.getComparator();
-	}
-
-	private ViewerComparator getViewerComparator(byte sortType) {
-		if (sortType == PLUGIN) {
-			return new ViewerComparator() {
-				public int compare(Viewer viewer, Object e1, Object e2) {
-					if ((e1 instanceof LogEntry) && (e2 instanceof LogEntry)) {
-						LogEntry entry1 = (LogEntry) e1;
-						LogEntry entry2 = (LogEntry) e2;
-						return getComparator().compare(entry1.getPluginId(), entry2.getPluginId()) * PLUGIN_ORDER;
-					}
-					return 0;
-				}
-			};
-		} else if (sortType == MESSAGE) {
-			return new ViewerComparator() {
-				public int compare(Viewer viewer, Object e1, Object e2) {
-					if ((e1 instanceof LogEntry) && (e2 instanceof LogEntry)) {
-						LogEntry entry1 = (LogEntry) e1;
-						LogEntry entry2 = (LogEntry) e2;
-						return getComparator().compare(entry1.getMessage(), entry2.getMessage()) * MESSAGE_ORDER;
-					}
-					return 0;
-				}
-			};
-		} else {
-			return new ViewerComparator() {
-				public int compare(Viewer viewer, Object e1, Object e2) {
-					long date1 = 0;
-					long date2 = 0;
-					if ((e1 instanceof LogEntry) && (e2 instanceof LogEntry)) {
-						date1 = ((LogEntry) e1).getDate().getTime();
-						date2 = ((LogEntry) e2).getDate().getTime();
-					} else if ((e1 instanceof LogSession) && (e2 instanceof LogSession)) {
-						date1 = ((LogSession) e1).getDate() == null ? 0 : ((LogSession) e1).getDate().getTime();
-						date2 = ((LogSession) e2).getDate() == null ? 0 : ((LogSession) e2).getDate().getTime();
-					}
-
-					if (date1 == date2) {
-						int result = elements.indexOf(e2) - elements.indexOf(e1);
-						if (DATE_ORDER == DESCENDING)
-							result *= DESCENDING;
-						return result;
-					}
-					if (DATE_ORDER == DESCENDING)
-						return date1 > date2 ? DESCENDING : ASCENDING;
-					return date1 < date2 ? DESCENDING : ASCENDING;
-				}
-			};
-		}
-	}
-
-	private void resetDialogButtons() {
-		((EventDetailsDialogAction) fPropertiesAction).resetDialogButtons();
-	}
-
-	/**
-	 * Returns the filter dialog settings object used to maintain
-	 * state between filter dialogs
-	 * @return the dialog settings to be used
-	 */
-	private IDialogSettings getLogSettings() {
-		IDialogSettings settings = Activator.getDefault().getDialogSettings();
-		return settings.getSection(getClass().getName());
-	}
-
-	/**
-	 * Returns the plugin preferences used to maintain
-	 * state of log view
-	 * @return the plugin preferences
-	 */
-	private Preferences getLogPreferences() {
-		return Activator.getDefault().getPluginPreferences();
-	}
-
-	private void readSettings() {
-		IDialogSettings s = getLogSettings();
-		Preferences p = getLogPreferences();
-		if (s == null || p == null) {
-			initializeMemento();
-			return;
-		}
-		try {
-			fMemento.putString(P_USE_LIMIT, s.getBoolean(P_USE_LIMIT) ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
-			fMemento.putString(P_LOG_INFO, s.getBoolean(P_LOG_INFO) ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
-			fMemento.putString(P_LOG_WARNING, s.getBoolean(P_LOG_WARNING) ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
-			fMemento.putString(P_LOG_ERROR, s.getBoolean(P_LOG_ERROR) ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
-			fMemento.putString(P_SHOW_ALL_SESSIONS, s.getBoolean(P_SHOW_ALL_SESSIONS) ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
-			fMemento.putInteger(P_LOG_LIMIT, s.getInt(P_LOG_LIMIT));
-			fMemento.putInteger(P_COLUMN_1, p.getInt(P_COLUMN_1) > 0 ? p.getInt(P_COLUMN_1) : 300);
-			fMemento.putInteger(P_COLUMN_2, p.getInt(P_COLUMN_2) > 0 ? p.getInt(P_COLUMN_2) : 150);
-			fMemento.putInteger(P_COLUMN_3, p.getInt(P_COLUMN_3) > 0 ? p.getInt(P_COLUMN_3) : 150);
-			fMemento.putString(P_ACTIVATE, p.getBoolean(P_ACTIVATE) ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
-			int order = p.getInt(P_ORDER_VALUE);
-			fMemento.putInteger(P_ORDER_VALUE, order == 0 ? DESCENDING : order);
-			fMemento.putInteger(P_ORDER_TYPE, p.getInt(P_ORDER_TYPE));
-			fMemento.putBoolean(P_SHOW_FILTER_TEXT, p.getBoolean(P_SHOW_FILTER_TEXT));
-			fMemento.putInteger(P_GROUP_BY, p.getInt(P_GROUP_BY));
-		} catch (NumberFormatException e) {
-			fMemento.putInteger(P_LOG_LIMIT, 50);
-			fMemento.putInteger(P_COLUMN_1, 300);
-			fMemento.putInteger(P_COLUMN_2, 150);
-			fMemento.putInteger(P_COLUMN_3, 150);
-			fMemento.putInteger(P_ORDER_TYPE, DATE);
-			fMemento.putInteger(P_ORDER_VALUE, DESCENDING);
-			fMemento.putInteger(P_GROUP_BY, GROUP_BY_NONE);
-		}
-	}
-
-	private void writeSettings() {
-		writeViewSettings();
-		writeFilterSettings();
-	}
-
-	private void writeFilterSettings() {
-		IDialogSettings settings = getLogSettings();
-		if (settings == null)
-			settings = Activator.getDefault().getDialogSettings().addNewSection(getClass().getName());
-		settings.put(P_USE_LIMIT, fMemento.getString(P_USE_LIMIT).equals("true")); //$NON-NLS-1$
-		settings.put(P_LOG_LIMIT, fMemento.getInteger(P_LOG_LIMIT).intValue());
-		settings.put(P_LOG_INFO, fMemento.getString(P_LOG_INFO).equals("true")); //$NON-NLS-1$
-		settings.put(P_LOG_WARNING, fMemento.getString(P_LOG_WARNING).equals("true")); //$NON-NLS-1$
-		settings.put(P_LOG_ERROR, fMemento.getString(P_LOG_ERROR).equals("true")); //$NON-NLS-1$
-		settings.put(P_SHOW_ALL_SESSIONS, fMemento.getString(P_SHOW_ALL_SESSIONS).equals("true")); //$NON-NLS-1$
-	}
-
-	private void writeViewSettings() {
-		Preferences preferences = getLogPreferences();
-		preferences.setValue(P_COLUMN_1, fMemento.getInteger(P_COLUMN_1).intValue());
-		preferences.setValue(P_COLUMN_2, fMemento.getInteger(P_COLUMN_2).intValue());
-		preferences.setValue(P_COLUMN_3, fMemento.getInteger(P_COLUMN_3).intValue());
-		preferences.setValue(P_ACTIVATE, fMemento.getString(P_ACTIVATE).equals("true")); //$NON-NLS-1$
-		int order = fMemento.getInteger(P_ORDER_VALUE).intValue();
-		preferences.setValue(P_ORDER_VALUE, order == 0 ? DESCENDING : order);
-		preferences.setValue(P_ORDER_TYPE, fMemento.getInteger(P_ORDER_TYPE).intValue());
-		preferences.setValue(P_SHOW_FILTER_TEXT, fMemento.getBoolean(P_SHOW_FILTER_TEXT).booleanValue());
-		preferences.setValue(P_GROUP_BY, fMemento.getInteger(P_GROUP_BY).intValue());
-	}
-
-	public void sortByDateDescending() {
-		setColumnSorting(fColumn3, DESCENDING);
-	}
-
-	protected Job getOpenLogFileJob() {
-		final Shell shell = getViewSite().getShell();
-		return new Job(Messages.OpenLogDialog_message) {
-			protected IStatus run(IProgressMonitor monitor) {
-				boolean failed = false;
-				if (fInputFile.length() <= LogReader.MAX_FILE_LENGTH) {
-					failed = !Program.launch(fInputFile.getAbsolutePath());
-					if (failed) {
-						Program p = Program.findProgram(".txt"); //$NON-NLS-1$
-						if (p != null) {
-							p.execute(fInputFile.getAbsolutePath());
-							return Status.OK_STATUS;
-						}
-					}
-				}
-				if (failed) {
-					final OpenLogDialog openDialog = new OpenLogDialog(shell, fInputFile);
-					Display.getDefault().asyncExec(new Runnable() {
-						public void run() {
-							openDialog.create();
-							openDialog.open();
-						}
-					});
-				}
-				return Status.OK_STATUS;
-			}
-		};
-	}
-
-	protected File getLogFile() {
-		return fInputFile;
-	}
-
-	/**
-	 * Returns whether given session equals to currently displayed in LogView.
-	 * @param session LogSession
-	 * @return true if given session equals to currently displayed in LogView
-	 */
-	public boolean isCurrentLogSession(LogSession session) {
-		return isPlatformLogOpen() && (currentSession != null) && (currentSession.equals(session));
-	}
-
-	/**
-	 * Returns whether currently open log is platform log or imported file.
-	 * @return true if currently open log is platform log, false otherwise
-	 */
-	public boolean isPlatformLogOpen() {
-		return (fInputFile.equals(Platform.getLogFileLocation().toFile()));
-	}
-}
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogViewContentProvider.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogViewContentProvider.java
deleted file mode 100644
index ebaea00..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogViewContentProvider.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Jacek Pospychala <jacek.pospychala@pl.ibm.com> - bugs 202583,207344
- *******************************************************************************/
-package org.eclipse.ui.internal.views.log;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-public class LogViewContentProvider implements ITreeContentProvider {
-	private LogView logView;
-
-	public LogViewContentProvider(LogView logView) {
-		this.logView = logView;
-	}
-
-	public void dispose() { // do nothing
-	}
-
-	public Object[] getChildren(Object element) {
-		return ((AbstractEntry) element).getChildren(element);
-	}
-
-	public Object[] getElements(Object element) {
-		return logView.getElements();
-	}
-
-	public Object getParent(Object element) {
-		if (element instanceof LogSession) {
-			return null;
-		}
-		return ((AbstractEntry) element).getParent(element);
-	}
-
-	public boolean hasChildren(Object element) {
-		return ((AbstractEntry) element).getChildren(element).length > 0;
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // do nothing
-	}
-
-	public boolean isDeleted(Object element) {
-		return false;
-	}
-}
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogViewLabelProvider.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogViewLabelProvider.java
deleted file mode 100644
index 2c0284e..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/LogViewLabelProvider.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Jacek Pospychala <jacek.pospychala@pl.ibm.com> - bugs 202583, 207344, 207101
- *******************************************************************************/
-package org.eclipse.ui.internal.views.log;
-
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.viewers.ITableFontProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-
-public class LogViewLabelProvider extends LabelProvider implements ITableLabelProvider, ITableFontProvider {
-
-	private static int MAX_LABEL_LENGTH = 200;
-
-	private Image infoImage;
-	private Image okImage;
-	private Image errorImage;
-	private Image warningImage;
-	private Image errorWithStackImage;
-	private Image hierarchicalImage;
-	ArrayList consumers = new ArrayList();
-
-	private LogView logView;
-
-	public LogViewLabelProvider(LogView logView) {
-		errorImage = SharedImages.getImage(SharedImages.DESC_ERROR_ST_OBJ);
-		warningImage = SharedImages.getImage(SharedImages.DESC_WARNING_ST_OBJ);
-		infoImage = SharedImages.getImage(SharedImages.DESC_INFO_ST_OBJ);
-		okImage = SharedImages.getImage(SharedImages.DESC_OK_ST_OBJ);
-		errorWithStackImage = SharedImages.getImage(SharedImages.DESC_ERROR_STACK_OBJ);
-		hierarchicalImage = SharedImages.getImage(SharedImages.DESC_HIERARCHICAL_LAYOUT_OBJ);
-
-		this.logView = logView;
-	}
-
-	public void dispose() {
-		if (consumers.size() == 0) {
-			super.dispose();
-		}
-	}
-
-	public Image getColumnImage(Object element, int columnIndex) {
-		if (element instanceof Group) {
-			return (columnIndex == 0) ? hierarchicalImage : null;
-		}
-
-		LogEntry entry = (LogEntry) element;
-		if (columnIndex == 0) {
-			switch (entry.getSeverity()) {
-				case IStatus.INFO :
-					return infoImage;
-				case IStatus.OK :
-					return okImage;
-				case IStatus.WARNING :
-					return warningImage;
-				default :
-					return (entry.getStack() == null ? errorImage : errorWithStackImage);
-			}
-		}
-		return null;
-	}
-
-	public String getColumnText(Object element, int columnIndex) {
-		if ((element instanceof LogSession) && (columnIndex == 2)) {
-			LogSession session = (LogSession) element;
-			if (session.getDate() == null)
-				return ""; //$NON-NLS-1$
-
-			DateFormat formatter = new SimpleDateFormat(LogEntry.F_DATE_FORMAT);
-			return formatter.format(session.getDate());
-		}
-
-		if ((element instanceof Group) && (columnIndex == 0)) {
-			return element.toString();
-		}
-
-		if (element instanceof LogEntry) {
-			LogEntry entry = (LogEntry) element;
-			switch (columnIndex) {
-				case 0 :
-					if (entry.getMessage() != null) {
-						String message = entry.getMessage();
-						if (message.length() > MAX_LABEL_LENGTH) {
-							String warning = Messages.LogViewLabelProvider_truncatedMessage;
-							StringBuffer sb = new StringBuffer(message.substring(0, MAX_LABEL_LENGTH - warning.length()));
-							sb.append(warning);
-							return sb.toString();
-						}
-						return entry.getMessage();
-					}
-				case 1 :
-					if (entry.getPluginId() != null)
-						return entry.getPluginId();
-				case 2 :
-					return entry.getFormattedDate();
-			}
-		}
-
-		return ""; //$NON-NLS-1$
-	}
-
-	public void connect(Object consumer) {
-		if (!consumers.contains(consumer))
-			consumers.add(consumer);
-	}
-
-	public void disconnect(Object consumer) {
-		consumers.remove(consumer);
-		if (consumers.size() == 0) {
-			dispose();
-		}
-	}
-
-	public Font getFont(Object element, int columnIndex) {
-		if ((element instanceof LogSession) && (logView.isCurrentLogSession((LogSession) element))) {
-			return JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT);
-		}
-
-		return null;
-	}
-}
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/Messages.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/Messages.java
deleted file mode 100644
index ef4e4d6..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/Messages.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Jacek Pospychala <jacek.pospychala@pl.ibm.com> - bugs 202583, 207344
- *******************************************************************************/
-package org.eclipse.ui.internal.views.log;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-
-	public static String LogView_column_message;
-	public static String LogView_column_plugin;
-	public static String LogView_column_date;
-	public static String LogView_clear;
-	public static String LogView_clear_tooltip;
-	public static String LogView_copy;
-	public static String LogView_delete;
-	public static String LogView_delete_tooltip;
-	public static String LogView_export;
-	public static String LogView_exportLog;
-	public static String LogView_export_tooltip;
-	public static String LogView_import;
-	public static String LogView_import_tooltip;
-	public static String LogView_filter;
-	public static String LogView_readLog_reload;
-	public static String LogView_readLog_restore;
-	public static String LogView_readLog_restore_tooltip;
-	public static String LogView_show_filter_text;
-	public static String LogView_show_filter_initialText;
-
-	public static String LogView_SessionStarted;
-	public static String LogView_severity_error;
-	public static String LogView_severity_warning;
-	public static String LogView_severity_info;
-	public static String LogView_severity_ok;
-	public static String LogView_confirmDelete_title;
-	public static String LogView_confirmDelete_message;
-	public static String LogView_confirmOverwrite_message;
-	public static String LogView_operation_importing;
-	public static String LogView_operation_reloading;
-	public static String LogView_activate;
-	public static String LogView_AddingBatchedEvents;
-	public static String LogView_view_currentLog;
-	public static String LogView_view_currentLog_tooltip;
-	public static String LogView_properties_tooltip;
-
-	public static String LogView_FileCouldNotBeFound;
-	public static String LogView_FilterDialog_title;
-	public static String LogView_FilterDialog_eventTypes;
-	public static String LogView_FilterDialog_information;
-	public static String LogView_FilterDialog_warning;
-	public static String LogView_FilterDialog_error;
-	public static String LogView_FilterDialog_limitTo;
-	public static String LogView_FilterDialog_eventsLogged;
-	public static String LogView_FilterDialog_allSessions;
-	public static String LogView_FilterDialog_recentSession;
-	public static String LogView_GroupBy;
-	public static String LogView_GroupByNone;
-	public static String LogView_GroupByPlugin;
-	public static String LogView_GroupBySession;
-	public static String LogView_LogFileTitle;
-	public static String LogView_OpenFile;
-	public static String LogView_WorkspaceLogFile;
-
-	public static String LogViewLabelProvider_Session;
-	public static String LogViewLabelProvider_truncatedMessage;
-
-	public static String EventDetailsDialog_title;
-	public static String EventDetailsDialog_date;
-	public static String EventDetailsDialog_severity;
-	public static String EventDetailsDialog_message;
-	public static String EventDetailsDialog_exception;
-	public static String EventDetailsDialog_session;
-	public static String EventDetailsDialog_noStack;
-	public static String EventDetailsDialog_previous;
-	public static String EventDetailsDialog_next;
-	public static String EventDetailsDialog_copy;
-	public static String EventDetailsDialog_FilterDialog;
-	public static String EventDetailsDialog_ShowFilterDialog;
-
-	public static String FilterDialog_Add;
-	public static String FilterDialog_AddFilterTitle;
-	public static String FilterDialog_AddFliterLabel;
-	public static String FilterDialog_EnableFiltersCheckbox;
-	public static String FilterDialog_FilterShouldntContainSemicolon;
-	public static String FilterDialog_Remove;
-
-	public static String OpenLogDialog_title;
-	public static String OpenLogDialog_message;
-	public static String OpenLogDialog_cannotDisplay;
-
-	public static String ImportLogAction_noLaunchHistory;
-	public static String ImportLogAction_reloadWorkspaceLog;
-
-	private static final String BUNDLE_NAME = "org.eclipse.ui.internal.views.log.messages"; //$NON-NLS-1$
-
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-}
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/OpenIDELogFileAction.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/OpenIDELogFileAction.java
deleted file mode 100644
index 069018b..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/OpenIDELogFileAction.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views.log;
-
-import org.eclipse.core.filesystem.EFS;
-import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.*;
-import org.eclipse.ui.ide.IDE;
-
-/*
- * This action is used to Open the Log File from the LogView if both org.eclipse.ui.ide and 
- * org.eclipse.core.filesystem are available.  If both plugins are resolved, we will open
- * the log file through the IDE's file association preferences.  Otherwise, 
- * LogView.getOpenLogJob() is called to open the file.
- */
-public class OpenIDELogFileAction extends Action {
-
-	private LogView fView;
-
-	public OpenIDELogFileAction(LogView logView) {
-		fView = logView;
-	}
-
-	public void run() {
-		IPath logPath = new Path(fView.getLogFile().getAbsolutePath());
-		IFileStore fileStore = EFS.getLocalFileSystem().getStore(logPath);
-		if (!fileStore.fetchInfo().isDirectory() && fileStore.fetchInfo().exists()) {
-			IWorkbenchWindow ww = Activator.getDefault().getWorkbench().getActiveWorkbenchWindow();
-			IWorkbenchPage page = ww.getActivePage();
-			try {
-				IDE.openEditorOnFileStore(page, fileStore);
-			} catch (PartInitException e) { // do nothing
-			}
-		}
-	}
-
-}
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/OpenLogDialog.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/OpenLogDialog.java
deleted file mode 100644
index 7e77380..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/OpenLogDialog.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.views.log;
-
-import java.io.*;
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.*;
-
-/**
- * Displays the error log in non-Win32 platforms - see bug 55314.
- */
-public final class OpenLogDialog extends TrayDialog {
-	// input log file
-	private File logFile;
-	// location/size configuration
-	private IDialogSettings dialogSettings;
-	private Point dialogLocation;
-	private Point dialogSize;
-	private int DEFAULT_WIDTH = 750;
-	private int DEFAULT_HEIGHT = 800;
-
-	public OpenLogDialog(Shell parentShell, File logFile) {
-		super(parentShell);
-		this.logFile = logFile;
-		setShellStyle(SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MAX | SWT.MIN | SWT.MODELESS);
-
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on Window.
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(Messages.OpenLogDialog_title);
-		readConfiguration();
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		createButton(parent, IDialogConstants.CLOSE_ID, IDialogConstants.CLOSE_LABEL, true);
-	}
-
-	public void create() {
-		super.create();
-		// dialog location
-		if (dialogLocation != null)
-			getShell().setLocation(dialogLocation);
-		// dialog size
-		if (dialogSize != null)
-			getShell().setSize(dialogSize);
-		else
-			getShell().setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
-		getButton(IDialogConstants.CLOSE_ID).setFocus();
-	}
-
-	/*
-	 * (non-Javadoc) Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite outer = (Composite) super.createDialogArea(parent);
-		Text text = new Text(outer, SWT.MULTI | SWT.BORDER | SWT.READ_ONLY | SWT.V_SCROLL | SWT.NO_FOCUS | SWT.H_SCROLL);
-		text.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
-		GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
-		gridData.grabExcessVerticalSpace = true;
-		gridData.grabExcessHorizontalSpace = true;
-		text.setLayoutData(gridData);
-		text.setText(getLogSummary());
-		return outer;
-	}
-
-	private String getLogSummary() {
-		StringWriter out = new StringWriter();
-		PrintWriter writer = new PrintWriter(out);
-		if (logFile.length() > LogReader.MAX_FILE_LENGTH) {
-			readLargeFileWithMonitor(writer);
-		} else {
-			readFileWithMonitor(writer);
-		}
-		writer.close();
-		return out.toString();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
-	 */
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == IDialogConstants.CLOSE_ID) {
-			storeSettings();
-			close();
-		}
-		super.buttonPressed(buttonId);
-	}
-
-	//--------------- configuration handling --------------
-	/**
-	 * Stores the current state in the dialog settings.
-	 * 
-	 * @since 2.0
-	 */
-	private void storeSettings() {
-		writeConfiguration();
-	}
-
-	/**
-	 * Returns the dialog settings object used to share state between several
-	 * event detail dialogs.
-	 * 
-	 * @return the dialog settings to be used
-	 */
-	private IDialogSettings getDialogSettings() {
-		IDialogSettings settings = Activator.getDefault().getDialogSettings();
-		dialogSettings = settings.getSection(getClass().getName());
-		if (dialogSettings == null)
-			dialogSettings = settings.addNewSection(getClass().getName());
-		return dialogSettings;
-	}
-
-	/**
-	 * Initializes itself from the dialog settings with the same state as at the
-	 * previous invocation.
-	 */
-	private void readConfiguration() {
-		IDialogSettings s = getDialogSettings();
-		try {
-			int x = s.getInt("x"); //$NON-NLS-1$
-			int y = s.getInt("y"); //$NON-NLS-1$
-			dialogLocation = new Point(x, y);
-			x = s.getInt("width"); //$NON-NLS-1$
-			y = s.getInt("height"); //$NON-NLS-1$
-			dialogSize = new Point(x, y);
-		} catch (NumberFormatException e) {
-			dialogLocation = null;
-			dialogSize = null;
-		}
-	}
-
-	private void writeConfiguration() {
-		IDialogSettings s = getDialogSettings();
-		Point location = getShell().getLocation();
-		s.put("x", location.x); //$NON-NLS-1$
-		s.put("y", location.y); //$NON-NLS-1$
-		Point size = getShell().getSize();
-		s.put("width", size.x); //$NON-NLS-1$
-		s.put("height", size.y); //$NON-NLS-1$
-	}
-
-	// reading file within MAX_FILE_LENGTH size
-	void readFile(PrintWriter writer) throws FileNotFoundException, IOException {
-		BufferedReader bReader = new BufferedReader(new FileReader(logFile));
-		while (bReader.ready())
-			writer.println(bReader.readLine());
-	}
-
-	// reading large files
-	void readLargeFile(PrintWriter writer) throws FileNotFoundException, IOException {
-		RandomAccessFile random = null;
-		boolean hasStarted = false;
-		try {
-			random = new RandomAccessFile(logFile, "r"); //$NON-NLS-1$
-			random.seek(logFile.length() - LogReader.MAX_FILE_LENGTH);
-			for (;;) {
-				String line = random.readLine();
-				if (line == null)
-					break;
-				line = line.trim();
-				if (line.length() == 0)
-					continue;
-				if (!hasStarted && (line.startsWith("!ENTRY") || line.startsWith("!SESSION"))) //$NON-NLS-1$ //$NON-NLS-2$
-					hasStarted = true;
-				if (hasStarted)
-					writer.println(line);
-				continue;
-			}
-		} finally {
-			try {
-				if (random != null)
-					random.close();
-			} catch (IOException e1) { // do nothing
-			}
-		}
-	}
-
-	private void readLargeFileWithMonitor(final PrintWriter writer) {
-		IRunnableWithProgress runnable = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) {
-				monitor.beginTask(Messages.OpenLogDialog_message, IProgressMonitor.UNKNOWN);
-				try {
-					readLargeFile(writer);
-				} catch (IOException e) {
-					writer.println(Messages.OpenLogDialog_cannotDisplay);
-				}
-			}
-		};
-		ProgressMonitorDialog dialog = new ProgressMonitorDialog(getParentShell());
-		try {
-			dialog.run(true, true, runnable);
-		} catch (InvocationTargetException e) { // do nothing
-		} catch (InterruptedException e) { // do nothing
-		}
-	}
-
-	private void readFileWithMonitor(final PrintWriter writer) {
-		IRunnableWithProgress runnable = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) {
-				monitor.beginTask(Messages.OpenLogDialog_message, IProgressMonitor.UNKNOWN);
-				try {
-					readFile(writer);
-				} catch (IOException e) {
-					writer.println(Messages.OpenLogDialog_cannotDisplay);
-				}
-			}
-		};
-		ProgressMonitorDialog dialog = new ProgressMonitorDialog(getParentShell());
-		try {
-			dialog.run(true, true, runnable);
-		} catch (InvocationTargetException e) { // do nothing
-		} catch (InterruptedException e) { // do nothing
-		}
-	}
-}
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/SharedImages.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/SharedImages.java
deleted file mode 100644
index d417d5f..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/SharedImages.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Jacek Pospychala <jacek.pospychala@pl.ibm.com> - bug 202583
- *******************************************************************************/
-package org.eclipse.ui.internal.views.log;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-
-public final class SharedImages {
-
-	private SharedImages() { // do nothing
-	}
-
-	public final static String ICONS_PATH = "icons/"; //$NON-NLS-1$
-
-	private static final String PATH_OBJ = ICONS_PATH + "obj16/"; //$NON-NLS-1$
-	private static final String PATH_LCL = ICONS_PATH + "elcl16/"; //$NON-NLS-1$
-	private static final String PATH_LCL_DISABLED = ICONS_PATH + "dlcl16/"; //$NON-NLS-1$
-	private static final String PATH_EVENTS = ICONS_PATH + "eview16/"; //$NON-NLS-1$
-
-	/* Event Details */
-	public static final String DESC_PREV_EVENT = PATH_EVENTS + "event_prev.gif"; //$NON-NLS-1$
-	public static final String DESC_NEXT_EVENT = PATH_EVENTS + "event_next.gif"; //$NON-NLS-1$	
-
-	public static final String DESC_CLEAR = PATH_LCL + "clear.gif"; //$NON-NLS-1$
-	public static final String DESC_CLEAR_DISABLED = PATH_LCL_DISABLED + "clear.gif"; //$NON-NLS-1$
-	public static final String DESC_REMOVE_LOG = PATH_LCL + "remove.gif"; //$NON-NLS-1$
-	public static final String DESC_REMOVE_LOG_DISABLED = PATH_LCL_DISABLED + "remove.gif"; //$NON-NLS-1$
-	public static final String DESC_EXPORT = PATH_LCL + "export_log.gif"; //$NON-NLS-1$
-	public static final String DESC_EXPORT_DISABLED = PATH_LCL_DISABLED + "export_log.gif"; //$NON-NLS-1$
-	public static final String DESC_FILTER = PATH_LCL + "filter_ps.gif"; //$NON-NLS-1$
-	public static final String DESC_FILTER_DISABLED = PATH_LCL_DISABLED + "filter_ps.gif"; //$NON-NLS-1$
-	public static final String DESC_IMPORT = PATH_LCL + "import_log.gif"; //$NON-NLS-1$
-	public static final String DESC_IMPORT_DISABLED = PATH_LCL_DISABLED + "import_log.gif"; //$NON-NLS-1$
-	public static final String DESC_OPEN_LOG = PATH_LCL + "open_log.gif"; //$NON-NLS-1$
-	public static final String DESC_OPEN_LOG_DISABLED = PATH_LCL_DISABLED + "open_log.gif"; //$NON-NLS-1$
-	public static final String DESC_PROPERTIES = PATH_LCL + "properties.gif"; //$NON-NLS-1$
-	public static final String DESC_PROPERTIES_DISABLED = PATH_LCL_DISABLED + "properties.gif"; //$NON-NLS-1$
-	public static final String DESC_READ_LOG = PATH_LCL + "restore_log.gif"; //$NON-NLS-1$
-	public static final String DESC_READ_LOG_DISABLED = PATH_LCL_DISABLED + "restore_log.gif"; //$NON-NLS-1$
-
-	public static final String DESC_ERROR_ST_OBJ = PATH_OBJ + "error_st_obj.gif"; //$NON-NLS-1$
-	public static final String DESC_ERROR_STACK_OBJ = PATH_OBJ + "error_stack.gif"; //$NON-NLS-1$
-	public static final String DESC_INFO_ST_OBJ = PATH_OBJ + "info_st_obj.gif"; //$NON-NLS-1$
-	public static final String DESC_OK_ST_OBJ = PATH_OBJ + "ok_st_obj.gif"; //$NON-NLS-1$
-	public static final String DESC_WARNING_ST_OBJ = PATH_OBJ + "warning_st_obj.gif"; //$NON-NLS-1$
-	public static final String DESC_HIERARCHICAL_LAYOUT_OBJ = PATH_OBJ + "hierarchical.gif"; //$NON-NLS-1$
-
-	public static ImageDescriptor getImageDescriptor(String key) {
-		return Activator.getDefault().getImageRegistry().getDescriptor(key);
-	}
-
-	public static Image getImage(String key) {
-		return Activator.getDefault().getImageRegistry().get(key);
-	}
-
-}
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/TailInputStream.java b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/TailInputStream.java
deleted file mode 100644
index bb4fc25..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/TailInputStream.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.views.log;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.RandomAccessFile;
-
-public class TailInputStream extends InputStream {
-
-	private RandomAccessFile fRaf;
-
-	private long fTail;
-
-	public TailInputStream(File file, long maxLength) throws IOException {
-		super();
-		fTail = maxLength;
-		fRaf = new RandomAccessFile(file, "r"); //$NON-NLS-1$
-		skipHead(file);
-	}
-
-	private void skipHead(File file) throws IOException {
-		if (file.length() > fTail) {
-			fRaf.seek(file.length() - fTail);
-			// skip bytes until a new line to be sure we start from a beginnng of valid UTF-8 character
-			int c = read();
-			while (c != '\n' && c != 'r' && c != -1) {
-				c = read();
-			}
-
-		}
-	}
-
-	public int read() throws IOException {
-		byte[] b = new byte[1];
-		int len = fRaf.read(b, 0, 1);
-		if (len < 0) {
-			return len;
-		}
-		return b[0];
-	}
-
-	public int read(byte[] b) throws IOException {
-		return fRaf.read(b, 0, b.length);
-	}
-
-	public int read(byte[] b, int off, int len) throws IOException {
-		return fRaf.read(b, off, len);
-	}
-
-	public void close() throws IOException {
-		fRaf.close();
-	}
-
-}
diff --git a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/messages.properties b/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/messages.properties
deleted file mode 100644
index e161c5d..0000000
--- a/ui/org.eclipse.ui.views.log/src/org/eclipse/ui/internal/views/log/messages.properties
+++ /dev/null
@@ -1,90 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Jacek Pospychala <jacek.pospychala@pl.ibm.com> - bug 202583, 217201
-###############################################################################
-
-LogView_column_message = Message
-LogView_column_plugin = Plug-in
-LogView_column_date = Date
-LogView_clear = C&lear Log Viewer
-LogView_clear_tooltip = Clear Log Viewer
-LogView_copy = &Copy
-LogView_delete = &Delete Log
-LogView_delete_tooltip = Delete Log
-LogView_export = &Export Log...
-LogView_exportLog=Export Log
-LogView_export_tooltip = Export Log
-LogView_import = &Import Log...
-LogView_import_tooltip = Import Log
-LogView_filter = &Filters...
-LogView_readLog_reload = &Reload Workspace Log
-LogView_readLog_restore = &Restore Log
-LogView_readLog_restore_tooltip = Restore Log
-LogView_severity_error = Error
-LogView_SessionStarted=Session started 
-LogView_severity_warning = Warning
-LogView_severity_info = Info
-LogView_severity_ok = OK
-LogView_confirmDelete_title = Confirm Delete
-LogView_confirmDelete_message = Are you sure you want to permanently delete all logged events?
-LogView_confirmOverwrite_message = File " {0}" exists.  Would you like to overwrite it?
-LogView_operation_importing = Importing log...
-LogView_operation_reloading = Reloading...
-LogView_activate = &Activate on new events
-LogView_AddingBatchedEvents=Adding batched log events...
-LogView_view_currentLog = &Open Log
-LogView_view_currentLog_tooltip = Open Log
-LogView_properties_tooltip = Event Details
-LogView_show_filter_text=&Show text filter
-LogView_show_filter_initialText = type filter text
-
-LogView_FileCouldNotBeFound=The file "{0}" could not be found.
-LogView_FilterDialog_title = Log Filters
-LogView_FilterDialog_eventTypes = Event Types
-LogView_FilterDialog_information = &Information
-LogView_FilterDialog_warning = &Warning
-LogView_FilterDialog_error = &Error
-LogView_FilterDialog_limitTo = &Limit visible events to:
-LogView_FilterDialog_eventsLogged = Show events logged during:
-LogView_FilterDialog_allSessions = &All sessions
-LogView_FilterDialog_recentSession = &Most recent session
-LogView_GroupBy=Group By
-LogView_GroupByNone=None
-LogView_GroupByPlugin=Plug-in
-LogView_GroupBySession=Session
-LogView_LogFileTitle={0} [{1}]
-LogView_OpenFile=Open File
-LogView_WorkspaceLogFile=Workspace Log
-LogViewLabelProvider_truncatedMessage=... (Open log entry details for full message)
-LogViewLabelProvider_Session=Session
-
-EventDetailsDialog_title= Event Details
-EventDetailsDialog_date=Date:
-EventDetailsDialog_severity=Severity:
-EventDetailsDialog_message=Message:
-EventDetailsDialog_exception=Exception Stack Trace:
-EventDetailsDialog_session=Session Data:
-EventDetailsDialog_noStack = An exception stack trace is not available.
-EventDetailsDialog_previous=View Details Of Previous Event
-EventDetailsDialog_next=View Details Of Next Event
-EventDetailsDialog_copy=Copy Event Details To Clipboard
-EventDetailsDialog_FilterDialog=Filters
-EventDetailsDialog_ShowFilterDialog=Show Filter Dialog
-FilterDialog_Add=A&dd...
-FilterDialog_AddFilterTitle=Add filter
-FilterDialog_AddFliterLabel=Add stack trace filter:
-FilterDialog_EnableFiltersCheckbox=E&nable filters to hide stack trace elements
-FilterDialog_FilterShouldntContainSemicolon=A semicolon isn't a legal character within a filter
-FilterDialog_Remove=&Remove
-OpenLogDialog_title=Error Log
-OpenLogDialog_message=Opening log...
-OpenLogDialog_cannotDisplay=Log file cannot be displayed.
-ImportLogAction_reloadWorkspaceLog = &Workspace Log
-ImportLogAction_noLaunchHistory=(no logs available)
\ No newline at end of file